
AttackGen هي أداة اختبار للاستجابة للحوادث في مجال الأمن السيبراني، تستفيد من قوة نماذج اللغات الكبيرة وإطار عمل MITRE ATT&CK الشامل. تولّد الأداة سيناريوهات استجابة للحوادث مصممة خصيصاً بناءً على مجموعات الجهات الفاعلة في التهديدات التي يختارها المستخدم وتفاصيل مؤسستك.
AttackGen هي أداة لاختبار الاستجابة للحوادث السيبرانية تستفيد من قوة نماذج اللغة الكبيرة وأُطر MITRE ATT&CK وATLAS الشاملة. تولّد الأداة سيناريوهات استجابة للحوادث مصمّمة خصيصًا بناءً على مجموعات الجهات الفاعلة المهددة التي يختارها المستخدم، ودراسات حالة الهجمات بالذكاء الاصطناعي، وتفاصيل مؤسستك.
إذا وجدت AttackGen مفيدة، يرجى التفكير في منح نجمة للمستودع على GitHub. يساعد هذا في اكتشاف المزيد من الأشخاص للأداة. دعمك محل تقدير كبير! ⭐

streamlit, litellm, mitreattack-python, pandas (انظر requirements.txt للحصول على القائمة الكاملة)../data/)، لذا لا يلزم تنزيل يدوي (انظر إعداد البيانات)..env لتخزين مفاتيح API والأسرار (انظر قسم التثبيت للحصول على التفاصيل).انتقل إلى الدليل الخاص بالمستودع المستنسخ:```
cd attackgen
### الخيار 2: استخدام Docker
1. اسحب صورة حاوية Docker من Docker Hub:```
docker pull mrwadams/attackgen
إذا كنت ترغب في استخدام LangSmith لتصحيح الأخطاء والاختبار ومراقبة أداء النموذج، فستحتاج إلى إنشاء حساب LangSmith وإنشاء ملف .streamlit/secrets.toml يحتوي على مفتاح LangChain API الخاص بك. يرجى اتباع التعليمات هنا لإعداد حسابك والحصول على مفتاح API الخاص بك. ستجد ملف secrets.toml-example في دليل .streamlit/ يمكنك استخدامه كقالب لملف secrets.toml الخاص بك.
إذا كنت لا ترغب في استخدام LangSmith، فلا يزال يتعين عليك وجود ملف .streamlit/secrets.toml في مكانه، ولكن يمكنك ترك حقل LANGCHAIN_API_KEY فارغًا.
مجموعات بيانات MITRE ATT&CK (Enterprise + ICS) وATLAS التي يحتاجها AttackGen ملتزمة في المستودع تحت ./data/، لذا فإن الاستنساخ الجديد جاهز للتشغيل دون أي خطوة تنزيل إضافية. تتضمن هذه الملفات enterprise-attack.json وics-attack.json وstix-atlas.json وgroups.json وgroups_ics.json وatlas-case-studies.json.
إذا كنت تريد تحديثها إلى أحدث إصدار من المصدر، يمكنك إعادة تنزيل حزم STIX من مستودع بيانات MITRE ATT&CK STIX (ومستودع بيانات ATLAS) واستبدال الملفات في ./data/.
بعد إعداد البيانات، يمكنك تشغيل AttackGen باستخدام الأمر التالي:``` streamlit run 00_👋_Welcome.py
يمكنك أيضًا تجربة التطبيق على [Streamlit Community Cloud](https://attackgen.streamlit.app/).
## خادم MCP
يأتي AttackGen مع خادم [MCP](https://modelcontextprotocol.io/) بحيث يمكن لسير العمل الوكيل (Claude Code، Claude Desktop، Cursor، وعملاء MCP الآخرين) تشغيل توليد السيناريوهات دون واجهة Streamlit. يكشف الخادم عن **مستويين من الأدوات**:
- **أدوات البيانات — بدون مفتاح API، وبدون استدعاء LLM.** تعرض هذه الأدوات بيانات MITRE الخاصة بـ AttackGen: قائمة مجموعات التهديد / دراسات حالة ATLAS، تحليل سلسلة القتل لمجموعة، بناء تقرير الاستجابة والكشف لفريق الأرجواني، إنتاج طبقة ATT&CK Navigator، وسرد خيارات التهديد الداخلي للذكاء الاصطناعي. يُرجع `list_ai_insider_options` كل قالب بدء سريع مع التحديدات والموجز السردي الذي يطبقه، بحيث يمكن استدعاء `get_ai_insider_prompt` / `generate_ai_insider_scenario` فقط باستخدام `template=` بالإضافة إلى صناعتك وحجم شركتك. حيثما كان ذلك مفيدًا، تُرجع هذه الأدوات أيضًا موجهًا جاهزًا للتشغيل، بحيث **يمكن لنموذج عميلك الخاص** كتابة السيناريو — مما يعني أنها تعمل حتى لو لم يكن لديك مفتاح API منفصل لمزود. هذا هو السطح الآمن للاستضافة عبر HTTP.
- **أدوات التوليد — أحضر مفتاحك الخاص.** تستدعي `generate_threat_group_scenario` و`generate_custom_scenario` و`generate_ai_insider_scenario` خادم LLM من جانب الخادم وتُرجع سيناريو Markdown مكتملًا. يتم توفير المزود والنموذج والمفتاح لكل استدعاء؛ إذا حذفت `api_key`، يتراجع LiteLLM إلى متغير البيئة المطابق (`OPENAI_API_KEY`، `ANTHROPIC_API_KEY`، …) — أي **مفتاحك الخاص**. نظرًا لأن هذه الأدوات تقرأ بيانات الاعتماد من بيئة العملية، أبقِها على **stdio محلي** ولا تعرضها على مضيف مشترك.
### التثبيت والتشغيل
يتم تضمين تبعية `mcp` في `requirements.txt`. ثبّت المشروع (التثبيت القابل للتحرير يمنحك أيضًا سكربت وحدة التحكم `attackgen-mcp`):```
pip install -r requirements.txt
# optional, for the console script:
pip install -e .
أطلق الخادم (stdio):``` python -m mcp_server # or: attackgen-mcp
### إضافته إلى عميل
**Claude Code:**```
claude mcp add attackgen -- python -m mcp_server
Claude Desktop (claude_desktop_config.json) — المفاتيح تُوضع في env:```json
{
"mcpServers": {
"attackgen": {
"command": "python",
"args": ["-m", "mcp_server"],
"cwd": "/absolute/path/to/attackgen",
"env": {
"OPENAI_API_KEY": "sk-...",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
يمكنك ضبط `ATTACKGEN_PROVIDER` و`ATTACKGEN_MODEL` في `env` لمنح أدوات التوليد مزوّدًا/نموذجًا افتراضيًا حتى لا يضطر المتصلون إلى تمريرها في كل مرة. يتم تحميل حزم MITRE الثقيلة بشكل كسول عند أول استدعاء لأداة البيانات، لذا يبدأ الخادم فورًا.
## مهارات الوكيل
مقترنًا بخادم MCP توجد **[مهارة وكيل](https://github.com/mrwadams/attackgen/blob/main/skills)**، وهي `attackgen-tabletop`، تحوّل بيانات AttackGen إلى تمرين استجابة للحوادث جاهز للميسّر.
بالنظر إلى مجموعة تهديد أو دراسة حالة ATLAS، تنتج المهارة تمرينًا كاملًا / قائمة أحداث السيناريو الرئيسية (MSEL) — سرد السيناريو، وسلسلة القتل المخطّطة حسب المراحل، والحقن المختومة بالطوابع الزمنية، وأسئلة النقاش وفق NIST SP 800-61، وبطاقة أداء لتغطية الكشف — بصيغة Markdown أو تقرير HTML مستقل قابل للطباعة.
كما تغطي مسار **التهديد الداخلي للذكاء الاصطناعي**: عندما يكون الخصم وكيل ذكاء اصطناعي متقدمًا منتشرًا داخل المؤسسة، تعمل المهارة من `list_ai_insider_options` و`get_ai_insider_prompt` بدلًا من سلسلة القتل. يحافظ التمرين على نفس الشكل المكوّن من ستة أقسام، لكن عموده الفقري هو نطاق تهديد STRIDE والنموذج المعماري للنشر، وتُقيَّم بطاقة أداء الكشف مقابل وضعية الكشف لذلك النموذج المعماري، وتصبح `required_decisions` الخاصة بالقالب أسئلة نقاش إلزامية.
تقسيم العمل مقصود: **أدوات البيانات** في MCP توفّر الحقائق (كل تقنية أو معرّف STRIDE يعود إلى نتيجة أداة) والمهارة توفّر حِرفة التمرين، لذا يعمل على نموذج العميل الخاص بك **بدون مفتاح API إضافي**. اربط خادم MCP (أعلاه)، ثم وجّه عميلًا يدعم المهارات مثل Claude Code أو Claude Desktop إلى دليل [`skills/`](https://github.com/mrwadams/attackgen/blob/main/skills). راجع [`skills/README.md`](https://github.com/mrwadams/attackgen/blob/main/skills/README.md) لمواقع التثبيت والتفاصيل الخاصة بكل عميل.
## الاستخدام
### تشغيل AttackGen
#### الخيار 1: تشغيل تطبيق Streamlit محليًا
1. شغّل تطبيق Streamlit:```
streamlit run 00_👋_Welcome.py
سيقوم هذا الأمر بتشغيل الحاوية وتعيين المنفذ 8501 (الافتراضي لتطبيقات Streamlit) من الحاوية إلى جهازك المضيف.
2. افتح متصفح الويب وانتقل إلى `http://localhost:8501`.
3. استخدم التطبيق لإنشاء سيناريوهات استجابة للحوادث قياسية أو مخصصة (انظر التفاصيل أدناه).
### إنشاء السيناريوهات
#### إنشاء سيناريو قياسي
1. اختر ما إذا كنت تريد استخدام OpenAI API أو Anthropic API أو Google AI API أو Mistral API أو Groq API أو نقطة نهاية مخصصة متوافقة مع OpenAI (لـ Ollama أو LM Studio أو نشر Azure OpenAI أو OpenRouter وما إلى ذلك).
2. أدخل مفتاح API الخاص بك للمزود المختار. بالنسبة للمزود المخصص، أدخل أيضًا عنوان URL الأساسي واسم النموذج.
3. حدد النموذج المفضل لديك من القائمة المنسدلة.
4. حدد قطاع مؤسستك وحجمها من القوائم المنسدلة.
5. انتقل إلى صفحة `Threat Group Scenarios`.
6. حدد مجموعة الجهات الفاعلة المهددة التي تريد محاكاتها.
7. انقر على "Generate Scenario" لإنشاء سيناريو الاستجابة للحوادث.
8. استخدم أزرار 👍 أو 👎 لتقديم ملاحظات حول جودة السيناريو المُنشأ. ملاحظة: تظهر أزرار الملاحظات فقط إذا تم تعيين قيمة لـ LANGCHAIN_API_KEY في ملف `.streamlit/secrets.toml`.
#### إنشاء سيناريو مخصص
1. اختر ما إذا كنت تريد استخدام OpenAI API أو Anthropic API أو Google AI API أو Mistral API أو Groq API أو نقطة نهاية مخصصة متوافقة مع OpenAI.
2. أدخل مفتاح API الخاص بك للمزود المختار. بالنسبة للمزود المخصص، أدخل أيضًا عنوان URL الأساسي واسم النموذج.
3. حدد النموذج المفضل لديك من القائمة المنسدلة.
4. حدد قطاع مؤسستك وحجمها من القوائم المنسدلة.
5. انتقل إلى صفحة `Custom Scenario`.
6. استخدم مربع التحديد المتعدد للبحث عن تقنيات ATT&CK ذات الصلة بسيناريوك وتحديدها.
7. انقر على "Generate Scenario" لإنشاء سيناريو اختبار الاستجابة للحوادث المخصص الخاص بك بناءً على التقنيات المحددة.
8. استخدم أزرار 👍 أو 👎 لتقديم ملاحظات حول جودة السيناريو المُنشأ. ملاحظة: تظهر أزرار الملاحظات فقط إذا تم تعيين قيمة لـ LANGCHAIN_API_KEY في ملف `.streamlit/secrets.toml`.
#### إنشاء سيناريو تهديد داخلي للذكاء الاصطناعي
1. اختر مزود النموذج الخاص بك وأدخل مفتاح API ذي الصلة (استخدم المزود المخصص لنشر Azure OpenAI أو النماذج المحلية).
2. حدد النموذج المفضل لديك من القائمة المنسدلة.
3. حدد قطاع مؤسستك وحجمها من القوائم المنسدلة.
4. انتقل إلى صفحة `AI Insider Threat Scenarios`.
5. (اختياري) اختر قالبًا لملء النموذج المعماري للنشر وفئات التهديدات وتهديدات STRIDE مسبقًا لسيناريو شائع.
6. اختر **النموذج المعماري للنشر** الذي يعكس مدى استقلالية وكيل الذكاء الاصطناعي في العمل داخل مؤسستك (على سبيل المثال، مساعد خاضع للإشراف، وكيل مستقل، أسطول مستقل بالكامل). هذا هو المحرك الأساسي لسطح التهديد للوكيل.
7. حدد فئة تهديد واحدة أو أكثر (**فئة تهديد** مثل اختراق بيانات الاعتماد، تخريب سلسلة التوريد، تسريب البيانات، تخريب البنية التحتية، الخداع والتهرب).
8. (اختياري) قم بتضييق نطاق السيناريو إلى **تهديدات STRIDE** محددة. إذا تُرك فارغًا، فسيتم استخدام تهديدات STRIDE المرتبطة بالفئات المحددة تلقائيًا. هذه هي تهديدات STRIDE الـ 23 من الورقة الأساسية.
9. (اختياري) اضبط **قدرات الوكلاء المتقدمين** المميزة في المطالبة.
10. انقر على "Generate Scenario". يتضمن الإخراج سردًا للهجوم مرتبطًا بمعرفات STRIDE وفرص الكشف والضوابط الموصى بها المتوافقة مع NIST CSF.
11. استخدم أزرار 👍 أو 👎 لتقديم ملاحظات (يتطلب LANGCHAIN_API_KEY).
نموذج التهديد وراء هذه الصفحة موصوف في [*الأفعال أعلى صوتًا من الرموز: نموذج تهديد داخلي لوكلاء الذكاء الاصطناعي المتقدمين*](https://ai-insider-threat.matt-adams.co.uk).
يرجى ملاحظة أن إنشاء السيناريوهات قد يستغرق دقيقة أو نحو ذلك. بمجرد إنشاء السيناريو، يمكنك عرضه على التطبيق وتنزيله أيضًا كملف Markdown.
## أفضل ممارسات الأمان
تم تصميم AttackGen للنشر المحلي أحادي المستخدم. عند استخدام الأداة:
### حماية مفاتيح API الخاصة بك
**مفاتيح API الخاصة بك هي بيانات اعتماد حساسة يمكن أن تتسبب في رسوم على حسابك.**
✅ **افعل:**
- أدخل مفاتيح API من خلال واجهة المستخدم (تبقى في جلسة المتصفح الخاصة بك)
- استخدم ملف .env للراحة على جهازك الشخصي
- عيّن حدود الإنفاق في لوحة تحكم مزود LLM الخاص بك
- راجع استخدامك وتكاليف API بانتظام
- امسح الجلسة عند استخدام أجهزة كمبيوتر مشتركة
❌ **لا تفعل:**
- لا تلتزم بملفات .env في التحكم في الإصدارات (موجودة بالفعل في .gitignore)
- لا تشارك لقطات شاشة تحتوي على مفاتيح API ظاهرة
- لا تشغل AttackGen على أنظمة غير موثوقة/مخترقة
- لا تشارك مفاتيح API الخاصة بك مع الآخرين
- لا تتجاهل رسوم API غير المتوقعة
### اعتبارات خصوصية البيانات
عند إنشاء السيناريوهات، يرسل AttackGen البيانات إلى مزود LLM الذي اخترته:
- تفاصيل المؤسسة (القطاع، حجم الشركة)
- تقنيات ATT&CK المحددة
- نص الإدخال المخصص
- السيناريوهات المُنشأة (عبر مساعد AttackGen)
**ماذا يعني هذا:**
- قد يقوم OpenAI أو Anthropic وما إلى ذلك بتسجيل هذه البيانات وفقًا لسياسات الخصوصية الخاصة بهم
- فكر في استخدام تفاصيل مؤسسة عامة/خيالية للعروض التوضيحية
- راجع سياسات الاحتفاظ بالبيانات والخصوصية لدى مزود LLM الخاص بك
- لحالات الاستخدام الحساسة، فكر في المزودين الذين يتمتعون بضمانات خصوصية أكثر صرامة
### للنشر في الفرق/المؤسسات
إذا كنت تنشر AttackGen لعدة مستخدمين (وليس حالة الاستخدام الافتراضية):
- أضف المصادقة/التفويض (غير مضمنة افتراضيًا)
- استخدم خدمة إدارة الأسرار لمفاتيح API
- انشر خلف VPN أو شبكة داخلية
- راجع مستند نموذج التهديد هذا لاعتبارات إضافية
- ضع في اعتبارك متطلبات إقامة البيانات والامتثال
### أمان التبعيات
نحن نحافظ على التبعيات ونراقب الثغرات الأمنية:
- يتم تحديث التبعيات بانتظام
- يتم تتبع النشرات الأمنية في مشكلات GitHub
- شغّل `pip list --outdated` للتحقق من التحديثات
- فكر في استخدام `pip-audit` لفحص الثغرات الأمنية
### الإبلاغ عن المشكلات الأمنية
وجدت مشكلة أمنية؟ يرجى الإبلاغ عنها بمسؤولية:
- أنشئ نشرة أمنية عبر [الإبلاغ الخاص عن الثغرات](https://github.com/mrwadams/attackgen/security/advisories/new) في GitHub
- لا تنشر المشكلات الأمنية علنًا
- سنقر بالإقرار خلال 48 ساعة
- سيتم تحديد أولويات الإصلاحات وإصدارها بسرعة
## المساهمة
يسعدني جدًا قبول المساهمات في هذا المشروع. لا تتردد في تقديم مشكلة أو طلب سحب.
## الترخيص
هذا المشروع مرخص بموجب [GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/).
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|
| التوليد بالسيناريو الأساسي أولاً | - السيناريو قبل الانتظار: يعمل التوليد الآن على مراحل — يُعرض السيناريو الأساسي أولاً مع أزرار تنزيل السيناريو وتنزيل طبقة ATT&CK Navigator النشطة بالفعل، ويُبث السرد الاختياري للفريق الأرجواني بعد ذلك. إذا كانت هذه المرحلة الثانية بطيئة، أو لم تكن بحاجة إليها، يمكن استخدام السيناريو فورًا بدلاً من حجزه حتى ينتهي كل شيء. - تجميد المدخلات عند التوليد: تعمل كل عملية تشغيل من لقطة مأخوذة في اللحظة التي تضغط فيها على توليد، لذا فإن تغيير الشريط الجانبي أثناء التشغيل لا يمكن أن يعيد كتابة السيناريو الجاري إنتاجه جزئيًا. - تقدم صادق: تسمية وقت منقضٍ جارية ومراحل مسماة — إعداد المدخلات، توليد السيناريو الأساسي، بناء الصادرات الحتمية، توليد سرد الفريق الأرجواني — تُظهر أين وصلت عملية التشغيل الطويلة فعليًا. |
| محددات محايدة وخالية من الطرق المسدودة | - الخيارات التي تعمل فقط: تقدم محددات مجموعة التهديد ودراسة الحالة الآن الخيارات التي تنتج سيناريو فعليًا فقط، لذا لا يمكن أن يؤدي التحديد إلى طريق مسدود. - ترتيب طبيعي: تُرتب المجموعات بترتيب رقمي طبيعي، لذا تأتي APT3 قبل APT28 وAPT30 بدلاً من فرزها كنص والوقوع بينهما. |
| شريط إعدادات مشترك في كل صفحة | - إعداد مرة واحدة: المزود، والنموذج، والإطار، والصناعة، وحجم الشركة موجودة الآن في شريط إعدادات مشترك واحد في كل صفحة سيناريو — مجموعة التهديد، والمخصص، والتهديد الداخلي بالذكاء الاصطناعي — بدلاً من إعادة إدخالها في كل صفحة. - يبقى عبر التنقل: تبقى التحديدات غير السرية عند انتقالك بين الصفحات وتنعكس في عنوان URL، بينما تُبقى مفاتيح API عمدًا خارج سلسلة الاستعلام. |
| الصيانة المنصة والأمنية | - MCP على SDK 2.x: انتقل خادم MCP إلى mcp SDK 2.x.- صورة أساس أحدث: صورة Docker مبنية الآن على python:3.14-slim.- بوابات CI بدلاً من التحذيرات: تفشل عمليات الفحص الأمني الآن في البناء عند وجود نتائج بدلاً من الإبلاغ عنها فقط — pip-audit وBandit كبوابات، وTrivy لم يعد يعدّ SBOM المورّد من pip كحزم مثبتة، وتم مسح CVEs القابلة للتنفيذ في الصورة. انتقلت GitHub Actions خارج وقت تشغيل Node 20 وأصبح Dependabot يتتبع إجراءات سير العمل نفسها. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|
| إعداد هروب بيئة التقييم وبذرة السيناريو | - التدرب على حادثة محددة: قالب جديد للتهديد الداخلي بالذكاء الاصطناعي يدرب على وكيل تقييم يصل إلى أنظمة حقيقية من بيئة يُفترض أنها معزولة — مما يفرض الاحتواء، وتدوير الاعتمادات، وإخطار الأطراف الثالثة، والحفاظ على الأدلة. يغطي إفصاحات يوليو 2026 عن وكلاء التقييم الهاربين من بيئاتهم المعزولة، حيث كانت حدود العزل مفترضة وليست مفروضة. - القوالب تصل الآن إلى المطالبة: القوالب السريعة سابقًا كانت تملأ فقط أدوات الصفحة ولم تؤثر أبدًا على السيناريو المولد. تحمل الآن brief سرديًا وrequired_decisions التي يجب أن تفرضها أسئلة المناقشة، وكلاهما يُدمج في المطالبة — لذا ينتج القالب تمرين طاولة زمنيًا قابلًا للاستخدام بدلاً من مجموعة عشوائية من الأسئلة. يقسم هذا القوالب إلى فئتين: القوالب الستة الأصلية للنموذج النشاري تحدد القرارات فقط، لذا يخترع النموذج الفرضية وإعادة تشغيله تنتج تمرينًا جديدًا لنفس ملف التهديد؛ قوالب الحوادث تحدد أيضًا briefًا، مما يثبت الموقف.- بذرة سيناريو نصية حرة: صندوق بذرة اختياري في صفحة التهديد الداخلي بالذكاء الاصطناعي يوجه السرد في أي سيناريو. اختيار قالب يملؤه مسبقًا، ويمكنك تحريره أو كتابة ما تريد من الصفر. - توسيع التصنيف إلى 27 تهديدًا / 6 فئات: يضيف فئة تهديد سادسة (الاحتواء وتأثير الأطراف الثالثة) وأربعة تهديدات STRIDE يدور حولها التمرين — S5 إعادة تشغيل اعتماد عمل قابل لإعادة الاستخدام، R4 قمع القياس عن بُعد من جانب الوكيل، I5 اختراق الأطراف الثالثة والمصب، وE5 فشل ضمان حدود الاحتواء. AttackGen الآن توسّع نموذج التهديد المنشور بدلاً من عكسه.- قوالب قابلة للاستخدام عبر MCP: تقبل get_ai_insider_prompt وgenerate_ai_insider_scenario معاملات template= وscenario_seed=، وتُرجع list_ai_insider_options كل قالب مع التحديدات والـ brief الذي يطبقه — لذا يمكن للعميل اختيار إعداد مسبق على أساس الجدارة والاستدعاء فقط بقالب وصناعة وحجم شركة. سابقًا كانت أسماء القوالب مدرجة لكن لا أداة تقبلها. |
| مهارة attackgen-tabletop: مسار التهديد الداخلي بالذكاء الاصطناعي | - مسار تمرين ثانٍ: تبني مهارة الوكيل الآن تمرين طاولة من نموذج التهديد الداخلي بالذكاء الاصطناعي وكذلك من سلسلة قتل MITRE. اختر قالبًا سريعًا (أو نموذجًا نشاريًا وفئات تهديد) وتحوّل حمولة get_ai_insider_prompt إلى MSEL.- نفس الشكل، عمود فقري مختلف: يحافظ التمرين على نفس الأقسام الستة، لكن جدول سلسلة القتل يصبح ملف تعريف وكيل ونطاق تهديد STRIDE، ويُحكم على بطاقة نتائج الكشف مقابل وضع الكشف للنموذج النشاري — لذا تصبح الصفوف التي لن تُطلق هي النتيجة — وتصبح القرارات المطلوبة في القالب أسئلة مناقشة إلزامية. - المسار مختار لك: يتحرك وصف المهارة الآن على صياغة الوكيل المارق، لذا فإن طلب "تمرين طاولة تهديد داخلي بالذكاء الاصطناعي" يصل إلى المسار الصحيح. يبقى الفاعل الخارجي ذو الحرفية المتسارعة بالذكاء الاصطناعي على مسار MITRE. - استجابة، وليس استغلالًا: كلا المسارين محددان صراحةً للتدرب على القرارات التي يجب أن يتخذها فريق الاستجابة — لا كود استغلال، ولا حمولات، ولا ثغرات حقيقية غير مصححة — وينسب مسار الذكاء الاصطناعي سلوك الوكيل إلى التكوين والوصول والهدف بدلاً من الدافع البشري. |
| إصلاح: مطالبات MCP للتهديد الداخلي بالذكاء الاصطناعي أسقطت قدرات الوكيل | - نفس القالب، نفس المطالبة: كتلة قدرات الوكيل المتقدم — الأسطر المبنية على المعايير التي تجعل سيناريو التهديد الداخلي بالذكاء الاصطناعي ذا مصداقية — كانت محذوفة من كل استدعاء get_ai_insider_prompt / generate_ai_insider_scenario لم يسمِّ capabilities صراحةً. لا يوفر أي قالب هذه القدرات، لذا سقطت الوسيطة إلى فارغة واستبدلت المطالبة بسطر عام "افترض وكيل ترميز متقدمًا قادرًا"، بينما أرسلت الصفحة 3 جميع الأربعة لنفس القالب.- الافتراضات تطابق التطبيق الآن: حذف capabilities يطبق المجموعة الكاملة، كما يفعل التحديد المتعدد في الصفحة. تمرير [] يتركها غير محددة، لذا يبقى الانسحاب المتعمد دون تغيير. |
| إصلاح: توليد السيناريو مع Anthropic Claude 4.7+ | - كل نموذج Claude يعمل مرة أخرى: ترفض Claude 4.7 والإصدارات الأحدث أي temperature لأخذ العينات، وتُرجع BadRequestError: 'temperature' is deprecated for this model. أربعة من نماذج Anthropic الخمسة المدرجة — Fable 5، وOpus 4.8، وSonnet 5، وOpus 4.7 — لم تستطع توليد سيناريو في أي صفحة؛ فقط Haiku 4.5 عمل.- مُقيّد لكل نموذج، وليس لكل مزود: كانت قاعدة درجة الحرارة تُوجَّه سابقًا من المزود، الذي لا يمكنه التعبير عن مزود تختلف نماذجه. ModelInfo.supports_temperature يحدد الآن النماذج التي ترفضها، لذا يحتفظ Haiku 4.5 بدرجة الحرارة المكوّنة بينما تحذفها نماذجه الشقيقة. تبقى OpenAI قاعدة على مستوى المزود (كل نموذج محادثة حالي هو نموذج استدلال)، والنماذج غير المسجلة — نقاط نهاية Ollama / LM Studio المحلية — ما زالت تتلقى درجة حرارة. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| خادم MCP للعملاء الوكلاء | - توليد السيناريو كأدوات: خادم FastMCP جديد (mcp_server.py، mcp SDK الرسمي) يعرض AttackGen للعملاء الوكلاء عبر stdio، لذا يمكن لمساعد مثل Claude Code أو Claude Desktop سحب بيانات MITRE وتوليد سيناريوهات دون واجهة Streamlit.- مستويان: أدوات البيانات ( list_threat_groups، list_case_studies، get_kill_chain، get_detection_report، get_navigator_layer، list_ai_insider_options، get_ai_insider_prompt) لا تجري أي استدعاء LLM ولا تحتاج مفتاح API — تُرجع بيانات MITRE منظمة، وحيثما كان مفيدًا، مطالبة جاهزة للتشغيل، لذا فهي آمنة للاستضافة عبر HTTP. أدوات التوليد (generate_threat_group_scenario، generate_custom_scenario، generate_ai_insider_scenario) تأخذ تكوينًا بمفتاحك الخاص وتُرجع Markdown مكتملًا — أبقِ هذه على stdio المحلي.- تنفيذ مشترك: يعيد الخادم استخدام نفس بناة core/prompts.py بلا واجهة ومحمّلات core/attack_data.py التي تستخدمها صفحات Streamlit، لذا تتطابق السيناريوهات مع التطبيق بدلاً من الانحراف. شغّل بـ python -m mcp_server أو سكربت وحدة التحكم attackgen-mcp. |
| مهارة وكيل attackgen-tabletop | - تمارين طاولة جاهزة للميسر: مهارة وكيل جديدة تبني على أدوات بيانات MCP لتحويل مجموعة تهديد MITRE ATT&CK/ATLAS أو دراسة حالة إلى تمرين طاولة / MSEL كامل للاستجابة للحوادث — سرد سيناريو، وسلسلة قتل معينة بالمراحل، وحقن بزمن محدد، وأسئلة مناقشة NIST SP 800-61، وبطاقة نتائج تغطية الكشف. - يعمل على نموذج المتصل: توفر المهارة حرفية التمرين بينما يوفر خادم MCP البيانات، لذا يعمل على نموذج العميل الخاص دون مفتاح API إضافي. - صيغتا إخراج: تُسلَّم كـ Markdown (افتراضيًا) أو تقرير HTML مستقل قابل للطباعة. |
| المساعد يحسّن مخرجات الكشف والاستجابة | - تحرير الفريق الأرجواني: يمكن لمساعد AttackGen الآن تحسين سرد الكشف والاستجابة، وليس السيناريو فقط. عند توليد سيناريو مع مفتاح سرد 🟣 الفريق الأرجواني (صفحات مجموعة التهديد / المخصص)، يظهر محدد تحرير: في صفحة المساعد بحيث يمكن للمحادثة استهداف السيناريو أو شرح المدافع — سابقًا كان المساعد يملك نص السيناريو فقط. - وضع التحرير المدمج: هدف ثالث السيناريو + الكشف والاستجابة يحسّن كليهما معًا، لذا يُطبَّق تغيير شامل — صناعة مختلفة، أو جهة فاعلة مهددة، أو تقنية، أو جدول زمني — بشكل متسق عبر سيناريو المهاجم وسرد المدافع بدلاً من إجرائه مرتين والتباعد بينهما.- الحقائق الحتمية دون مساس: فقط سرد LLM هو هدف التحسين؛ لا يُحرَّر ربط STIX المحلي للكشف عبر LLM أبدًا. يحتفظ كل وضع تحرير بسجل محادثة خاص به، ويُوسم الممر المدمج بـ في LangSmith. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| إصلاح: توليد السيناريو مع OpenAI GPT-5.x | - معالجة صحيحة لنماذج الاستدلال: ترفض نماذج الاستدلال OpenAI GPT-5.x أي temperature لأخذ العينات غير الافتراضي، لذا كان كل توليد GPT-5.x يفشل بـ BadRequestError: 'temperature' does not support 0.7 with this model. لم تعد AttackGen ترسل درجة حرارة مخصصة لهذه النماذج، بينما تحتفظ المزودات الأخرى بالقيمة المكوّنة. |
| تحديث سجل النماذج | - أحدث النماذج: تحديث قائمة النماذج مقابل وثائق كل مزود الحالية — OpenAI GPT-5.6 (مستويات Sol / Terra / Luna)، وClaude Fable 5 وClaude Sonnet 5، مع الاحتفاظ بجيل سابق واحد لكل مزود للاستمرارية. - إزالة الإدخالات القديمة: حذف النماذج التي استبدلتها المزودات أو التي في طريقها للتقاعد — لا سيما Groq qwen3-32b (أُغلق في 17 يوليو 2026) وMistral Magistral Medium — حتى لا يعرض الشريط الجانبي نموذجًا يخطئ عند التحديد.- إضافة مستوى Groq سريع/رخيص ( llama-3.1-8b-instant). |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| وضع الفريق الأرجواني: الكشف والاستجابة | - رفيق دفاعي: يعرض كل سيناريو مجموعة تهديد ومخصص الآن قسم الكشف والاستجابة يربط كل تقنية من تقنيات السيناريو باستراتيجيات كشف MITRE ATT&CK والتحليلات ومصادر السجلات والتخفيفات الموجودة بالفعل في البيانات المرفقة — محولًا السرد الأحمر فقط إلى تمرين فريق أرجواني ("هنا الهجوم، وهنا بالضبط ما كان يجب أن يراه مركز عمليات الأمان لديك"). - لا استدعاء LLM للحقائق: قسم الكشف هو ربط بيانات محلي، وليس استدعاء نموذج — لذا فإن التحليلات ومصادر السجلات والتخفيفات التي يسردها هي محتوى MITRE الحقيقي الحالي وليست تخمينات نموذج. يُقدَّم كتنزيل ..._detection.md خاص به إلى جانب السيناريو والطبقة.- مصادر السجلات لتفعيلها: تجميع لكل سيناريو يسرد مصادر السجلات المميزة التي تقرأها عمليات الكشف (مثل WinEventLog:Security (EventCode=4624))، لذا يمكن لمركز عمليات الأمان رؤية القياس عن بُعد الذي يفترضه التمرين في لمحة.- سرد الفريق الأرجواني الاختياري: مفتاح 🟣 سرد الفريق الأرجواني لكل صفحة يضيف ممر نموذج ثانٍ يمشي عبر السيناريو مرحلة بمرحلة من جانب المدافع — ما يجب أن يُطلق، وما يراه المحلل، وكيفية الاستجابة — مستندًا بدقة إلى عمليات الكشف والتخفيفات أعلاه (لا عمليات كشف مخترعة). - مدرك لـ ATLAS: تسرد سيناريوهات ATLAS التخفيفات (ليس لدى ATLAS استراتيجيات كشف بعد) وتقول ذلك، بدلاً من إظهار لا شيء. |
| MITRE ATT&CK v19.1 وأحدث بيانات ATLAS | - أُطر محدثة: تحديث بيانات MITRE ATT&CK للمؤسسات وICS من v18.1 إلى v19.1، وتحديث MITRE ATLAS إلى أحدث إصدار، لذا تعكس السيناريوهات المولدة التكتيكات والتقنيات ودراسات الحالة الحالية. - قوائم مجموعات محدثة: أُعيد توليد القوائم المنسدلة لمجموعات التهديد من حزم v19.1 (174 مجموعة نشطة للمؤسسات و14 لـ ICS). المجموعات التي ألغتها MITRE أو دمجتها في الأعلى (مثل APT34 → OilRig، UNC2452 → APT29) لم تعد تظهر، بينما تظهر المجموعات المتعقبة حديثًا مثل MirrorFace. - المزيد من دراسات حالة ATLAS: نمت مكتبة دراسات حالة ATLAS إلى 57 (17 حادثة، 40 تمرينًا). - تحديث قابل للتكرار: سكربت scripts/generate_groups.py جديد يعيد توليد خرائط المجموعات من حزم STIX المرفقة، مكملًا سكربت دراسات حالة ATLAS الحالي — لذا يكون التحديث التالي خطوة مكتوبة بدلًا من تنظيم يدوي. |
| تصدير طبقة ATT&CK Navigator | - طبقة قابلة للتنزيل: كل سيناريو مولّد في صفحتي مجموعة التهديد والسيناريو المخصص يقدم الآن طبقة ATT&CK Navigator (.json) إلى جانب تنزيل Markdown، بحيث يمكن تصور تقنيات السيناريو وتعليقها ومشاركتها في ATT&CK Navigator. لعرضها، نزّل الطبقة وافتحها عبر Open Existing Layer → Upload from local في Navigator.- كل المصفوفات الثلاث: يُضبط نطاق Navigator الصحيح تلقائيًا لكل مصفوفة — ارفع طبقات المؤسسات وICS إلى MITRE ATT&CK Navigator، وطبقات ATLAS إلى فرع . (لن تُحمَّل طبقة ATLAS في ATT&CK Navigator، أو العكس، لأن كل منهما يتعرف على نطاقه فقط.)- التقنيات تبقى مرئية: توسّع التقنيات الفرعية المسجلة تلقائيًا أصلها وتظهر معرّفات التقنيات في التخطيط، لذا تكون تقنيات السيناريو المميزة واضحة فورًا بدلاً من إخفائها في صفوف مطوية.- لا استدعاء LLM إضافي: الطبقة هي تسلسل محلي للتقنيات المحددة بالفعل للسيناريو — لا استدعاء نموذج إضافي أو بحث خارجي.- أسماء ملفات تنزيل وصفية: تُسمى تنزيلات السيناريو والطبقة الآن باسم الجهة الفاعلة المهددة / السيناريو المخصص والمصفوفة مع طابع زمني للتوليد (مثل )، لذا تكون الملفات المحفوظة ذات معنى ولا تتصادم عبر السيناريوهات. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| دعم إطار عمل MITRE ATLAS | - تغطية تهديدات الذكاء الاصطناعي/التعلم الآلي: يدعم AttackGen الآن إطار عمل MITRE ATLAS (مشهد التهديدات العدائية لأنظمة الذكاء الاصطناعي)، مما يتيح توليد سيناريوهات استجابة للحوادث للتهديدات التي تستهدف أنظمة الذكاء الاصطناعي والتعلم الآلي. - سيناريوهات مبنية على دراسات حالة: توليد سيناريوهات بناءً على 45 دراسة حالة موثقة لهجمات ذكاء اصطناعي واقعية، بما في ذلك 14 حادثة فعلية و31 تمرينًا بحثيًا يغطي هجمات مثل حقن الأوامر واستخراج النماذج وتسميم البيانات. - 147 تقنية من ATLAS: الوصول إلى مكتبة تقنيات ATLAS الكاملة التي تغطي 16 تكتيكًا خاصًا بالذكاء الاصطناعي بما في ذلك الوصول إلى نماذج الذكاء الاصطناعي، ومرحلة إعداد هجمات الذكاء الاصطناعي، ومراحل الهجوم التقليدية المُكيَّفة لأنظمة الذكاء الاصطناعي. - قوالب خاصة بالذكاء الاصطناعي: ستة قوالب سيناريو مخصصة جديدة لهجمات الذكاء الاصطناعي/التعلم الآلي الشائعة: مراوغة النموذج، تسميم البيانات، استخراج النموذج، حقن الأوامر، كسر حماية LLM، وهجمات سلسلة توريد الذكاء الاصطناعي. |
| تحديث بيانات MITRE ATT&CK إلى v18.1 | - أحدث معلومات استخباراتية عن التهديدات: يستخدم AttackGen الآن بيانات MITRE ATT&CK v18.1، مما يضمن أن السيناريوهات المُولَّدة تعكس أحدث التكتيكات والتقنيات والإجراءات التي يستخدمها الفاعلون المهددون. - تغطية موسعة للمؤسسات: نمت قائمة مجموعات التهديدات للمؤسسات من 150+ إلى 187 مجموعة، بما في ذلك الفاعلون المُتتبَعون حديثًا. - تغطية موسعة لـ ICS: نمت قائمة مجموعات تهديدات ICS من 7 إلى 16 مجموعة، مما يوفر تغطية أفضل لسيناريوهات أنظمة التحكم الصناعية. |
| تحديث دعم نماذج LLM | - OpenAI: إضافة نماذج GPT-5.2 وGPT-5.2 Pro؛ وتبسيط قائمة النماذج بإزالة نماذج التفكير القديمة من سلسلة o. - Anthropic: التحديث إلى عائلة Claude 4.5 مع Sonnet 4.5 وHaiku 4.5 وOpus 4.5. - Google AI: إضافة نماذج معاينة Gemini 3 Pro وFlash؛ وتحديث خيارات Gemini 2.5. - Groq: إضافة نماذج GPT-OSS 120B و20B للاستدلال عالي الأداء. - Mistral: التحديث إلى إصدارات النماذج المؤرخة (Large 2512، Medium 2508، Small 2506)؛ وإضافة Ministral 14B. |
| إصلاحات الأخطاء | - إصلاح معالجة استجابات Google AI: تحديث تحليل الاستجابة للتعامل مع تنسيق المحتوى المنظم الذي تعيده نماذج Gemini الأحدث، مما يضمن استخراج نص السيناريو وعرضه بشكل صحيح. - إصلاح رسائل خطأ مصفوفة ICS: تعرض رسائل الخطأ الآن "ICS ATT&CK" بشكل صحيح بدلاً من "Enterprise ATT&CK" عند استخدام مصفوفة ICS. - تحسين معالجة التقنيات الفارغة: إضافة معالجة سلسة عندما لا تحتوي مجموعة تهديدات على تقنيات مرتبطة، مما يمنع الأخطاء الثانوية. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| التوافق مع LangChain v1.0 | - إصلاح تغييرات الاستيراد المكسورة: تحديث جميع الاستيرادات من langchain.prompts.chat المهجورة إلى langchain_core.prompts، مما يضمن التوافق مع LangChain v1.0 ويمنع مشكلات ModuleNotFoundError. يحافظ هذا على الاستقرار مع تطور نظام LangChain البيئي. |
| بنية أمنية شاملة | - الفحص الأمني الآلي: تقديم سير عمل GitHub Actions للمراقبة الأمنية المستمرة باستخدام Bandit (تحليل كود Python)، وCodeQL (كشف الثغرات)، وpip-audit (فحص التبعيات)، وSafety (الثغرات المعروفة)، وGitleaks (كشف الأسرار)، وTrivy (فحص صور Docker). - توثيق أفضل الممارسات الأمنية: إضافة SECURITY.md شامل يغطي الإصدارات المدعومة، والإبلاغ عن الثغرات، وإدارة مفاتيح API، واعتبارات خصوصية البيانات، وإرشادات أمان النشر. - قسم أمان موسع في README: توسيع الإرشادات الأمنية بتوجيهات واضحة حول ما يجب وما لا يجب فعله لحماية مفاتيح API، واعتبارات خصوصية البيانات، وممارسات النشر المسؤولة. |
| تحسينات Docker | - أمان معزز: تحديث Dockerfile للتشغيل كمستخدم غير جذر، مما يحسن وضع أمان الحاوية. - دعم Docker Compose: إضافة docker-compose.yml لنشر متعدد الخدمات مبسط وإعداد تطوير محلي أسهل. - تحسين أفضل للبناء: تحسين .dockerignore لتقليل حجم الصورة ومنع تضمين الملفات الحساسة في صور الحاويات. - قالب تكوين شامل: تحديث .env.example بجميع مفاتيح API المدعومة (OpenAI، Anthropic، Azure، Google، Mistral، Groq) لتسهيل الإعداد الأولي. |
| إصلاحات الأخطاء | - مهلة Ollama API: إضافة تكوين مهلة لطلبات Ollama API لمنع الاتصالات المعلقة. - تحديثات Safety CLI: التحديث من أمر safety check المهجور إلى أمر safety scan الجديد، مما يضمن استمرار وظيفة الفحص الأمني.- تكوين Bandit: تصحيح تكوين فحص الأمان Bandit لتحليل كود Python أكثر دقة. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| تكامل OpenAI Responses API | - واجهة برمجة من الجيل التالي: يستخدم AttackGen الآن أحدث واجهة Responses API من OpenAI لجميع النماذج المدعومة، مما يوفر واجهة موحدة ومحسّنة. |
| دعم أحدث النماذج المتطورة | - تكامل GPT-5: إضافة دعم لأحدث سلسلة نماذج GPT-5 من OpenAI بما في ذلك gpt-5 وgpt-5-mini وgpt-5-nano، مما يوفر الوصول إلى أحدث قدرات الذكاء الاصطناعي لتوليد السيناريوهات. - Claude Sonnet 4.5: إضافة دعم لأحدث نموذج Claude Sonnet 4.5 من Anthropic (claude-sonnet-4-5-20250929)، مع تحديث إصدارات نماذج Claude بما في ذلك Claude Opus 4.1 (claude-opus-4-1-20250805). |
| إصلاحات الأخطاء والتحسينات | - إصلاح تحذير إهمال Streamlit: استبدال المعامل المهجور use_container_width بالمعامل الجديد width لضمان التوافق مع إصدارات Streamlit المستقبلية.- توثيق محسّن: تحديث CLAUDE.md بإرشادات شاملة لأعمال التطوير المستقبلية وإضافة معلومات معمارية مفصلة. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| دعم موسع للنماذج | - أحدث نماذج التفكير من OpenAI: يدعم AttackGen الآن أحدث نماذج التفكير من OpenAI بما في ذلك o4-mini (أحدث نموذج تفكير)، وo3/o3-mini، وo1-pro (قدرات تفكير محسّنة). تتفوق هذه النماذج في توليد سيناريوهات معقدة تتطلب تفكيرًا منطقيًا عميقًا. - سلسلة GPT-4.1: إضافة دعم لنماذج سلسلة GPT-4.1 (gpt-4.1 وgpt-4.1-mini وgpt-4.1-nano)، مما يوفر أحدث التحسينات في قدرات الذكاء الاصطناعي العامة مع بدائل أخف لحالات الاستخدام الحساسة للتكلفة. - نماذج Anthropic Claude: إضافة دعم شامل لنماذج Claude من Anthropic بما في ذلك claude-opus-4-20250514 وclaude-sonnet-4-20250514 وclaude-3-7-sonnet-latest وclaude-3-5-haiku-latest. تقدم هذه النماذج أداءً ممتازًا لتوليد سيناريوهات استجابة حوادث مفصلة وواعية بالسياق مع قدرات تفكير قوية. - تحديث نماذج Google AI: تحديث اختيار نماذج Google AI لتشمل أحدث نماذج معاينة Gemini 2.5 (gemini-2.5-flash-preview-05-20 وgemini-2.5-pro-preview-05-06) بجانب نماذج Gemini 2.0، مما يوفر الوصول إلى أحدث التحسينات في تقنية الذكاء الاصطناعي من Google. - تحسين تنظيم النماذج: إعادة تنظيم القوائم المنسدلة لاختيار النماذج لتحديد أولوية النماذج الأحدث وتحديث الأوصاف للتمييز بوضوح بين أنواع النماذج وقدراتها المختلفة. |
| منطق محسّن لاختيار التقنيات | - معالجة أكثر قوة للمجموعات: إصلاح مشكلة حيث يمكن أن تسبب مجموعات الفاعلين المهددين الفارغة أخطاء أثناء اختيار التقنية. يتعامل الأداة الآن بشكل صحيح مع المجموعات الفارغة بإرجاع DataFrame فارغ، مما يضمن تشغيلًا مستقرًا حتى مع بيانات الفاعلين المهددين المحدودة. - الحفاظ على اسم المرحلة: تحسين عملية اختيار التقنية لتضمين 'Phase Name' بشكل صحيح في المخرجات، مع الحفاظ على معلومات مرحلة سلسلة القتل طوال عملية توليد السيناريو. يضمن هذا أن السيناريوهات المُولَّدة تحافظ على سياق مناسب حول المرحلة التي تنتمي إليها كل تقنية من مراحل الهجوم. |
| تحسينات بيئة التطوير | - تحسين .gitignore: إضافة دعم لأدلة البيئة الافتراضية .venv بالإضافة إلى venv، لاستيعاب تفضيلات المطورين المختلفة وأدوات إدارة بيئة Python.- تنظيف الكود: إزالة الاستيرادات غير المستخدمة عبر سكربتات توليد السيناريو، مما يحسن قابلية صيانة الكود ويقلل الالتباس المحتمل. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| نقاط نهاية API مخصصة متوافقة مع OpenAI | - مرونة متزايدة: يدعم AttackGen الآن نقاط نهاية API مخصصة متوافقة مع OpenAI مثل Anyscale أو Together AI أو أي API متوافق مستضاف ذاتيًا. تتيح هذه الميزة للمستخدمين الاستفادة من نطاق أوسع من النماذج والخدمات بما يتجاوز المزودين المدعومين رسميًا. - دعم الاستضافة الذاتية: يمكن للمؤسسات التي لديها عمليات نشر خاصة بها لنماذج متوافقة مع OpenAI الآن توصيل AttackGen مباشرة بهذه النقاط النهائية. - التحكم في اختيار النموذج: يمكن للمستخدمين تحديد عنوان URL الأساسي واسم النموذج ومفتاح API لأي خدمة متوافقة، مما يوفر تحكمًا أكبر في النماذج ونقاط النهاية المستخدمة لتوليد السيناريوهات. |
| تحديث اختيار النماذج | - الوصول إلى أحدث النماذج: يتضمن اختيار نماذج OpenAI الآن نماذج سلسلة GPT-4.1 الجديدة (gpt-4.1 وgpt-4.1-mini وgpt-4.1-nano)، مما يوفر أداءً محسنًا في البرمجة واتباع التعليمات والمهام ذات السياق الطويل. - دعم موسع لـ Gemini: إضافة دعم لأحدث نماذج Gemini 2.5 Pro Preview و2.0 Flash و2.0 Flash Lite. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| تكامل Groq API | - أداء محسّن: يدعم AttackGen الآن واجهة Groq عالية الأداء، مما يوفر الوصول إلى نماذج مثل llama-3.3-70b-versatile وdeepseek-r1-distill-llama-70b. يوفر هذا التكامل أوقات استدلال سريعة مع الحفاظ على جودة عالية لتوليد السيناريوهات. - تحسين عرض مخرجات النموذج: بالنسبة للنماذج مثل DeepSeek التي توفر تفكيرًا بجانب مخرجاتها، يعرض AttackGen الآن هذا التفكير في ودجة موسّعة قابلة للطي. يتيح هذا للمستخدمين عرض عملية تفكير النموذج عند الرغبة مع الحفاظ على مخرجات السيناريو الرئيسية نظيفة ومركزة. |
| تحديث دعم نماذج OpenAI | - أحدث النماذج: يدعم AttackGen الآن أحدث نموذج تفكير o3 من OpenAI وإصدار GA (التوفر العام) من نموذج o1، ليحل محل إصدار المعاينة السابق. توفر هذه التحديثات الوصول إلى نماذج أكثر استقرارًا وتحسينًا لتوليد السيناريوهات. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| دعم نماذج 'التفكير' الجديدة من OpenAI | - توليد سيناريو محسّن: يدعم AttackGen الآن نماذج 'التفكير' الجديدة من OpenAI (o1-preview وo1-mini)، مما يتيح توليد سيناريوهات استجابة حوادث مفصلة ودقيقة للغاية. تقدم هذه النماذج تماسكًا وعمقًا محسنين في إنشاء السيناريوهات. |
| دعم مصفوفة MITRE ATT&CK ICS | - نطاق موسع: يدعم AttackGen الآن توليد سيناريوهات اختبار استجابة الحوادث باستخدام مصفوفة MITRE ATT&CK ICS (أنظمة التحكم الصناعية)، بالإضافة إلى مصفوفة المؤسسات. يتيح هذا للمستخدمين إنشاء سيناريوهات مخصصة لبيئات الصناعة والبنية التحتية الحرجة. |
| تحديث بيانات ATT&CK المصدرية إلى v15.1 | - أحدث معلومات استخباراتية عن التهديدات: تستخدم الأداة الآن أحدث بيانات MITRE ATT&CK (v15.1)، مما يضمن أن السيناريوهات المُولَّدة تعكس أحدث التكتيكات والتقنيات والإجراءات المعروفة التي يستخدمها الفاعلون المهددون. |
| تحديث بيانات مجموعات الفاعلين المهددين | - تغطية شاملة: تم تحديث بيانات المجموعات لتشمل أحدث المجموعات المُتتبعة في MITRE ATT&CK، مثل Scattered Spider. يضمن هذا أن المستخدمين يمكنهم توليد سيناريوهات بناءً على أحدث معلومات الفاعلين المهددين المتاحة. |
| تحميل مفاتيح API / الأسرار من ملف .env | - أمان معزز: يمكن للمستخدمين الآن تخزين مفاتيح API والمعلومات الحساسة الأخرى في ملف .env، مما يحسن الأمان ويسهل إدارة بيانات الاعتماد عبر بيئات مختلفة. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| دعم نموذج GPT-4o mini | - خيارات نماذج موسعة: يدعم AttackGen الآن استخدام نموذج GPT-4o mini من OpenAI. GPT4-o mini هو نموذج صغير فعال من حيث التكلفة للغاية. |
| تحديث خيارات النماذج لواجهة Google AI API | - خيارات نماذج موسعة: يدعم AttackGen الآن الإصدارات المستقرة والمعاينة من Gemini 1.5 Pro. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| دعم نموذج GPT-4o | - خيارات نماذج محسّنة: يدعم AttackGen الآن استخدام نموذج GPT-4o من OpenAI. GPT4-o هو النموذج الرائد من OpenAI، القادر على توليد السيناريوهات بسرعة مضاعفة مقارنة بـ GPT-4 بنصف التكلفة. |
| ما الجديد؟ | لماذا هو مفيد؟ |
| ----------- | ---------------- |
| مساعد AttackGen | - التحسين التكراري للسيناريو: تتيح واجهة الدردشة الجديدة للمستخدمين التفاعل مع سيناريوهات الاستجابة للحوادث المُولّدة، مما يسهل تحديث السيناريو وطرح الأسئلة حوله دون الحاجة إلى إعادة توليده من الصفر. تتيح هذه الميزة نهجًا تكراريًا لتطوير السيناريو، حيث يمكن للمستخدمين تحسين سيناريوهاتهم وتطويرها بناءً على ردود المساعد الذكي. - المساعدة السياقية: يستجيب المساعد الذكي لاستفسارات المستخدمين بناءً على سياق السيناريو المُولّد وسجل المحادثة. يضمن ذلك أن تكون ردود المساعد ذات صلة ومفيدة في تحسين السيناريو. |
| قوالب البدء السريع للسيناريوهات المخصصة | - التوليد السريع للسيناريو: يمكن للمستخدمين الآن توليد سيناريوهات استجابة للحوادث المخصصة بسرعة بناءً على قوالب محددة مسبقًا لأنواع شائعة من الحوادث السيبرانية، مثل هجمات التصيد، وهجمات برامج الفدية، والإصابات بالبرمجيات الخبيثة، والتهديدات الداخلية. تجعل هذه الميزة إنشاء سيناريوهات واقعية أسهل دون الحاجة إلى تحديد تقنيات ATT&CK الفردية. - سير عمل مبسط: يتم دمج اختيار القالب بسلاسة في عملية توليد السيناريو المخصص. يمكن للمستخدمين اختيار قالب، والذي يملأ تلقائيًا تقنيات ATT&CK ذات الصلة، ثم تخصيص السيناريو بشكل أكبر إذا لزم الأمر. |
| تكامل Google AI API | - خيارات نماذج موسعة: يدعم AttackGen الآن استخدام نماذج Gemini من Google لتوليد سيناريوهات الاستجابة للحوادث. يوسع هذا التكامل نطاق النماذج عالية الجودة المتاحة للمستخدمين، مما يسمح لهم بالاستفادة من قدرات الذكاء الاصطناعي من Google لإنشاء سيناريوهات واقعية ومتنوعة. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| تكامل Mistral API | - مزود نماذج بديل: يمكن للمستخدمين الآن الاستفادة من نماذج Mistral AI لتوليد سيناريوهات الاستجابة للحوادث. يوفر هذا التكامل بديلاً لنماذج OpenAI وAzure OpenAI Service، مما يسمح للمستخدمين باستكشاف ومقارنة أداء نماذج اللغة المختلفة لحالة الاستخدام الخاصة بهم. |
| دعم النماذج المحلية باستخدام Ollama | - استضافة النماذج محليًا: يدعم AttackGen الآن استخدام نماذج LLM المستضافة محليًا عبر تكامل مع Ollama. هذه الميزة مفيدة بشكل خاص للمؤسسات التي لديها متطلبات صارمة لخصوصية البيانات أو التي تفضل الاحتفاظ ببياناتها في مواقعها المحلية. يرجى ملاحظة أن هذه الميزة غير متاحة لمستخدمي إصدار AttackGen المستضاف على Streamlit Community Cloud على https://attackgen.streamlit.app |
| تكامل LangSmith اختياري | - مرونة محسّنة: أصبح التكامل مع LangSmith اختياريًا الآن. إذا لم يتم توفير مفتاح LangChain API، سيرى المستخدمون رسالة إعلامية توضح أن التشغيل لن يتم تسجيله بواسطة LangSmith، بدلاً من ظهور خطأ. يحسّن هذا التغيير تجربة المستخدم العامة ويسمح للمستخدمين بمواصلة استخدام AttackGen دون الحاجة إلى LangSmith. |
| إصلاحات وتحسينات متنوعة للأخطاء | - تجربة مستخدم محسّنة: يتضمن هذا الإصدار العديد من إصلاحات الأخطاء والتحسينات على واجهة المستخدم، مما يجعل AttackGen أكثر سهولة في الاستخدام وأكثر متانة. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| تكامل Azure OpenAI Service | - تكامل محسّن: يمكن للمستخدمين الآن اختيار استخدام نماذج OpenAI المنشورة على Azure OpenAI Service، بالإضافة إلى OpenAI API القياسي. يوفر هذا التكامل حلاً سلسًا وآمنًا لدمج AttackGen في الأنظمة البيئية الحالية لـ Azure، مع الاستفادة من الاتفاقيات التجارية والسرية القائمة. - أمان بيانات محسّن: يضمن تشغيل AttackGen من Azure بقاء أوصاف التطبيق والبيانات الأخرى داخل بيئة Azure، مما يجعله مثاليًا للمؤسسات التي تتعامل مع بيانات حساسة في نماذج التهديدات الخاصة بها. |
| LangSmith لـ Azure OpenAI Service | - تصحيح أخطاء محسّن: يتوفر الآن تتبع LangSmith للسيناريوهات المُولّدة باستخدام Azure OpenAI Service. توفر هذه الميزة أداة قوية لتصحيح الأخطاء واختبار ومراقبة أداء النموذج، مما يسمح للمستخدمين بالحصول على رؤى حول عملية اتخاذ القرار في النموذج وتحديد المشكلات المحتملة في السيناريوهات المُولّدة. - ملاحظات المستخدم: يلتقط LangSmith أيضًا ملاحظات المستخدم حول جودة السيناريوهات المُولّدة باستخدام Azure OpenAI Service، مما يوفر رؤى قيمة حول أداء النموذج ورضا المستخدم. |
| اختيار النموذج لـ OpenAI API | - خيارات نماذج مرنة: يمكن للمستخدمين الآن الاختيار من بين عدة نماذج متاحة من نقطة نهاية OpenAI API، مثل gpt-4-turbo-preview. يسمح ذلك بتخصيص أكبر وتجربة نماذج لغة مختلفة، مما يمكن المستخدمين من العثور على النموذج الأنسب لحالة الاستخدام الخاصة بهم. |
| صورة حاوية Docker | - نشر سهل: يتوفر AttackGen الآن كصورة حاوية Docker، مما يسهل نشر وتشغيل التطبيق في بيئة متسقة وقابلة للتكرار. هذه الميزة مفيدة بشكل خاص للمستخدمين الذين يرغبون في تشغيل AttackGen في بيئة حاويات، أو لأولئك الذين يرغبون في نشر التطبيق على منصة سحابية. |
| ما الجديد؟ | لماذا هو مفيد؟ |
|---|---|
| سيناريوهات مخصصة بناءً على تقنيات ATT&CK | - للمؤسسات الناضجة: هذه الميزة مفيدة بشكل خاص إذا كانت مؤسستك لديها قدرات متقدمة في استخبارات التهديدات. على سبيل المثال، إذا كنت تراقب مجموعة تهديدات جديدة أو أقل شهرة، يمكنك تخصيص سيناريوهات اختبار الاستجابة للحوادث بما يتناسب مع التقنيات التي تستخدمها تلك المجموعة. - اختبار مركّز: بدلاً من ذلك، استخدم هذه الميزة لتركيز اختبار الاستجابة للحوادث على أجزاء محددة من سلسلة القتل السيبراني أو تكتيكات MITRE ATT&CK معينة مثل 'الحركة الجانبية' أو 'استخراج البيانات'. هذا مفيد للمؤسسات التي تسعى إلى تقييم وتحسين مجالات محددة من وضعها الدفاعي. |
| ملاحظات المستخدم على السيناريوهات المُولّدة | - جمع الملاحظات ضروري لتتبع أداء النموذج بمرور الوقت ويساعد في إبراز نقاط القوة والضعف في مهام توليد السيناريو. |
| تحسين معالجة الأخطاء لمفاتيح API المفقودة | - تجربة مستخدم محسّنة. |
استبدال أدوات Streamlit st.spinner بأداة st.status الجديدة | - يوفر رؤية أفضل للعمليات طويلة الأمد (أي توليد السيناريو). |
الإصدار الأولي.
purple_team_narrative| سجل نماذج أبسط | - أمر أقل لكل نموذج: وسيطة max_completion_tokens وقاعدة درجة حرارة نموذج الاستدلال تُوجَّهان الآن من المزود بدلاً من علامة uses_max_completion_tokens لكل نموذج — كل نموذج محادثة OpenAI حالي يستخدمهما، لذا كررت العلامة حقيقة كان مفتاح المزود يلتقطها بالفعل. إضافة نموذج OpenAI جديد تبقى تعديل إدخال واحد في MODELS، دون علامة إضافية لتذكرها.- لا تغيير في السلوك: تبسيط داخلي فقط — يبني الغلاف وسيطات LiteLLM متطابقة لكل نموذج حالي. |
AttackGen_APT29_Enterprise_20260714-153045.md| ما الجديد؟ | لماذا هو مفيد؟ |
| ----------- | ----------------- |
| سيناريوهات التهديد الداخلي للذكاء الاصطناعي | - نوع سيناريو جديد: صفحة مخصصة تولّد تمارين طاولة لاستجابة الحوادث يكون فيها وكيل ذكاء اصطناعي متقدم منتشر داخل مؤسستك بمثابة تهديد داخلي — من خلال سوء التوافق، أو اختراق المكافآت، أو الأهداف الناشئة، أو التسوية عبر حقن الأوامر. استنادًا إلى نموذج التهديد من الأفعال أعلى صوتًا من الرموز: نموذج تهديد داخلي لوكالات الذكاء الاصطناعي المتقدمة. - مدفوع بنمط النشر: تتشكل السيناريوهات وفقًا لمستوى استقلالية الوكيل (L1 مساعد خاضع للإشراف → L4 أسطول مستقل بالكامل)، وهو المحدد الأساسي لسطح التهديد ووضعية الكشف. - خمس فئات للتهديد الداخلي: تسوية بيانات الاعتماد، تخريب سلسلة التوريد، تسريب البيانات، تخريب البنية التحتية، والخداع والمراوغة — كل منها مرتبط بمظاهر ملموسة لوكيل الذكاء الاصطناعي بدلاً من الدوافع البشرية. - 23 تهديدًا من STRIDE لوكالات الذكاء الاصطناعي: تصنيف STRIDE كامل (الانتحال، العبث، الإنكار، كشف المعلومات، رفض الخدمة، رفع الامتيازات) مُكيَّف لوكالات الذكاء الاصطناعي المتقدمة، ويُستخدم اختياريًا لتضييق نطاق السيناريو. - ضوابط متوافقة مع NIST CSF: تتضمن السيناريوهات المُولَّدة إجراءات تخفيف ذات أولوية مرتبطة بإطار الأمن السيبراني NIST (التحديد، الحماية، الكشف، الاستجابة، الاسترداد). - تكافؤ المزودين: يدعم نفس مجموعة المزودين المستخدمة في بقية AttackGen مع تتبع LangSmith اختياري. |
| ترحيل LiteLLM وتوحيد المزودين | - غلاف LLM موحد: تتدفق جميع عمليات تكامل المزودين الآن عبر غلاف واحد core/llm.py يستخدم LiteLLM. إضافة نموذج جديد هي تعديل سطر واحد في قائمة MODELS في core/models.py؛ وإضافة مزود هي إدخال ProviderInfo واحد. يعكس النمط المستخدم في stride-gpt.- تقليص هائل للكود: إزالة ~3,800 سطر من التفرعات المكررة لكل مزود عبر الصفحات الأربع (~1,000 سطر من كتل if model_provider == ... بالإضافة إلى ثماني دوال غلاف شبه متطابقة لكل صفحة). كل صفحة الآن تبني قواميس رسائل بسيطة وتستدعي call_llm(config, messages).- شريط جانبي مدفوع بالسجل: يتم الآن توليد الشريط الجانبي للترحيب من سجل المزودين، ليحل محل ثماني كتل مزود مكتوبة يدويًا بحلقة واحدة. - قوائم نماذج محدثة: تم التحديث إلى أحدث النماذج — عائلة OpenAI GPT-5.5 / 5.4، وAnthropic Claude 4.6 / 4.7 / 4.8، ومعاينة Google Gemini 3.x، وMistral Large 3 / Magistral، وGroq GPT-OSS وQwen3. - توحيد المزودين: استبدال إدخالي Azure OpenAI Service وOllama المنفصلين بخيار واحد مخصص (متوافق مع OpenAI). تعمل عمليات نشر Azure وOllama ( http://localhost:11434/v1) وLM Studio (http://localhost:1234/v1) وOpenRouter ونقاط النهاية المستضافة ذاتيًا جميعها عبر هذا المسار الواحد.- بصمة تبعيات أصغر: إزالة حزم langchain وlangchain-anthropic وlangchain-core وlangchain-community وlangchain-google-genai وlangchain-mistralai وlangchain-openai وanthropic — واستبدالها بتبعية واحدة litellm>=1.40. يتم الاحتفاظ بـ langsmith للتتبع الاختياري.- الحفاظ على تتبع LangSmith: يستمر مزخرف @traceable وودجة التغذية الراجعة في العمل بشفافية؛ يغلّف core/llm.py دالة call_llm بـ @traceable عند توفر عميل LangSmith. |
| تحديث أمان صورة Docker | - صورة أساسية محدثة: تحديث ملخص python:3.12-slim لمسح ثغرات CVE القديمة في طبقة نظام التشغيل التي رصدها فحص كود Trivy، مما يقلل عدد التنبيهات المفتوحة ضد صورة الحاوية المنشورة.- إصلاح pip CVE-2025-8869: تتم الآن ترقية pip قبل تثبيت المتطلبات، لالتقاط إصلاح فحوصات الروابط الرمزية المفقودة أثناء استخراج الحزم. |
| إخراج LLM المتدفق | - توليد رمزًا برمز: السيناريوهات ومحادثة مساعد AttackGen تبث الرموز فور وصولها بدلاً من الانتظار حتى اكتمال الاستجابة الكاملة، مما يجعل التوليدات الطويلة سريعة الاستجابة ويمكنك القراءة أثناء كتابة النموذج. - واجهة برمجة تدفق اختيارية: إضافة call_llm_stream بجانب call_llm في غلاف LiteLLM الموحد، بحيث يختار المتصلون ما إذا كانوا يريدون البث دون تغيير بقية العقد.- معالجة نظيفة للتفكير: يساعد مساعد stream_filter_thinking ذو الحالة في قمع مناطق <think>...</think> في العرض المباشر بينما يستمر clean_model_response بعد البث في ملء موسّع التفكير من النص الخام الكامل. |
| مفتاح الخصم المعزز بالذكاء الاصطناعي | - مفتاح جديد لكل صفحة: إضافة مفتاح "خصم معزز بالذكاء الاصطناعي" في صفحتي مجموعة التهديدات والسيناريو المخصص يعيد صياغة السيناريو المُولَّد بحيث يستخدم الخصم الذكاء الاصطناعي لتسريع وتعزيز نفس سلسلة القتل — خفض الحد الأدنى للمهارة، وضغط الجداول الزمنية، والتنسيق المستقل، والنطاق المتوازي — بدلاً من إدخال تقنيات جديدة. - مستند إلى أبحاث Anthropic: استنادًا إلى أبحاث Anthropic LLM ATT&CK Navigator، التي وجدت أن التحول الأكثر أهمية في التهديدات السيبرانية الواقعية هو تسريع وتنسيق التقنيات الحالية بدلاً من تقنيات جديدة. - رؤية التتبع: وضع علامة ai_enhanced على السيناريوهات في LangSmith بحيث يمكن تصفية التوليدات المعززة بالذكاء الاصطناعي ومقارنتها بعمليات التشغيل الأساسية.- تم تخطيه عمدًا في صفحة التهديد الداخلي للذكاء الاصطناعي: الفاعل المهدد في تلك الصفحة هو بالفعل وكيل ذكاء اصطناعي متقدم، لذا فإن إطار "المعزز بالذكاء الاصطناعي" سيكون زائدًا عن الحاجة. |
| إصلاحات الأخطاء والتحسينات | - يتضمن هذا الإصدار عدة إصلاحات صغيرة لتلميع واجهة المستخدم والعرض عبر صفحات السيناريو والشريط الجانبي. |