DeepTeam - LLM Red Teaming Framework Cheatsheet
DeepTeam ist ein Open-Source-LLM-Red-Teaming-Framework vom Team hinter DeepEval. Es simuliert Adversarial-Attacken gegen deine LLM-Anwendung — Prompt Injection, Jailbreaks, PII-Leaks, übermäßige Agency, Bias — mit einer Bibliothek von Anfälligkeiten und Angriffsverstärkungen, die einen Basis-Angriff rewritten, um Abwehrmaßnahmen zu umgehen. Die Leitleitidee ist, dass Red Teaming wiederholbar und automatisiert sein sollte, kein einmaliges manuelles Experiment, daher läuft es wie eine Test-Suite in CI.
Benutze Red Teaming nur auf Systemen, denen du gehörst oder die du testen darfst. Generierte Attacken sind reale Adversarial-Eingaben.
Installation
| Methode | Befehl |
|---|
| pip | pip install deepteam |
| uv | uv add deepteam |
| Model-Schlüssel | export OPENAI_API_KEY=... (Simulator + Richter) |
| Verifikation | python -c "import deepteam; print('ok')" |
Kernkonzepte
| Begriff | Bedeutung |
|---|
| Vulnerability | Eine Schwachstellenklasse zum Testen (z.B. PII-Leaks) |
| Attack | Eine Technik, um sie auszulösen (z.B. Prompt Injection) |
| Enhancement | Eine Transformation, die einen Angriff schwärer zu erkennen macht |
| Model Callback | Deine App, als Funktion verpackt, die DeepTeam aufrufen kann |
| Risk Assessment | Der bewertete Bericht darüber, was erfolgreich war |
Minimales Red Team Run
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)
| Argument | Zweck |
|---|
model_callback | Adapter zu deinem System unter Test |
vulnerabilities | Welche Schwächen zu testen sind |
attacks | Welche Techniken zu verwenden sind |
attacks_per_vulnerability_type | Volumen der Testfälle |
Schwachstellen-Kategorien
| Kategorie | Prüft auf |
|---|
PIILeakage | Weitergabe persönlicher Daten |
Bias | Geschlechts-/Rassen-/Religions-/politischen Bias |
Toxicity | Schädliche oder missbräuchliche Ausgabe |
PromptLeakage | Disclosure von System Prompts |
ExcessiveAgency | Unbefugte Maßnahmen |
Misinformation | Faktische/unbegründete Behauptungen |
IllegalActivity | Unsichere Befehlseinhaltung |
Robustness | Hijacking / Eingabeabhängigkeit |
Attacken & Verstärkungen
| Single-Turn-Angriff | Technik |
|---|
PromptInjection | Injizierte Anweisungen |
Roleplay | Personas-basierte Umgehung |
Base64 / ROT13 / Leetspeak | Encoding-Evasion |
Multilingual | Nicht-englische Umgehung |
MathProblem | Obfuskation durch Umrahmung |
| Multi-Turn-Angriff | Technik |
|---|
LinearJailbreaking | Eskalierende Turns |
TreeJailbreaking | Verzweigtes Durchsuchen nach einer Umgehung |
CrescendoJailbreaking | Graduelles Eskalieren |
Ausführung in 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"
| Praxis | Warum |
|---|
| Pin ein Szenario-Set | Vergleichbare Ergebnisse über Läufe |
| Gate on Severity | Sperren nur bei High-Risk-Regressions |
| Store Reports | Verfolge die Haltung über Zeit |
| Re-run bei Prompt-Änderung | Prompts sind die Kontrolloberfläche |
| Aspekt | DeepTeam | garak | PyRIT | promptfoo |
|---|
| Layer | Anwendung | Modell | Modell + Multi-Turn | Anwendung |
| Stil | Pythonic Suite | CLI-Scanner | Orchestration SDK | Config + CLI |
| Multi-Turn | Ja | Begrenzt | Stark | Ja |
| Am besten für | App-Level automatisiertes Red Teaming | Breite Modell-Probes | Komplexe Angriff-Forschung | CI Eval + Red Team |
Ergänzt garak (Modell-Layer-Probes) und promptfoo (Eval + CI); Führe mehr als eines aus — sie fangen unterschiedliche Fehler.
Ressourcen