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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Manipulating-Web-Agents | Kitploit
أدوات/GitHubGitHub/sej2020/manipulating-web-agents
الاستغلالأمن الويبالأوراق والأبحاثالتعلم والتعليمأمن الذكاء الاصطناعيالهجوم العدائي
GitHubsej2020/manipulating-web-agents

Manipulating-Web-Agents

عرض المستودع
63منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

التلاعب بالوكلاء الويب المستقلين القائمين على LLM عبر هجمات حقن التعليمات غير المباشرة

مع انتشار التطبيقات المدمجة مع LLM، أصبح التحقيق في المخاطر الأمنية المحتملة أمرًا بالغ الأهمية. واحدة من أبرز الثغرات في هذه الأنظمة هي قابليتها للهجوم الخصومي عبر حقن التعليمات غير المباشر. في هذا المستودع، نعرض طريقة يمكن للجهة الخبيثة من خلالها توليد محفّز شامل يسمح لها بالتحكم في إجراءات وكيل تصفح ويب عن بُعد مشتق من نموذج LLM. نأمل أن يساعد عرض هذه المعلومات الممارسين على إدراك قابلية تعرضهم المحتملة، وأن يلهم الباحثين لتطوير وسائل حماية ضد الهجمات من هذا النوع.

الإعداد

بعد استنساخ هذا المستودع، الأوامر التالية ضرورية لإعداد بنية تصفح الويب من Browser Gym:

root@kitploit:~
conda create -n browser-gym
conda init
conda activate browser-gym
pip install browsergym-core
playwright install chromium
pip install transformers

قد تختلف التفاصيل حسب بيئة الحوسبة.

إذا كنت مهتمًا بتشغيل إجراء تحسين المحفّز الشامل، فسيتعين عليك توليد مجموعة بيانات من مواقع الويب وأهداف تصفح الويب. يمكن إنجاز ذلك باستخدام الأوامر المتوفرة في ملف src/actions/mask_dataset.py. ستحتاج أيضًا إلى إنشاء بعض مفاتيح API وتخزينها في بيئة آمنة.

  1. شغّل pip install python-dotenv ثم touch .env
  2. خزّن مفتاح OpenAI API في الملف، إلى جانب معلومات محرك بحث Google Programmable Search Engine. اتبع التعليمات الواردة في القسم الأول من هذا الرابط لإعداد محرك البحث الخاص بك. يجب أن يكون بناء جملة ملف '.env' الخاص بك كما يلي:
    root@kitploit:~
    OPENAI_API_KEY=<key>
    GOOGLE_API_KEY=<key>
    GOOGLE_ENGINE_NAME=<name>
    GOOGLE_CX=<engine ID>
    
  3. شغّل python -m src.dataset.actions.make_dataset get_webs حتى تحصل على عدد مناسب من ملفات website json في مجلد البيانات الخاص بك.
  4. شغّل python -m src.dataset.actions.make_dataset set_goals لتصفية ملفات json الخاصة بالمواقع المحظورة، وإعادة توازن فئات المواقع، وإرسال وظيفة دفعة إلى OpenAI API لتوليد كائنات الأهداف للمواقع المتبقية. يجب إضافة العلامة --n_batch_splits <int> إذا كان لديك أكثر من 10 آلاف ملف website json.
  5. عند تشغيل أمر set_goals، ستُطبع معرفات الدفعات الخاصة بك في الطرفية. شغّل python -m src.dataset.actions.make_dataset get_goals --batch_ids <batch ID 1> <batch ID 2> ... لكتابة كائنات الأهداف إلى ملفات website json المقابلة إذا كانت وظائف الدفعة مكتملة. قد تستغرق وظيفة الدفعة 24 ساعة حتى يكملها OpenAI، لذلك قد تضطر إلى الانتظار يومًا قبل أن ينجح تشغيل هذا الأمر.

تشغيل العرض التوضيحي 1

