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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ai-ctf — منصة التقاط الأعلام (Capture-the-Flag) المحلية بالذكاء الاصطناعي مع دروس موجّهة حول حقن الأوامر (prompt injection)، وإساءة استخدام استدعاء الأدوات (tool-call abuse)، والاستخبارات مفتوحة المصدر (OSINT) ضد ستة شخصيات محادثة (chatbot personas) محاكاة. | Kitploit
أدوات/GitHubGitHub/mubix/ai-ctf
الاستخبارات مفتوحة المصدر (OSINT)جمع المعلوماتأمن الويبCTFاختبار الاختراقأمن سلسلة التوريدالتعلم والتعليمأمن الذكاء الاصطناعيمختبرات وتدريب عملي
GitHubmubix/ai-ctf

ai-ctf

منصة التقاط الأعلام (Capture-the-Flag) المحلية بالذكاء الاصطناعي مع دروس موجّهة حول حقن الأوامر (prompt injection)، وإساءة استخدام استدعاء الأدوات (tool-call abuse)، والاستخبارات مفتوحة المصدر (OSINT) ضد ستة شخصيات محادثة (chatbot personas) محاكاة.

18364منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

ai-ctf

AI Capture-the-Flag محلي مع دروس موجّهة للتقنيين الجدد في حقن الأوامر (prompt injection). يمكن للاعبين أيضًا استكشاف ست شخصيات ذكاء اصطناعي (إحداها مخفية) تحمي 20 علمًا عبر حقن الأوامر، وإساءة استخدام استدعاء الأدوات، والتلاعب بمنطق الأعمال، والبصمة في سلسلة التوريد، والاستطلاع على الويب، وOSINT.

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

Email Joe in Product Sales يضيف صندوق وارد محاكيًا وسطح مكتب بنمط Windows. اكتب بريدًا إلكترونيًا سيقرأه مساعد Joe، ثم شاهد ملخّص النموذج الفعلي والإجراءات المسجّلة. تغطي ثلاثة أهداف: موجز مبيعات مضلّل، والكشف عن ملف داخلي خيالي، وخصم غير مصرّح به. لا حاجة إلى خادم بريد، أو Windows، أو Wine، أو نموذج إضافي.


ما يوجد في الصندوق

root@kitploit:~
ai-ctf/
├── README.md                  ← you are here
├── LICENSE                    ← MIT
├── platform/                  ← everything that runs in Docker
│   ├── flags.toml             ← central config: edit this to customize flag values
│   ├── docker-compose.yml     ← three services: web, ollama, decoy
│   ├── Dockerfile             ← the web app image
│   ├── app/                   ← FastAPI source (config, personas, tools, chat)
│   ├── data/init.sql          ← SQLite schema + fake-employee seed data
│   ├── decoy/                 ← tiny nginx with two flag pages
│   └── scripts/
│       ├── apply_flags.py     ← stamps flags.toml values into static files
│       ├── render_secret.py   ← runs at container startup
│       └── dump_chats.py      ← exports the chat log as HTML (event-day tool)
├── external_artifacts/        ← what you push to GitHub / Gist / DNS
│   ├── README.md              ← setup checklist
│   ├── anvil_chatkit/         ← the fake supply-chain package
│   ├── gist_content.md        ← paste this into a public Gist
│   └── dns_records.txt        ← TXT record to add to your domain
└── docs/                      ← run-the-event paperwork
    ├── ANSWER_KEY.md          ← guided solutions + original 20-flag answers
    ├── CHEAT_SHEET.md         ← working solutions + tiered hints (GM only)
    ├── OPERATIONS.md          ← updates, backups, and troubleshooting
    ├── SETUP_RUNBOOK.md       ← week-of, step-by-step
    └── EVENT_DAY_NOTES.md     ← briefing script + troubleshooting

استخدم البدء السريع أدناه للمسار الموجّه. يغطي دليل التشغيل التحديثات، والنسخ الاحتياطي، والاستعادة، وفحوصات ما قبل الحدث. يصف مفتاح الإجابات، وورقة الغش، ودليل الإعداد، وملاحظات الحدث تنسيق CTF الأصلي الاختياري.


المتطلبات

  • Docker + Docker Compose (Compose v2).
  • ذاكرة RAM كافية للنموذج المُهيّأ، والتطبيق، ونظام التشغيل، وأحمال العمل الأخرى. حجم تنزيل النموذج الافتراضي حوالي 4.7 GB؛ وهذا ليس إجمالي متطلبات ذاكرته أثناء التشغيل. تعتمد السعة على العتاد والنموذج؛ تحقق منها مع العدد المقصود من اللاعبين قبل الحدث.
  • Python 3.11+ على المضيف (يُستخدم فقط لسكربتات المساعدة apply_flags.py و dump_chats.py — التطبيق نفسه يعمل داخل Docker).
  • exiftool (مطلوب فقط إذا غيّرت علم EXIF وأردت أن يعيد apply_flags.py ختم الشعار).
  • اتصال بالإنترنت أثناء البناء (من أجل pip install وسحب نموذج Ollama). بعد ذلك تعمل الحزمة المحلية الأساسية دون اتصال. سلسلة OSINT الخارجية الاختيارية تحتاج إلى اتصال بالإنترنت.

