
الشيفرة والبيانات المشتقة والنتائج الخاصة بـ: تقييم الكواشف الأساسية للوكلاء LLM المختطفة في ظل الهجمات النادرة وتحوّل التوزيع
الشيفرة، والبيانات المشتقة، وملفات النتائج، وكل استدعاء لمراقب في الورقة البحثية لـ Mahmoud Abbasi (جامعة سلامنكا)، وJuan M. Núñez V. (معهد AIR، سلامنكا) وAmin Shahraki (جامعة أوسلو).
تقيّم الورقة الكواشف التي ترصد وكلاء LLM المختطفين من آثار استدعاءات الأدوات الخاصة بهم: الانحدار اللوجستي على السمات السلوكية والسمات المدمجة (LR-B، LR-C)، ونموذج تسلسلي GRU، ومحوّل (transformer) فوق تضمينات خطوات مجمّدة (SE)، ومرجع محتوى TF-IDF، ومراقب الإجراءات AlignmentCheck المُصدَر مع عمودين فقريين (MON-L، Llama 3.3 70B w4a16؛ MON-A، Claude Sonnet 5.5). يُجرى التقييم عند معدل انتشار هجوم مضبوط، وفي ظل تغطية أدوات متدرجة، وفي ظل تحولات على مستوى العالم والمهمة والمجال وعبر المعايير القياسية على AgentDrift و AgentDojo.
EXTENDED_REPORT.pdf هو التقرير الموسّع الذي تستشهد به الورقة. وهو النسخة الطويلة من هذا العمل (38 صفحة، النص
الرئيسي والملحق)، كُتب قبل انضمام المؤلف الثالث، ويعرض كل تحليل لُخّص في الورقة، وكل
خطة تحليل مع انحرافاتها، وجميع الجداول التكميلية.
| المسار | المحتويات |
|---|---|
EXTENDED_REPORT.pdf | التقرير الموسّع (انظر أعلاه) |
featurise.py، evalkit.py، gru_detector.py، baseline_drift.py | وحدات مشتركة: الميزات، والمقاييس والـ bootstrap، وشبكة GRU، ومراجع Markov وIsolation Forest |
agentdojo_extract.py | يستخرج آثار AgentDojo مع الاقتران الموضعي لنداءات الأدوات والملاحظات |
agentdojo_traces.jsonl، agentdojo_failed.jsonl | آثار AgentDojo المستخرجة (المجموعة P0، 392 حميدة و2,294 مخترقة) والهجمات غير الناجحة البالغ عددها 4,987 |
rerun_r1r3.py، ablation.py، world_disjoint_r1.py، r4_control.py، gru_ladder.py، gru_r3_diagnostic.py، pre_ablation_audit.py | سكربتات التجارب من الإصدار الأول، أُعيد تشغيلها على الاستخراج المصحّح، مع ملفات نتائجها (*.json) |
R4_CONTROL.md، PRE_ABLATION_DESIGN.md، GRU_PREREGISTRATION.md، REVISION_ANALYSIS_PLAN.md | خطط التحليل الداخلية الأربع للدراسات الأولى |
SENCODER_PREREGISTRATION.md، revision/sencoder_run/SENCODER_PREREGISTRATION.amendment*.md، SENCODER_RESULTS.md | خطة دراسة SE وتعديلاتها ونتائجها |
MONITOR_PREREGISTRATION.md، revision/monitor_run/MONITOR_PREREGISTRATION.*.md | خطة دراسة المراقب، وإصدارها الأول، والتعديلات من 1 إلى 4 |
revision/ | بانيات ذاكرة التنبؤ المؤقتة، ومجاري التحليل، وملفات نتائجها وملخصاتها، وDEVIATIONS.md، وRESULTS_SUMMARY.md، وPLAN_MANIFEST.txt (سجل بختم زمني يحوي SHA-256 لكل خطة ونتيجة) ودليل إعادة الإنتاج REPRODUCIBILITY.md |
revision/sencoder_*.py، revision/sencoder_results.json، revision/sencoder_summary.md، revision/sencoder_run/ | SE: سكربتات التضمين والتدريب والتحليل، والنتائج، وسجلات العنقود والبيانات الوصفية |
revision/monitor_render.py، monitor_score_vllm.py، monitor_score_api.py، monitor_detector.py، monitor_tables.py | دراسة المراقب: نداء AlignmentCheck واحد لكل خطوة وكيل، والتنقيط باستخدام vLLM (MON-L) وباستخدام واجهة الدفعات الخاصة بالمزوّد (MON-A)، والتحليل المجمّد وجداوله |
revision/monitor_results.json، revision/monitor_summary.md | نتائج تحليل المراقب المجمّد |
revision/monitor_run/ | كل نداء مراقب وكل مخرَج مراقب خام مع نتيجته (انظر revision/monitor_run/README.md) |
revision/cache/ | ملفات التحقق والملخص لذاكرات التنبؤ المؤقتة. أما التنبؤات والتضمينات المخزّنة نفسها (نحو 800 ميغابايت) فغير مضمّنة وتُعاد بناؤها بواسطة السكربتات |
paper/ | سكربتات تولّد كل جدول من ملفات النتائج، مع مخرجاتها: tables/ (الدراسات الأولى)، وtables_sencoder/ (يضيف SE) وtables_monitor/ (يضيف المراقب؛ وهذه هي جداول الورقة والتقرير الموسّع) |
paper_v06/make_figures_v06.py، paper_v06/fig_v06_* | أشكال الورقة |
MANUSCRIPT_SOURCE.*.md، SUPPLEMENT_SOURCE.*.md | مصادر التقرير الموسّع، التي يُدرج فيها paper/build_sencoder.py وpaper/build_monitor.py الجداول المولّدة |
archive_v0.3/ | النتائج واستخراج AgentDojo الأقدم من الإصدار الأول، محفوظة للمقارنات في التقرير الموسّع |
tests/ | اختبار وحدة لاستخراج AgentDojo |
THIRD_PARTY/ | تراخيص AgentDojo وماسح AlignmentCheck المضمّن (LlamaFirewall) |
حُسبت نتائج الكاشف باستخدام CPython 3.10.4 على وحدة معالجة مركزية. شُغّلت SE على عقدة واحدة من عنقود Slurm، وشُغّل MON-L
على بطاقة NVIDIA H100 80GB HBM3 واحدة مع vLLM 0.29.0 (الإصدارات في revision/monitor_run/mon_l/env.json).
pip install -r revision/requirements-lock.txt --extra-index-url https://download.pytorch.org/whl/cpu
السكربتات التي تقرأ المعايير الأصلية تتوقع متغيرين بيئيين يشيران إلى نسخ محلية.
git clone https://github.com/Asif-0209/AgentDrift && git -C AgentDrift checkout 014a514f
git clone https://github.com/ethz-spylab/agentdojo && git -C agentdojo checkout 089ed468
export AGENTDRIFT=$PWD/AgentDrift
export AGENTDOJO=$PWD/agentdojo
تُعاد الجداول والأشكال توليدًا من ملفات النتائج الموجودة في هذا المستودع. يستورد build_monitor.py وحدة تحليل المراقبة، التي تقرأ AGENTDRIFT عند استيرادها، لذا يجب تعيين ذلك المتغير.
cd paper
python gen_tables_v04.py # paper/tables/
python build_sencoder.py # paper/tables_sencoder/
python build_monitor.py # paper/tables_monitor/, the tables of the paper
cd ../paper_v06
python make_figures_v06.py # paper_v06/fig_v06_*.pdf and .png
تقوم سكربتات البناء هذان أيضًا بتجميع LaTeX للتقرير الموسّع من MANUSCRIPT_SOURCE.*.md و
SUPPLEMENT_SOURCE.*.md.
تتّبع إعادة تشغيل التجارب من المعايير ملف revision/REPRODUCIBILITY.md للكاشفات، وخطة SE
باستخدام revision/sencoder_run/ لـ SE، وخطة المراقبة باستخدام revision/monitor_run/README.md للمراقب.
<repo>،
أو $AGENTDRIFT، أو $AGENTDOJO، أو <local>. لم تتغيّر أي نتيجة رقمية. تشير قيم SHA-256 في PLAN_MANIFEST.txt و
repro_checks.json إلى الملفات كما كانت على جهاز التحليل، لذا فهي لا تطابق الملفات التي
استُبدل فيها مسار. كما جُعل revision/offline_driver.sh قابلًا للنقل. لم يُعدَّل أي سكربت Python، لذا
تحتفظ بعض السكربتات بمسار افتراضي محلي، تتجاوزه متغيرات البيئة.*.jsonl.gz) بمحتوى غير متغيّر،
لذا تنطبق قيم SHA-256 في بيانات النداءات الوصفية على الملفات بعد فك الضغط.LICENSE).revision/monitor_run/alignmentcheck_scanner.py مأخوذ من LlamaFirewall (Meta Platforms, Inc. و
الشركات التابعة لها)، ويُنشر بموجب رخصة MIT (انظر THIRD_PARTY/LlamaFirewall-LICENSE.txt).agentdojo_traces.jsonl وagentdojo_failed.jsonl وarchive_v0.3/agentdojo_traces.jsonl
وrevision/monitor_run/agentdojo_run_context.jsonl وملفات بيئة AgentDojo في revision/sencoder_run/ و
أجزاء AgentDojo من نداءات المراقب مستمدة من AgentDojo، الذي ينشره مؤلفوه بموجب رخصة
MIT (انظر THIRD_PARTY/AgentDojo-LICENSE.txt).revision/tool_state_annotation.json، والتقسيم المنفصل للمهام في
revision/monitor_run/agentdrift_taskdisjoint/ وأجزاء AgentDrift من نداءات المراقب، بموجب
CC BY 4.0 مع الإسناد إلى Pinjari وSaint-Germain، AgentDrift: A Step-Labeled Benchmark of
Injection-Hijacked LLM Agent Trajectories (2026)، https://github.com/Asif-0209/AgentDrift. وقد عُدّلت
بالاستخراج والتقسيم والتحويل إلى مطالبات المراقب.إذا استخدمت هذا الكود أو البيانات، فيرجى الاستشهاد بالورقة (انظر CITATION.cff). سيُضاف معرّف arXiv بمجرد
توفّر النسخة الأولية.