يعرض العرض التوضيحي رقم 1 كيف يمكن للمهاجم استضافة موقع ويب يحتوي على برمجيات خبيثة مضمّنة في رابط، وإجبار وكيل تصفح الويب على النقر على ذلك الرابط في كل مرة. يتم تخزين ملف website json ومحفّز للتحكم في مخرجات وكيل الويب في مجلد data/ ومجلد triggers/ على التوالي.

التحكم (Control)

سيؤدي تشغيل python -m src.attack.actions.run_demo إلى فتح متصفح يعرض صفحة ويب تجريبية وواجهة محادثة LLM. ستطلب منك واجهة محادثة LLM تقديم هدف لوكيل تصفح الويب. اكتب مهمة مثل "ابحث عن رحلة إلى شيكاغو" في النافذة. سيكمل الوكيل المهمة في التبويب الذي يعرض صفحة الويب التجريبية كما هو متوقع.

الهجوم (Attack)

شغّل python -m src.attack.actions.run_demo --trigger_json triggers/zzz_travel_ad_demo_1_trigger_uni_secondary.json لمهاجمة وكيل تصفح الويب في هذه المهمة. سيتم فتح متصفح يعرض صفحة الويب التجريبية وواجهة محادثة LLM كما في السابق، وكما في السابق، يرجى كتابة هدف في نافذة المحادثة. ستكون العملية مطابقة تمامًا لحالة التحكم، مع الاختلاف الوحيد أن المحفّز من ملف zzz_travel_ad_demo_1_trigger_uni_secondary.json سيُدرج في رابط مخفي على الموقع. يجب أن تلاحظ هذه المرة أن وكيل الويب يتجاهل التعليمات التي قدمتها وينقر على الإعلان في تذييل الصفحة!

تحسين المحفّز العدائي الخاص بك

لتحسين محفّز عدائي للتحكم في مخرجات وكيل تصفح الويب على موقع من اختيارك، يمكنك استخدام ملف find_narrow_trigger.py. بمجرد إنشاء ملف website json باستخدام أداة إنشاء مجموعة البيانات، يمكنك إدراج النص '{optim_str}' في مكان ما داخل شجرة ax_tree. يخبر هذا مكتبة nanogcg التي سنستخدمها بأنك ترغب في إدراج المحفّز في هذا المكان داخل الموقع.

  1. شغّل pip install nanogcg
  2. وافق على شروط الاستخدام لنماذج Llama/Mistral على Hugging Face وأنشئ رمز وصول في الإعدادات.
  3. أدخل '{optim_str}' في كائن ax_tree داخل ملف website data json الذي اخترته.
  4. شغّل python -m src.attack.actions.find_narrow_trigger. الخيارات والعلامات الخاصة بهذه الأداة الطرفية كما يلي:
root@kitploit:~
-h, --help            show this help message and exit
--json JSON           File and path for the JSON file to find a trigger for.
--target TARGET       The desired output when triggered.
--device DEVICE       Device to run the model on.
--trigger_length TRIGGER_LENGTH
--include_target, --no-include_target
--loss_fn {cw,mm,ce}
--search_width SEARCH_WIDTH
--top_k TOP_K
--model {mistral-7B,mistral-24B,llama2,llama3}
                    The model to use for generation.
--dtype DTYPE         Data type to use for the model.

لكي يعمل الهجوم في بيئتنا، يجب أن يكون هدف التحسين الخاص بك دالة في فضاء إجراءات تصفح الويب الخاص بـ Browser Gym. راجع ملف action_space.txt.

سيتم حفظ المحفّز المحسّن في ملف json داخل مجلد triggers/، بحيث يطابق اسم الملف ملف website data json المرافق. يمكنك استخدام هذا المحفّز لتشغيل العرض التوضيحي الخاص بك باستخدام أداة python -m src.attack.actions.run_demo مع العلامات المناسبة.

تنزيل الأداة