إعداد بيئة الفريق الأحمر

نظرة عامة على مجموعة أدوات الفريق الأحمر

3 دقيقة للقراءة

يتطلب اختبار اختراق الذكاء الاصطناعي الاحترافي أدوات متخصصة. يقدم هذا الدرس الأطر الرئيسية مفتوحة المصدر المتاحة في 2025، مما يساعدك على اختيار الأداة المناسبة لاحتياجات الاختبار الخاصة بك.

ترسانة الفريق الأحمر الحديثة للذكاء الاصطناعي

┌─────────────────────────────────────────────────────────────┐
│              أدوات الفريق الأحمر للذكاء الاصطناعي (2025)     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │  DeepTeam   │  │   Garak     │  │   PyRIT     │         │
│  │ (Confident) │  │  (NVIDIA)   │  │ (Microsoft) │         │
│  ├─────────────┤  ├─────────────┤  ├─────────────┤         │
│  │ 40+ ثغرة   │  │ 100+ اختبار │  │ متعدد الأدوار│         │
│  │ 10+ هجمات  │  │ CLI أولاً   │  │ تنسيق       │         │
│  │ Python API  │  │ قابل للتوسيع│  │ تركيز Azure │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
│                                                             │
│  ┌─────────────────────────────────────────────────┐       │
│  │              Promptfoo (اختبار عشوائي)           │       │
│  ├─────────────────────────────────────────────────┤       │
│  │ • حالات اختبار YAML • تكامل CI/CD              │       │
│  │ • محايد للمزود • مكتبة تأكيدات                 │       │
│  └─────────────────────────────────────────────────┘       │
└─────────────────────────────────────────────────────────────┘

مصفوفة مقارنة الأدوات

الأداة نقاط القوة الأفضل لـ منحنى التعلم
DeepTeam ثغرات شاملة، Python API اختبار الاختراق العام متوسط
Garak 100+ اختبار هجوم، CLI أولاً المسح السريع منخفض
PyRIT تنسيق متعدد الأدوار الهجمات المتقدمة عالي
Promptfoo تكامل CI/CD، تكوين YAML الاختبار المستمر منخفض

نظرة عامة على التثبيت

جميع الأدوات قابلة للتثبيت عبر pip وتعمل على Windows وmacOS وLinux:

# تثبيت جميع أدوات اختبار الاختراق
# شغّل في الطرفية (أي منصة):
# pip install deepteam garak pyrit promptfoo

# التحقق من التثبيتات
import subprocess
import sys

def verify_installations():
    """التحقق من تثبيت جميع الأدوات بشكل صحيح."""
    tools = {
        "deepteam": "deepteam",
        "garak": "garak",
        "pyrit": "pyrit",
    }

    results = {}
    for name, package in tools.items():
        try:
            __import__(package)
            results[name] = "مُثبّت"
        except ImportError:
            results[name] = "غير موجود"

    return results

# تحقق من إعدادك
status = verify_installations()
for tool, state in status.items():
    print(f"{tool}: {state}")

اختيار الأداة المناسبة

from enum import Enum
from dataclasses import dataclass
from typing import List

class TestingGoal(Enum):
    QUICK_SCAN = "quick_scan"  # مسح سريع
    COMPREHENSIVE = "comprehensive"  # شامل
    MULTI_TURN = "multi_turn"  # متعدد الأدوار
    CI_CD = "ci_cd"  # تكامل مستمر

@dataclass
class ToolRecommendation:
    """توصية بالأدوات بناءً على أهداف الاختبار."""
    goal: TestingGoal
    primary_tool: str
    secondary_tools: List[str]
    rationale: str

def recommend_tool(goal: TestingGoal) -> ToolRecommendation:
    """الحصول على توصية الأداة لهدفك."""
    recommendations = {
        TestingGoal.QUICK_SCAN: ToolRecommendation(
            goal=goal,
            primary_tool="Garak",
            secondary_tools=["Promptfoo"],
            rationale="CLI أولاً مع 100+ اختبار للتقييم السريع"
        ),
        TestingGoal.COMPREHENSIVE: ToolRecommendation(
            goal=goal,
            primary_tool="DeepTeam",
            secondary_tools=["Garak", "PyRIT"],
            rationale="40+ فئة ثغرات مع Python API"
        ),
        TestingGoal.MULTI_TURN: ToolRecommendation(
            goal=goal,
            primary_tool="PyRIT",
            secondary_tools=["DeepTeam"],
            rationale="ينسق سلاسل هجوم متعددة الأدوار معقدة"
        ),
        TestingGoal.CI_CD: ToolRecommendation(
            goal=goal,
            primary_tool="Promptfoo",
            secondary_tools=["Garak"],
            rationale="تكوين YAML، تكامل سهل مع خطوط الأنابيب"
        ),
    }
    return recommendations[goal]

# مثال: اختبار شامل
rec = recommend_tool(TestingGoal.COMPREHENSIVE)
print(f"الأساسي: {rec.primary_tool}")
print(f"السبب: {rec.rationale}")

أفضل ممارسات إعداد البيئة

from pathlib import Path
import os

def setup_red_team_environment():
    """تكوين البيئة لاختبار الاختراق."""
    # إنشاء هيكل المشروع (عبر المنصات)
    project_root = Path.cwd() / "red-team-project"
    directories = [
        project_root / "attacks",  # الهجمات
        project_root / "results",  # النتائج
        project_root / "reports",  # التقارير
        project_root / "configs",  # التكوينات
    ]

    for directory in directories:
        directory.mkdir(parents=True, exist_ok=True)
        print(f"تم إنشاء: {directory}")

    # إنشاء قالب .env
    env_template = project_root / ".env.example"
    env_content = """# مفاتيح API للنماذج المستهدفة
OPENAI_API_KEY=your-key-here
ANTHROPIC_API_KEY=your-key-here
AZURE_OPENAI_ENDPOINT=your-endpoint

# تكوين الفريق الأحمر
RED_TEAM_LOG_LEVEL=INFO
RED_TEAM_OUTPUT_DIR=./results
"""
    env_template.write_text(env_content)
    print(f"تم إنشاء: {env_template}")

    return project_root

# إعداد بيئتك
project = setup_red_team_environment()

رؤية أساسية: ابدأ بـ Garak للمسح السريع، ثم انتقل إلى DeepTeam للاختبار الشامل، واستخدم PyRIT للهجمات المتقدمة متعددة الأدوار.

بعد ذلك، سنثبت ونكوّن DeepTeam لمسح الثغرات. :::

اختبار

الوحدة 2: إعداد بيئة الفريق الأحمر

خذ الاختبار