
agent-opfor v0.10.2
محاكاة خصوم مفتوحة المصدر لوكلاء الذكاء الاصطناعي وخوادم MCP.
محاكاة خصم مفتوحة المصدر لعوامل الذكاء الاصطناعي وتطبيقات LLM وخوادم MCP.
اختبر ذكاءك الاصطناعي كما يهاجمه مهاجم حقيقي — من سطر الأوامر، أو بيئة التطوير المتكاملة، أو إضافة متصفح يمكن لأي شخص في فريقك استخدامها.
الموقع الإلكتروني · الوثائق · GitHub · إضافة المتصفح · Discord
OPFOR هو اختصار لـ قوة المعارضة (Opposition Force) — مصطلح عسكري يشير إلى الوحدة التي تلعب دور العدو في التدريبات، حتى يتعلم باقي الجيش كيف تبدو الهجمات الحقيقية قبل حدوثها. سمينا الأداة على هذا المفهوم: للدفاع بشكل أفضل عن عوامل الذكاء الاصطناعي، عليك مهاجمتها أولاً.
لماذا بنينا هذا
لقد قدمنا 130 منتجًا لـ 90 شركة ناشئة خلال السنوات العشر الماضية. في الـ 18 شهرًا الأخيرة، كان كل منتج تقريبًا يحتوي على عامل ذكاء اصطناعي — وواجه كل فريق نفس المشكلة عندما يتعلق الأمر بالاختبار.
لذا بنينا OPFOR. لأنفسنا أولاً. والآن أصبح مفتوح المصدر.
مرخص بموجب Apache 2.0. مبني من الهند.
بدء سريع
npm install -g @keyvaluesystems/agent-opfor-cli
export OPENAI_API_KEY=your-key # أو GEMINI_API_KEY, ANTHROPIC_API_KEY, إلخ.
خطوة واحدة — يشغل معالج الإعداد ويبدأ المسح فورًا:
opfor run
خطوتان — حفظ إعداد قابل لإعادة الاستخدام أو الإيداع في CI:
opfor setup # المعالج يحفظ الإعداد إلى .opfor/configs/
opfor run --config .opfor/configs/<file> # تشغيل في أي وقت باستخدام الإعداد المحفوظ
https://github.com/user-attachments/assets/a6a3cff2-2cf9-4486-944e-ac0163e7ea04
ما يفعله opfor
يقوم opfor باختبار الاختراق (Red-Teaming) لكامل سطح عامل الذكاء الاصطناعي — الاستفسارات (prompts)، الأدوات، خوادم MCP، الذاكرة، والاستدلال متعدد الخطوات. يولد هجمات مستهدفة لـ OWASP LLM Top 10، وOWASP Agentic AI Top 10، وOWASP MCP Top 10، وOWASP API Security، وحزم التحيز الخاصة بـ EU AI Act، ويطلقها على هدفك، ويحكم على كل استجابة باستخدام LLM.
معظم أدوات الاختبار الاختراقي في هذا المجال ممتازة في شيء واحد — مكتبة استكشاف، أو أداة تقييم للمطورين، أو إطار برمجي. يغطي opfor مساحة أكبر في أداة واحدة:
- إضافة متصفح لغير المطورين — يمكن لأي شخص في فريقك اختبار اختراق روبوت محادثة منشور، بدون كود، بدون متغيرات بيئة، بدون YAML
- تشغيل opfor كخادم MCP — دع وكيل الترميز AI الخاص بك في Cursor أو Claude Desktop يختبر اختراق وكلائك الآخرين من خلال اللغة الطبيعية
- تغطية كاملة لـ OWASP في أداة واحدة — LLM Top 10، Agentic AI Top 10، MCP Top 10، API Security Top 10
- لا صندوق أسود — يتم تسجيل كل استفسار هجوم، طلب، استجابة، وحكم القاضي؛ قابل للتكرار، للتدقيق، وللتفرع
- مبني للعوامل (agents)، وليس فقط للنماذج — مصمم لاستدعاءات الأدوات، MCP، الذاكرة، والحالة متعددة الخطوات من اليوم الأول
- مدرك للتتبعات (trace-aware) — يتكامل مع Langfuse و Netra بحيث يرى قاضي LLM ما فعله وكيلك داخليًا، وليس فقط ما قاله
خمس طرق لتشغيل opfor
أشخاص مختلفون في فريقك يحتاجون نقاط دخول مختلفة. يوفر opfor خمسة.
| الوضع | كيف | الأفضل لـ |
|---|---|---|
| 🖥️ سطر الأوامر | opfor setup ← opfor run | المهندسون، CI/CD، سير العمل التي تعتمد على الطرفية |
| 🌐 إضافة المتصفح | تثبيت الإضافة، النقر على الأيقونة في أي واجهة محادثة | مدراء المنتجات، المصممون، ضمان الجودة، محللو الأمن — أي شخص لا يستطيع أو لا يريد كتابة كود |
| 🤖 خادم MCP | تسجيل opfor في Cursor أو Claude Desktop، ثم اسأل في الدردشة | وكلاء الترميز AI الذين يختبرون وكلاءك الآخرين |
| ⚡ المهارات (Skills) | /opfor-setup · /opfor-run · /opfor-mcp-setup · /opfor-mcp-run | مطورون يريدون اختبارًا بأمر واحد داخل IDE الخاص بهم |
| 📦 SDK | npm install @keyvaluesystems/agent-opfor-sdk، ثم استدع run / hunt من الكود الخاص بك | اختبار اختراق برمجي وسير عمل مخصص |
جميعها تشترك في نفس المقيمين، قوالب الهجوم، ومنطق الحكم.
→ مرجع CLI · إعداد إضافة المتصفح · إعداد MCP · إعداد المهارات · مرجع SDK · إدارة الجلسات
كيف يعمل
عند تشغيل مسح، يقوم opfor بـ:
- جلب معلومات الهدف — الاتصال بعاملك، اكتشاف الأدوات المتاحة، نقاط نهاية MCP، القدرات
- تخطيط الهجمات حسب الفئة — توليد استفسارات مستهدفة لكل مقيم في الحزمة المحددة
- محاكاة الهجوم — إجراء محادثات عدائية متعددة الخطوات (طلبات حقيقية، ردود حقيقية)
- التقييم بواسطة قاضٍ — يقوم قاضي LLM بتصنيف كل استجابة بنجاح/فشل + تعليل
- إنشاء تقرير — HTML للتصفح، JSON لـ CI/CD، جميع القطع الأثرية مسجلة لإمكانية التكرار
كل تشغيل يهبط في مجلد فرعي خاص به تحت .opfor/reports/run-report-<compactTs>-<slug>-<shortId>/ يحتوي على <slug>-report.html و <slug>-report.json. تستخدم تشغيلات opfor hunt المستقلة نفس التخطيط تحت hunt-report-<compactTs>-<slug>-<shortId>/.
تغطية المقيمين
يأتي opfor مزودًا بحزم منسقة تتوافق مع المعايير الصناعية. اختر حزمة أو شغّل مقيمين فرديين.
| معرف الحزمة | المعيار | التركيز |
|---|---|---|
owasp-llm-top10 | OWASP LLM Top 10 (2025) | حقن الاستفسار، كسر الحماية، الإفصاح الحساس، تسريب تعليمات النظام |
owasp-agentic-ai | OWASP Agentic AI Top 10 | الوكالة المفرطة، إساءة استخدام الأداة، اختطاف هدف الوكيل، تسميم الذاكرة |
owasp-mcp-top10 | OWASP MCP Top 10 (2025) | تعريض الأسرار، تصعيد النطاق، حقن وصف الأداة، SSRF |
owasp-api | OWASP API Security Top 10 | BOLA، BFLA، حقن SQL |
eu-ai-act-bias | EU AI Act — التحيز | العمر، الجنس، العرق، الإعاقة |
→ المرجع الكامل للمقيمين وربط OWASP
اختبار مدرك للتتبعات
قم بتوصيل opfor بمنصة المراقبة الخاصة بك وسيرى قاضي LLM ليس فقط الاستجابة النهائية — بل كل استدعاء أداة، استرجاع، وخطوة استدلال وسيطة. خارج الصندوق، يتكامل opfor مع Langfuse و Netra.
"telemetry": {
"provider": "langfuse",
"langfuse": { "baseUrl": "https://cloud.langfuse.com" }
}
هذا يلتقط ما يفوته اختبار الإدخال/الإخراج — PII الذي يتسرب إلى استدعاء أداة لكنه لا يصل إلى المستخدم، تصعيدات النطاق في MCP التي لا تغير نص الاستجابة، وكلاء يسترجعون بيانات غير مصرح بها لكنهم يقدمون ردًا نظيفًا.
→ دليل الاختبار المدرك للتتبعات
اختبار اختراق مستقل
opfor hunt يتجاوز ملف الإعداد تمامًا. أعطه نقطة نهاية وهدفًا، وسيقوم نظام متعدد الوكلاء — قائد، مشغلون، كشاف — بتشغيل حملة هجوم تكيفي من تلقاء نفسه: استطلاع، استراتيجية، استكشاف متعدد الخطوات، تقرير. على عكس opfor run، تعمل الوكلاء على Claude فقط (عبر مفتاح API الخاص بـ Claude، أو claude setup-token، أو جلسة claude login المحلية) — يمكن أن يكون هدفك أي شيء.
opfor hunt \
--endpoint "https://your-agent.com/v1/chat" \
--objective "ابحث عن كسر الحماية، تسريب تعليمات النظام، وتجاوزات الأمان."
أضف --ui لمشاهدة شجرة الهجوم تتكشف في لوحة تحكم حية.
إضافة المتصفح — اختبار اختراق روبوت المحادثة
إضافة المتصفح هي المسار الخالي من الكود في opfor. قم بالتثبيت من متجر Chrome الإلكتروني، افتح أي واجهة محادثة، انقر على أيقونة opfor، اختر حزمة، وشاهدها تعمل.
https://github.com/user-attachments/assets/80c2692f-b18b-4899-99df-e7eb8d50b02a
تكتشف تلقائيًا واجهة المحادثة، وترسل استفسارات الهجوم كما لو كنت تكتبها، وتراقب الردود، وتقوم بتنزيل تقرير HTML عند الانتهاء. لا CLI، لا إعداد هدف، لا YAML.
هذا هو المسار لنصف فريق المنتج الذي لا يفتح الطرفية.
→ التثبيت من متجر Chrome الإلكتروني · دليل الإعداد
SDK — تضمين اختبار الاختراق في الكود الخاص بك
SDK هو المسار البرمجي لـ opfor. قم بتثبيت @keyvaluesystems/agent-opfor-sdk، واستدع run أو hunt، واحصل على نتائج مهيكلة — بدون CLI، بدون ملفات إعداد، بدون عمليات فرعية.
import { Opfor } from "@keyvaluesystems/agent-opfor-sdk";
const opfor = new Opfor({ apiKey: process.env.ANTHROPIC_API_KEY });
const results = await opfor.run({
target: { url: "https://api.example.com/chat" },
suite: "owasp-llm-top10",
});
استخدمه في CI، في مجموعات الاختبار، أو في أي مكان تحتاج فيه إلى اختبار اختراق دون مغادرة TypeScript.
→ مرجع SDK
أمثلة
| المثال | الوصف |
|---|---|
| vanilla-chat | روبوت دعم عملاء بسيط — اختبار نقاط الضعف على مستوى LLM |
| customer-support | وكيل يستدعي أدوات مع PostgreSQL — اختبار BOLA، BFLA، RBAC، PII |
| vulnerable-server | خادم MCP نموذجي مع ثغرات متعمدة |
مزودو LLM المدعومون
| المزود | متغير البيئة | النموذج الافتراضي |
|---|---|---|
| Groq | GROQ_API_KEY | llama-3.3-70b-versatile |
| OpenAI | OPENAI_API_KEY | gpt-4o-mini |
| Anthropic | ANTHROPIC_API_KEY | claude-3-5-haiku-20241022 |
GOOGLE_GENERATIVE_AI_API_KEY | gemini-2.0-flash | |
| متوافق مع OpenAI | OPFOR_API_KEY + baseURL | LiteLLM, OpenRouter, Azure, Ollama |
المساهمة
يرجى قراءة CONTRIBUTING.md للحصول على تفاصيل حول مدونة السلوك الخاصة بنا، وعملية تقديم طلبات السحب إلينا.
المؤلفون
بني بواسطة فريق KeyValue Software Systems. اتصل بـ [email protected] لجميع الاستفسارات.
الأمان
استخدم opfor فقط على الأنظمة التي تملكها أو مخول باختبارها. للإبلاغ عن ثغرة في opfor نفسه، راجع SECURITY.md — لا تفتح مشكلة عامة.
الترخيص
Opfor مرخص بموجب Apache 2.0 — راجع ملف LICENSE للحصول على التفاصيل.
مبني بحب ❤️ بواسطة KeyValue