DeepTeam - إطار عمل اختبار اللون الأحمر للنماذج اللغوية
DeepTeam هو إطار عمل مفتوح المصدر لاختبار اللون الأحمر للنماذج اللغوية من فريق DeepEval. يحاكي الهجمات العكسية ضد تطبيق النموذج اللغوي — حقن الأوامر، كسر الأقفال، تسرب البيانات الشخصية، الوكالة المفرطة، الانحياز — باستخدام مكتبة من نقاط الضعف و تحسينات الهجوم التي تعيد كتابة الهجوم الأساسي لتجنب الدفاعات. الفكرة الموجهة هي أن اختبار اللون الأحمر يجب أن يكون متكررًا وآليًا، وليس تمرينًا يدويًا لمرة واحدة، لذا فهو يعمل مثل مجموعة اختبار في CI.
اختبر اللون الأحمر فقط للأنظمة التي تملكها أو يُرخص لك باختبارها. الهجمات المُنتجة هي مدخلات معادية حقيقية.
التثبيت
| الطريقة | الأمر |
|---|
| pip | pip install deepteam |
| uv | uv add deepteam |
| مفتاح النموذج | export OPENAI_API_KEY=... (محاكي + حكم) |
| التحقق | python -c "import deepteam; print('ok')" |
المفاهيم الأساسية
| المصطلح | المعنى |
|---|
| نقطة ضعف | فئة ضعف يجب فحصها (مثل تسرب البيانات الشخصية) |
| هجوم | تقنية تستخدم لتفعيلها (مثل حقن الأوامر) |
| تحسين | تحويل يجعل الهجوم أصعب في الكشف |
| رد اتصال النموذج | تطبيقك، مُغلّف كدالة يمكن لـ DeepTeam استدعاؤها |
| تقييم المخاطر | تقرير مسجل بما نجح |
تشغيل اختبار اللون الأحمر الحد الأدنى
from deepteam import red_team
from deepteam.vulnerabilities import Bias, PIILeakage
from deepteam.attacks.single_turn import PromptInjection
async def model_callback(input: str) -> str:
# call YOUR app/model here and return its output
return await my_llm_app(input)
risk = red_team(
model_callback=model_callback,
vulnerabilities=[Bias(), PIILeakage()],
attacks=[PromptInjection()],
)
print(risk)
| الحجة | الغرض |
|---|
model_callback | محول إلى نظامك قيد الاختبار |
vulnerabilities | ما هي نقاط الضعف التي يجب فحصها |
attacks | أي تقنيات يجب استخدامها |
attacks_per_vulnerability_type | حجم حالات الاختبار |
فئات نقاط الضعف
| الفئة | الفحص |
|---|
PIILeakage | تسرب البيانات الشخصية |
Bias | انحياز الجنس/العرق/الدين/السياسة |
Toxicity | مخرجات ضارة أو مسيئة |
PromptLeakage | كشف موجه النظام |
ExcessiveAgency | اتخاذ إجراءات غير مصرح بها |
Misinformation | ادعاءات غير حقيقية/غير مدعومة |
IllegalActivity | امتثال للتعليمات غير الآمنة |
Robustness | اختطاف / الاعتماد الزائد على المدخلات |
الهجمات والتحسينات
| هجوم بدورة واحدة | التقنية |
|---|
PromptInjection | تعليمات مُحقونة |
Roleplay | تجاوز قائم على الشخصية |
Base64 / ROT13 / Leetspeak | تجنب الترميز |
Multilingual | تجاوز غير إنجليزي |
MathProblem | إخفاء من خلال الصياغة |
| هجوم متعدد الأدوار | التقنية |
|---|
LinearJailbreaking | تصعيد الأدوار |
TreeJailbreaking | بحث متفرع عن تجاوز |
CrescendoJailbreaking | تصعيد تدريجي |
التشغيل في CI
# red_team.py — fail the build if high-severity issues appear
risk = red_team(model_callback=cb, vulnerabilities=[...], attacks=[...])
assert risk.overall_score >= THRESHOLD, "Red team failures detected"
| الممارسة | السبب |
|---|
| تثبيت مجموعة سيناريو | نتائج قابلة للمقارنة عبر التشغيلات |
| البوابة على الخطورة | حظر فقط الانحدار عالي المخاطر |
| تخزين التقارير | تتبع الموقف بمرور الوقت |
| إعادة التشغيل على تغيير المحفز | المحفزات هي السطح التحكمي |
DeepTeam مقابل الأدوات ذات الصلة
| الجانب | DeepTeam | garak | PyRIT | promptfoo |
|---|
| الطبقة | التطبيق | النموذج | النموذج + متعدد الأدوار | التطبيق |
| الأسلوب | مجموعة Pythonic | ماسح CLI | SDK التنسيق | Config + CLI |
| متعدد الأدوار | نعم | محدود | قوي | نعم |
| الأفضل لـ | اختبار اللون الأحمر الآلي على مستوى التطبيق | فحوصات النموذج الواسعة | أبحاث الهجوم المعقدة | تقييم CI + اختبار اللون الأحمر |
يكمل garak (فحوصات طبقة النموذج) و promptfoo (تقييم + CI)؛ تشغيل أكثر من واحد — يلتقطون فشل مختلف.
الموارد