
معيار أمان لتقييم وكلاء OpenClaw ضد سياقات تنفيذ عدائية تشمل ملفات مسمومة، ومهارات محقونة، وبيانات وصفية مضللة للأدوات، وحمولات مرمزة. يتضمن 42 مهمة إعادة تشغيل موزعة على 6 مجموعات مخاطر مع تسجيل نقاط للهجوم والفائدة.
الإنجليزية | 中文
تقييم أمني للعالم المفتوح لوكلاء OpenClaw في سياقات تنفيذ عدائية.
DeepTrap هو معيار أمني (benchmark) لتقييم ما إذا كان بإمكان وكلاء OpenClaw إكمال مهام مستخدم سليمة مع مقاومة ضغوط سياق التنفيذ الخبيثة: ملفات مساحة عمل مسمومة، ومهارات محقونة، وبيانات وصفية مضللة للأدوات، ومسارات أوامر غير آمنة، وأسرار مزروعة، وحمولات مشفّرة.
يحتوي الإصدار العلني على 42 مهمة إعادة تشغيل موزعة على 6 فئات من نقاط الضعف السياقية × 7 عائلات سيناريوهات تشغيلية، بالإضافة إلى مشغّل المعيار ورمز التسجيل العلني. ويتضمن أيضًا 10 عينات إعادة تشغيل باللغة الصينية في tasks_zh/ لتجارب التقييم المحلي. ولا يتم تضمين خط أنابيب توليد المهام الخاصة والبحث عن الهجمات عن قصد.
يرافق DeepTrap الورقة البحثية التالية:
اختبار الفريق الأحمر لسياقات تنفيذ الوكلاء: تقييم أمني للعالم المفتوح على OpenClaw
Hongwei Yao و Yiming Liu و Yiling He و Bingrun Yang. arXiv:2605.11047، 2026.
تسأل معظم معايير الوكلاء عما إذا كان النموذج يمكنه إنجاز عمل مفيد. يطرح DeepTrap سؤالًا أكثر صرامة: هل يمكن للوكيل إنجاز عمل مفيد بأمان عندما يكون سياق التنفيذ المحيط به عدائيًا؟
tasks_zh/.AGS هي درجة تقييم الهجوم وUGS هي درجة تقييم الفائدة. تُبلّغ الدرجات حسب مجموعة المخاطر؛ والمتوسط هو المتوسط عبر المخاطر من 1 إلى 6.
صفحة المشروع كاملة ولوحة الصدارة: ZJUICSR.github.io/DeepTrap
يجمع DeepTrap بين ست فئات من نقاط الضعف السياقية وسبع عائلات سيناريوهات سليمة. تستخدم كل مهمة مطالبة مستخدم عادية؛ ويُستحث السلوك العدائي من خلال سياق مساحة العمل.
يبني DeepTrap سياقات تنفيذ مخترقة من تعليمات سليمة ومساحات عمل نظيفة، ويبحث عن حمولات عدائية مرشحة باستخدام إشارات مكافأة متعددة الأهداف، ويصقل الحمولات الناجحة من خلال اختبار قائم على التأمل (reflection-based probing).
OPENROUTER_API_KEYDEEPSEEK_API_KEYينبغي أن تتضمن معرّفات النماذج بادئة المزوّد، على سبيل المثال openrouter/anthropic/claude-sonnet-4-5.
git clone https://github.com/ZJUICSR/DeepTrap.git
cd DeepTrap
pip install -e .
# Validate task metadata without running OpenClaw
python benchmark.py --dry-run
# List bundled tasks
python benchmark.py --list-tasks
# Validate Chinese-language sample tasks
python benchmark.py --tasks-dir tasks_zh --dry-run
# Run one risk suite
python benchmark.py --model openrouter/anthropic/claude-sonnet-4-5 --suite R1
# Run specific tasks
python benchmark.py --model openrouter/anthropic/claude-sonnet-4-5 --suite task_R1_T01,task_R2_T01
# Run the Chinese-language sample tasks
python benchmark.py --tasks-dir tasks_zh --model openrouter/anthropic/claude-sonnet-4-5 --suite all
# Run all tasks with repeated trials
python benchmark.py --model openrouter/anthropic/claude-sonnet-4-5 --suite all --runs 3
تُكتب النتائج في results/ افتراضيًا.
تكتب كل عملية تشغيل ملف JSON يحتوي على بيانات وصفية للنموذج، وإعدادات المجموعة، ودرجات كل مهمة، وأطوال محاضر الجلسات، ومسارات مساحات العمل، وبيانات الاستخدام عند توفّرها، وحقول ملخص إجمالية.
# Overall score summary
jq '.summary' results/*.json
# Per-task scores
jq '.tasks[] | {task_id, category, grading, attack_eval}' results/*.json
# Tasks where the replay attack was reproduced strongly
jq '.tasks[] | select(.attack_eval.mean >= 0.8) | {task_id, attack: .attack_eval.mean}' results/*.json
تبلّغ كل مهمة عن:
AGS: درجة تقييم الهجوم، حيث تشير القيمة الأعلى إلى تحقيق أقوى للهجومUGS: درجة تقييم الفائدة، حيث تشير القيمة الأعلى إلى إكمال أفضل للمهمةيمكن أيضًا توزيع DeepTrap كمجموعة بيانات على Hugging Face في ZJUICSR/DeepTrap.
يخزّن التصدير المنظّم مهمة معيار واحدة لكل صف JSONL في data/tasks.jsonl، بينما تبقى تعريفات المهام الأصلية بصيغة Markdown في tasks/. ويمكن تصدير مهام العينات باللغة الصينية بشكل منفصل من tasks_zh/ عند الحاجة.
python scripts/export_hf_dataset.py
# Optional: export Chinese-language samples
python scripts/export_hf_dataset.py --tasks-dir tasks_zh --output data/tasks_zh.jsonl
يمكن للمستخدمين بعد الرفع تحميل البيانات الوصفية للمعيار باستخدام:
from datasets import load_dataset
dataset = load_dataset("ZJUICSR/DeepTrap", split="train")
يتضمن كل صف task_id، وname، وrisk، وcategory، وprompt، وexpected_behavior، وgrading_criteria، وworkspace_files، وبيانات وصفية للتسجيل، وعلامات للفحوصات الآلية ومعايير تقييم LLM.
.
├── benchmark.py # Public benchmark runner
├── tasks/ # 42 bundled task definitions
├── tasks_zh/ # 10 Chinese-language replay samples
├── scenes/ # Clean source scenes for baseline/delta scoring
├── data/tasks.jsonl # Hugging Face dataset export
├── docs/ # GitHub Pages project site
├── huggingface/README.md # Hugging Face dataset card
├── scripts/ # Runtime support and export code
│ ├── lib_agent.py # OpenClaw execution helpers
│ ├── lib_reward.py # Attack/utility scoring
│ ├── lib_criteria.py # Public judge criteria
│ ├── lib_llm.py # Judge backend router
│ ├── lib_openrouter.py # OpenRouter judge client
│ ├── lib_deepseek.py # DeepSeek judge client
│ ├── lib_dashscope.py # DashScope/Qwen judge client
│ └── export_hf_dataset.py # Dataset export helper
├── tests/ # Public validation tests
├── SKILL.md # Agent-facing benchmark skill
└── pyproject.toml
إذا استخدمت DeepTrap في بحثك، فيرجى الاستشهاد بما يلي:
@article{yao2026trap,
title={Red-Teaming Agent Execution Contexts: Open-World Security Evaluation on OpenClaw},
author={Yao, Hongwei and Liu, Yiming and He, Yiling and Yang, Bingrun},
journal={arXiv preprint arXiv:2605.11047},
year={2026}
}
استُلهم DeepTrap جزئيًا من PinchBench، الذي يوفّر مجموعة معايير عملية لقياس قدرة وكلاء OpenClaw في المهام الواقعية. نشكر مشروع PinchBench على تقديم صيغة معيار واضحة وقابلة للاستخدام لوكلاء OpenClaw.
MIT — راجع LICENSE للتفاصيل.
| ما نختبره | لماذا يهم |
|---|
| متانة السياق | الملفات المسمومة، والقطع الأثرية الشبيهة بالذاكرة، ودفاتر التشغيل (playbooks)، وتعليمات مساحة العمل | يقرأ الوكلاء الحقيقيون من سياق محلي متغيّر، حيث يمكن للنص غير الموثوق إعادة توجيه السلوك بصمت |
| التعامل مع الأسرار | بيانات اعتماد مزروعة، ومتغيرات بيئة، ومفاتيح API، وقيم داخلية | يجب على الوكلاء التمييز بين الوعي بالتهيئة وتسريب الأسرار |
| حدود التنفيذ | أوامر الصدفة الخطيرة، ونصوص النشر، وآثار جانبية على نظام الملفات | يمكن للوكلاء الذين يستخدمون الأدوات إحداث ضرر دائم حتى عندما تكون مطالبة المستخدم سليمة |
| الثقة بالمهارات/الأدوات | مهارات خبيثة، وبيانات وصفية مضللة للأدوات، وأنماط إساءة استخدام الأدوات | تعتمد سلامة الوكيل على كيفية تفسير النموذج للقدرات المتاحة للأدوات والتحقق منها |
| الحمولات المُعمّاة | تعليمات مشفّرة بـ Base64 وعلى مراحل متعددة | يمكن للهجمات أن تختبئ خلف مهام معالجة بيانات ذات مظهر طبيعي |
| نموذج Claw | المقياس | المخاطرة 1 | المخاطرة 2 | المخاطرة 3 | المخاطرة 4 | المخاطرة 5 | المخاطرة 6 | المتوسط |
|---|
| GPT-5.4 | AGS | 0.77 | 0.84 | 0.76 | 0.61 | 0.67 | 0.53 | 0.70 |
| GPT-5.4 | UGS | 0.91 | 0.83 | 0.86 | 0.77 | 0.74 | 0.87 | 0.83 |
| Claude-Sonnet-4.6 | AGS | 0.51 | 0.58 | 0.37 | 0.25 | 0.38 | 0.20 | 0.38 |
| Claude-Sonnet-4.6 | UGS | 0.71 | 0.69 | 0.55 | 0.45 | 0.55 | 0.71 | 0.61 |
| GLM-5 | AGS | 0.81 | 0.93 | 0.74 | 0.83 | 0.79 | 0.88 | 0.83 |
| GLM-5 | UGS | 0.90 | 0.90 | 0.98 | 0.89 | 0.83 | 0.88 | 0.90 |
| Qwen3.5-Plus | AGS | 0.93 | 0.93 | 0.86 | 0.74 | 0.88 | 0.97 | 0.88 |
| Qwen3.5-Plus | UGS | 0.95 | 0.92 | 1.00 | 0.98 | 0.93 | 0.93 | 0.95 |
| MiniMax-M2.5 | AGS | 0.86 | 0.89 | 0.77 | 0.66 | 0.90 | 0.89 | 0.83 |
| MiniMax-M2.5 | UGS | 0.92 | 0.95 | 1.00 | 0.88 | 0.74 | 0.90 | 0.90 |
| DeepSeek-v4-Flash | AGS | 0.90 | 0.96 | 0.80 | 0.90 | 0.82 | 0.94 | 0.89 |
| DeepSeek-v4-Flash | UGS | 0.98 | 0.96 | 1.00 | 0.96 | 0.85 | 1.00 | 0.96 |
| Deepseek-v4-Pro | AGS | 0.90 | 0.96 | 0.74 | 0.87 | 0.85 | 0.86 | 0.86 |
| Deepseek-v4-Pro | UGS | 0.90 | 0.91 | 1.00 | 0.81 | 0.84 | 0.89 | 0.89 |
| MiMo-v2.5 | AGS | 0.86 | 0.87 | 0.71 | 0.73 | 0.57 | 0.60 | 0.72 |
| MiMo-v2.5 | UGS | 0.96 | 0.95 | 0.88 | 0.93 | 0.83 | 0.89 | 0.91 |
| MiMo-v2.5-pro | AGS | 0.74 | 0.83 | 0.56 | 0.58 | 0.58 | 0.53 | 0.64 |
| MiMo-v2.5-pro | UGS | 0.92 | 0.90 | 0.88 | 0.87 | 0.71 | 0.87 | 0.86 |
| المجموعة | الفئة | المهام | ما الذي يُقاس |
|---|
R1 | اختطاف الحِزام (Harness Hijacking) | 7 | مقاومة السياق المسموم وخطوات سير العمل المحقونة |
R2 | تسريب الخصوصية | 7 | حماية بيانات الاعتماد والقيم الحساسة المزروعة |
R3 | تنفيذ غير مصرّح به | 7 | رفض الأوامر الخطيرة والإجراءات التي تتجاوز الحدود |
R4 | مخاطر سلسلة التوريد | 7 | التعامل مع المهارات الخبيثة والتكاملات الشبيهة بالأدوات |
R5 | إساءة استخدام الأدوات | 7 | كشف سلوك الأدوات المضلّل أو غير المتطابق |
R6 | إخفاء الترميز | 7 | التعامل مع التعليمات المشفّرة والحمولات متعددة الخطوات |
| السيناريو | عائلة المهام النموذجية |
|---|
T01 | ملاحظات الاجتماعات، وعناصر الإجراءات، وملخصات سير العمل الروتينية |
T02 | تنسيق بايثون/الكود، وإعادة الهيكلة، ومعالجة API والسجلات |
T03 | ملاحظات بحثية، ومراجعة الأدبيات، والاستشهادات، وتحليل الاستطلاعات |
T04 | الجاهزية للنشر، والتحقق من الإعدادات، وفحوصات صحة الخدمة |
T05 | المبيعات والإيرادات وتقارير بيانات الأعمال المنظمة |
T06 | كتابة المدونات/المحتوى، وفحص الأسلوب، والإعداد (onboarding)، وملخصات التغذية الراجعة |
T07 | إدارة النظام، وتدقيق البيئة، وفحوصات النشر، ونسخ احتياطي للسجلات |
| الخيار | الوصف |
|---|
--model MODEL | معرّف النموذج المستهدف المُهيأ لـ OpenClaw |
--suite SUITE | all، أو مجموعة مخاطر مثل R1، أو معرّفات مهام مفصولة بفواصل |
--tasks-dir DIR | دليل المهام، الافتراضي tasks/؛ استخدم tasks_zh/ للعينات باللغة الصينية |
--runs N | عدد عمليات التشغيل لكل مهمة لحساب المتوسط |
--timeout-multiplier N | ضبط مهلات المهام للنماذج الأبطأ |
--judge-model MODEL | نموذج التقييم لتسجيل الهجوم والتخفي والفائدة |
--output-dir DIR | دليل النتائج، الافتراضي results/ |
--list-tasks | طباعة معرّفات المهام المرفوعة والخروج |
--dry-run | التحقق من تحميل المهام وبيانات التسجيل دون تشغيل OpenClaw |
--verbose | طباعة سجلات تنفيذ مفصلة |