Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ROPE — إطار دفاعي يفرض سياسة أصل التوجيه (routed origin policy) لمنع حقن التعليمات غير المباشر في وكلاء نماذج اللغة الكبيرة (LLM) التي تستخدم الأدوات، مع فحوصات أصل حتمية وأطر اختبار معيارية لتقييم نجاح الهجوم والاحتفاظ بالفائدة. | Kitploit
أدوات/GitHubGitHub/xhowenma/rope
أدوات دفاعيةتحليل الثغرات الأمنيةالأوراق والأبحاثالتعلم والتعليمأمن الذكاء الاصطناعي
GitHubxhowenma/rope

ROPE

إطار دفاعي يفرض سياسة أصل التوجيه (routed origin policy) لمنع حقن التعليمات غير المباشر في وكلاء نماذج اللغة الكبيرة (LLM) التي تستخدم الأدوات، مع فحوصات أصل حتمية وأطر اختبار معيارية لتقييم نجاح الهجوم والاحتفاظ بالفائدة.

عرض المستودع
7منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

ROPE: فرض سياسة الأصل الموجَّه

الكود المصدري لورقتنا البحثية:

ROPE: فرض سياسة الأصل الموجَّه ضد حقن التعليمات غير المباشر بقلم Xinhang Ma، Chaowei Xiao، William Yeoh، Ning Zhang، Yevgeniy Vorobeychik

الملخص

حقن التعليمات غير المباشر (IPI) يزرع تعليمات في المحتوى الذي يقرؤه وكيل LLM المستخدم للأدوات، مما يوجّه الوكيل نحو استدعاءات أدوات ضارة. أقوى الدفاعات هي على مستوى النظام، وتعتمد على تقنيات مثل فحص الأدوات المشروط بالمهمة لمنع تنفيذ الأدوات الخبيثة، والتحكم في تدفق المعلومات لتجنب تنفيذ الأدوات بمعاملات غير موثوقة. ومع ذلك، كلما أصبحت الوكلاء أكثر قدرة، يفوض المستخدمون المزيد إلى الأتمتة. وبالتالي، فإن تسلسلات تنفيذ الأدوات وقيم المعاملات تُحدد بشكل متزايد في وقت التشغيل ولا يمكن فحصها بشكل موثوق باستخدام المعلومات الموجودة فقط في استعلام المستخدم دون خسارة كبيرة في الفائدة. نقدم ROPE (فرض سياسة الأصل الموجَّه)، الذي يرتكز على مفهوم بنيوي للثقة: لا يمكن أن تصل القيمة إلى أداة تغيّر الحالة إلا إذا كانت تعود بشكل غير قابل للتزوير إلى المستخدم، أو إلى مصدر سمّاه المستخدم صراحةً، أو إلى السجلات الرسمية الخاصة بالمستخدم. يكون الفرض بعد ذلك فحصًا حتميًا للأصل على مجموعة مدقَّقة من معاملات الأدوات الحساسة، والاعتماد الوحيد على نموذج اللغة يقتصر فقط على طلب المستخدم الموثوق، خارج متناول المهاجم. يوفّر نهجنا ضمانين قابلين للإثبات: 1) في كل خطوة من مسار التنفيذ، لا تصل أي قيمة مصدرها الوحيد محتوى قابل للكتابة من قبل المهاجم إلى معامل محمي بالأصل، و2) لا تؤدي أي إعادة صياغة للحقن إلى تغيير قرار القبول. من خلال تقييم تجريبي موسّع، نُظهر أنه عبر أربعة نماذج وكلاء على مجموعات مهام وكيل مفتوحة، يُبقي ROPE معدل نجاح الهجوم عند 1.6–2.6% مع الحفاظ على 82–100% من الفائدة النظيفة غير المدافعة، متجاوزًا بشكل كبير الدفاعات على مستوى النظام الأحدث في الفائدة مع تحقيق أمان مماثل أو أفضل على سير عمل ديناميكية معقدة. علاوة على ذلك، نُظهر أن تحسين الحقن ضد ROPE غير فعال إلى حد كبير، بينما تحقق الهجمات طويلة الأفق التي هزمت الدفاعات السابقة على مستوى النظام معدل نجاح صفري في حالتنا.