البدء السريع

root@kitploit:~
git clone https://github.com/mubix/ai-ctf.git
cd ai-ctf/platform

# 1. Session secret
echo "SESSION_SECRET=$(python3 -c 'import secrets; print(secrets.token_hex(32))')" > .env

# 2. (Optional) Customize flag values — see "Customizing the flags" below.
#    Default values work fine for a smoke test.

# 3. Build and start
docker compose build
docker compose up -d ollama
docker compose exec ollama ollama pull qwen2.5:7b-instruct-q4_K_M
docker compose up -d

# 4. Open the platform
open http://localhost:18080/    # or your-machine-ip:18080 on another laptop

سجّل اسم مستخدم؛ تولّد المنصة كلمة مرور من 12 حرفًا وتعرضها مرة واحدة. احفظها لاحقًا. يتم تسجيل دخولك تلقائيًا ويمكنك اختيار Start learning. يمكن للاعبين العائدين تسجيل الدخول لاستئناف تقدمهم المحفوظ.

اسم مشروع Compose هو ai-ctf وله شبكته وحجم النموذج الخاص به. واجهة الويب فقط هي التي تنشر منفذًا على المضيف: 18080 افتراضيًا. اضبط CTF_WEB_PORT في platform/.env لاختيار منفذ آخر. لا ينشر Ollama ولا الـ decoy أي منافذ على المضيف؛ يتصل التطبيق بحاوية Ollama الخاصة به. لا يوجد تمرير GPU مُهيّأ. لا تزال وحدة المعالجة المركزية والذاكرة مشتركتين مع أحمال العمل الأخرى على المضيف.

عند ترقية حزمة أُنشئت تحت اسم مشروع Compose مختلف، احتفظ بذلك الاسم عبر docker compose -p YOUR_EXISTING_PROJECT ... لإعادة استخدام حاوياته وحجم النموذج. تغيير أسماء المشاريع ينشئ حزمة منفصلة.

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

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

يتوفر سيناريو البريد الإلكتروني من All lessons → Email Joe. يستخدم مستكشف الملفات مسارات مألوفة مثل C:\Users\Joe\Documents\Sales؛ وهي تشير إلى تجهيزات في الذاكرة ولا تصل أبدًا إلى نظام ملفات المضيف. يحصل كل بريد إلكتروني على ملفات خيالية جديدة، وصندوق صادر، وسجل مبيعات. تُوسَم أحداث القصة بشكل منفصل عن نشاط النموذج والأدوات المرصود. تتطلب أهداف الكشف عن الملفات وتغيير السجلات إجراءات منفّذة، وليس مجرد ادعاء في الملخّص. فعّل Enforce Joe's tool permissions لإعادة تشغيل أي من هدفي الأدوات مع فحوصات التطبيق، ثم أرسل مثالًا نظيفًا لفحص الاستخدام الطبيعي. تُحفظ المحاولات، والتلميحات، واستخدام المثال المحلول، والتقدم.

بالنسبة لتثبيت قائم، تتطلب تغييرات التطبيق/القوالب إعادة بناء صورة الويب؛ إعادة التشغيل وحدها لا تنسخ الكود المحدّث:

root@kitploit:~
cd platform
docker compose up -d --build web

تُنشأ جداول الدروس عند بدء التشغيل دون حذف الحسابات أو سجل المحادثات الحالي. اتبع دليل التشغيل لعمل نسخة احتياطية من تثبيت قائم قبل التحديث وتحقق من قدرة اللاعبين على استئناف دروسهم بعد ذلك.