هيكل المستودع

الإعداد

Python 3.12 مع openai, pydantic, jsonschema, pyyaml (وgoogle-genai لمسار Gemini الأصلي). من جذر المستودع:

root@kitploit:~
export PYTHONPATH=$PWD/autodojo/src:$PWD/src

إعادة إنتاج الأرقام المبلغ عنها من السجلات المُرسلة (بدون الحاجة إلى وصول API)

root@kitploit:~
cd runs
python aggregate.py         # CU / UA / ASR لكل مجموعة + الإجماليات (كلا المعيارين)
python adaptive_rope.py     # ثابت مقابل تكيفي، CU/UA/ASR (هجوم AutoDojo، كلا المعيارين)
python longhorizon_rope.py  # طويل الأفق (حقن مهام AgentLAB)
python ablation.py          # استئصال السياسة: دائمًا محدد بالكامل / دائمًا مفتوح الإجراء
python router.py            # الموجّهات الأرخص، مع وبدون مشبك الفرض
python failures.py          # تعداد الفشل: كل نجاح هجوم متبقٍ + إخفاقات المهام النظيفة
python buckets.py           # جداول لكل فئة (فئة النقص في التحديد)
python router_deviation.py  # عدد التخفيف/التشديد لكل موجّه مقابل الحد الأدنى المدقَّق

يعيد كل برنامج نصي حساب جدوله من السجلات ويطبعه؛ ولا يحمل أي منها قيمًا متوقعة. buckets.py وrouter_deviation.py يحتاجان إلى ضبط PYTHONPATH كما هو مذكور أعلاه (يقرآن تعريفات المجموعات والنطاقات المخزنة مؤقتًا)؛ بينما يقرأ الباقي سجلات JSON المُرسلة فقط.

runs/<model>/<suite>/user_task_*/، وruns/ablation/<policy>/<suite>/user_task_*/ و runs/router/<router>[-clamp]/<suite>/user_task_*/ يحمل كل منها ملف JSON واحد لكل خلية مُقيَّمة: none/ (نظيف)، important_instructions/ (هجوم ثابت)، autodojo/ (هجوم تكيفي)، و agentlab_longhorizon/ (هجوم مرحلي طويل الأفق).

تصحيحات التقييم. ثلاثة أوراكل معيارية غير سليمة للدفاعات التي تمنع التنفيذ. runs/corrections.py يوزّع عمليات إعادة التقييم الثلاث المبنية على التأثير — slack IT5، dailylife IT7، github IT1 — وتطبقها المجمِّعات؛ وتوثّق سلسلة المستندات لكل وحدة القطع الأثري والإصلاح. لا يتم تعديل CU وUA أبدًا.

تشغيل الدفاع

root@kitploit:~
# تكوين النتيجة الرئيسية (موجّه opus مخزَّن مؤقتًا، مطابقة صارمة، غير مقيَّد):
python -m rope.run_eval --suite github --attack important_instructions
python -m rope.run_eval --suite github --attack none            # فائدة نظيفة
python -m rope.run_eval --suite github --defense passthrough    # خط أساس بدون دفاع

# الموجّهات الأرخص من دراسة الموجّه، مع تثبيتها اختياريًا على الحد الأدنى المدقَّق:
python -m rope.run_eval --suite github --router gemini-3-flash --clamp

# موجّه مباشر (إعادة حساب النطاق في وقت التشغيل مع أي نموذج متوافق مع OpenAI):
python -m rope.run_eval --suite github --router live --router-model openai/gpt-4o-mini --clamp

# هجوم تكيفي: إعادة تشغيل حقن AutoDojo المحسَّنة المخزنة مؤقتًا
AUTODOJO_CACHE=$PWD/autodojo/variant_generation/variants/github/openai/gpt-4o-mini/routed/injections.json \
  python -m rope.run_eval --suite github --attack autodojo

# هجوم طويل الأفق: إعادة تشغيل آثار AgentLAB المخزنة مؤقتًا (انظر agentlab/README.md)
python agentlab/run_eval.py --suite banking --user-task user_task_0 --injection-task injection_task_0

متغيرات البيئة: OPENROUTER_API_KEY (نموذج الوكيل والموجّه المباشر؛ جميع عمليات التشغيل المبلغ عنها تستدعي نماذج الوكلاء عبر OpenRouter)، ROPE_AGENT_MODEL (الافتراضي openai/gpt-4o-mini)، ROPE_PIPELINE_TAG لوسم سجلات التشغيل (يجب أن يحتوي على اسم نموذج AgentDojo حتى تتحلل قوالب الهجوم).

تجعل الموجّهات المخزنة مؤقتًا الدفاع حتميًا تمامًا وبدون API على جانب التوجيه: opus يغطي جميع المجموعات الست؛ gemini-3-flash وgpt-oss-20b يغطيان مجموعات AgentDyn (نطاق دراسة الموجّه). لتقييم الموجّه الخاص بك، خزّنه مؤقتًا مرة واحدة وأعد استخدامه كموجّه مدمج:

root@kitploit:~
python -m rope.cache_router --router my-router --router-model <llm-id> --suite github
python -m rope.run_eval     --router my-router --suite github --attack important_instructions

الإقرارات

يستند هذا المستودع أو يبني على: AgentDojo وAgentDyn (مجموعات المعايير)، وAutoDojo (الهجوم التكيفي)، وAgentLAB (معيار الاختبار طويل الأفق وآثار هجوم Task-Injection). راجع الأوراق المعنية للتفاصيل.

المراجع

إذا وجدت هذا العمل مفيدًا، نقدر لك الاستشهاد به:

root@kitploit:~
@article{rope,
  title={ROPE: Routed Origin Policy Enforcement against Indirect Prompt Injection},
  author={Ma, Xinhang and Xiao, Chaowei and Yeoh, William and Zhang, Ning and Vorobeychik, Yevgeniy},
  journal={arXiv preprint arXiv:2608.27496},
  year={2026}
}
تنزيل الأداة
المسارالمحتويات
src/rope/الدفاع: الموجّه، نطاق المهمة، مترجم السياسة، متتبع الأصل، حارس وقت التشغيل.
src/rope/scopes/_floor/<suite>.jsonجدول الأدوات/المعاملات الحساسة المدقَّق لكل مجموعة (مشترك بين جميع الموجّهات).
src/rope/scopes/<router>/<suite>.jsonنطاقات المهام المخزنة مؤقتًا للموجّهات الثلاثة المُقيَّمة (opus, gemini-3-flash, gpt-oss-20b) — إعادة تشغيل دون اتصال لمخرجات الموجّه في الورقة.
src/common/ذاكرة التخزين المؤقت لإكمال LLM المستخدمة من قبل الموجّه (استدعاءات المدخلات الموثوقة فقط).
autodojo/بيئة الاختبار الرئيسية والهجوم التكيفي: يدعم مباشرة جميع المجموعات الست المُقيَّمة: banking, slack, travel (ثلاث من أربع مجموعات AgentDojo) وgithub, shopping, dailylife (من AgentDyn).
agentlab/معيار الاختبار طويل الأفق: هجوم Task-Injection من AgentLAB وآثار هجماته المنشورة، بالإضافة إلى مشغّل إعادة التشغيل. انظر agentlab/README.md.
runs/سجلات تشغيل ROPE (JSON) لجميع نماذج الوكلاء الأربعة، بالإضافة إلى runs/ablation/ (ذراعا السياسة الثابتة) وruns/router/ (الموجّهات الأرخص، المقيَّدة وغير المقيَّدة)، والبرامج النصية التي تعيد حساب أرقام ROPE المبلغ عنها منها.