تحتوي المنصة ذاتيًا على 16 من أصل 20 علمًا. تتطلب الأعلام الأربعة المتبقية (#14–17) بنية تحتية خارجية تدفعها بنفسك — راجع external_artifacts/README.md. تخطَّ هذه الخطوة إذا كنت تريد فقط النصف الموجود داخل المنصة.


تخصيص الأعلام

توجد جميع قيم الأعلام العشرين في ملف واحد: platform/flags.toml. حرّر القيم هناك لإعطاء حدثك طابعه الخاص (رموز flag{adjective_noun} مختلفة، وكود قسيمة مختلف، وراتب CEO مختلف، إلخ).

بعد التحرير:

root@kitploit:~
cd platform
python3 scripts/apply_flags.py        # stamps values into static files
docker compose up -d --build web decoy # copies updated assets into the images

يحدّث apply_flags.py الملفات التي لا يحمّلها Python أثناء التشغيل:

  • data/init.sql (راتب CEO، العلم #4)
  • decoy/html/private/index.html و decoy/html/internal-tools/index.html
  • بيانات EXIF الوصفية لـ app/static/logo.jpg (العلم #20 — يحتاج exiftool في PATH)
  • ملفات external_artifacts/ (README الخاص بـ chatkit، ومحتوى gist، وسجل DNS، ورسالة commit الخاصة بـ setup-history.sh)

بعد تغيير أي قيم أعلام، حدّث أيضًا docs/ANSWER_KEY.md لتتطابق ورقة التحقق لديك.

إعادة البناء لا تحدّث صفوف الموظفين الموجودة بالفعل في قاعدة بيانات SQLite: تستخدم البذرة INSERT OR IGNORE. لا يزال تغيير راتب CEO في حدث قائم يتطلب ترحيلًا موجّهًا للتجهيزات. لا تحذف قاعدة بيانات اللاعبين لتطبيق ذلك التغيير.

إذا أردت إضافة أعلام أو إزالتها بالكامل (تغيير الشخصيات الموجودة، وإسقاط السلسلة الخارجية، وإضافة أداة جديدة)، فحرّر platform/app/personas/__init__.py و platform/app/tools.py مباشرة. لا توجد لغة DSL — الشخصيات هي اللعبة نفسها.


مقابض الصعوبة

  • خفّف مطالبات الشخصيات (platform/app/personas/__init__.py) — عبارات حواجز أقل، وأسطر "NEVER" أقل، وأمثلة رفض صريحة أقل. يرتفع معدل نجاح اللاعبين من المحاولة الأولى.
  • غيّر النموذج — حرّر OLLAMA_MODEL في docker-compose.yml، واسحب ذلك النموذج، وشغّل docker compose up -d web لتطبيق الإعداد. حجم النموذج وحده لا يحدد الصعوبة. أعد فحص المهام العادية، والأمثلة المحلولة، واستدعاءات الأدوات الأصلية، واستجابات الإجراءات المهيكلة باستخدام فحوصات ما قبل الحدث.

ما يفعله اللاعبون فعليًا

  • بوت Customer Service — استخرج مطالبة النظام؛ واعثر على قسيمة مدير مخفية.
  • بوت HR — استخرج رواتب الموظفين الآخرين؛ واستدرج خطأ SQL يسرّب معلومات المخطط.
  • بوت Code Review — ضمّن حقن الأوامر في تعليقات الكود وسلاسل التوثيق لاستخراج أسرار الإنتاج.
  • بوت Checkout — أقنعه بإنشاء طلب بقيمة $0، ثم طلب بإجمالي سالب.
  • بوت Web Retrieval — اهرب من قائمة URL المسموح بها؛ ووصل إلى مضيف LAN داخلي؛ وأطلق LFI عبر file:// من خلال LLM.
  • الشخصية السادسة المخفية — اكتشفها عبر أدلة من البوتات الأخرى / الاستطلاع.
  • الاستطلاع على الويب — ترويسات HTTP، وrobots.txt، وبيانات EXIF الوصفية.
  • OSINT سلسلة التوريد — بصم المنصة من الترويسات، واعثر على مستودع GitHub، ونقّب في سجل الـ commits، وتابع الروابط إلى Gist عام، واستعلم DNS.

كتالوج الهجمات الأصلي وأمثلة المطالبات التاريخية موجودة في docs/CHEAT_SHEET.md.


تشغيل الحدث

docs/SETUP_RUNBOOK.md هو قائمة التحقق الخاصة بأسبوع الحدث (البناء → التجهيزات الخارجية → التشغيل التجريبي → يوم الحدث). يحتوي docs/EVENT_DAY_NOTES.md على سكربت إحاطة اللاعبين، وكتالوج التلميحات المتدرّجة، وجدول استكشاف الأخطاء وإصلاحها.

لتحليل يوم الحدث — "من حلّ ماذا فعليًا؟" — شغّل platform/scripts/dump_chats.py مقابل قاعدة بيانات SQLite المرتبطة، لإنتاج تقرير HTML مكتفٍ ذاتيًا مع شرائح كشف الأعلام لكل رسالة. هذه مطابقات جزئية للنص، وليست دليلًا على أن مساعدًا أفصح عن سر أو نفّذ أداة. تحتفظ الدروس الموجّهة بسجلات إكمالها المتحقَّق منها الخاصة.

يتم تجاهل تصدير ctf_log.html الافتراضي، وبيانات التشغيل، وملفات البيئة المحلية، وأرشيفات الإصدارات بواسطة Git. احتفظ بالتصديرات ذات الأسماء المخصصة ونسخ النشر الاحتياطية خارج مجلد الاستنساخ أو في دليل platform/data/ المتجاهَل. يجب أن تبقى سجلات اللاعبين، وبيانات الاعتماد، وتصديرات المحادثات خاصة.


الترخيص

MIT. راجع LICENSE.


شكر وتقدير

أنشأه Rob Fuller (mubix) لتدريب عملي في أمن الذكاء الاصطناعي. الكود مولّد بالذكاء الاصطناعي إلى حد كبير؛ وقرارات التصميم والمحتوى مملوكة لإنسان.

تنزيل الأداة