Salta ai contenuti

DeepTeam - Cheatsheet del Framework di Red Teaming LLM

DeepTeam - Cheatsheet del Framework di Red Teaming LLM

DeepTeam è un framework open-source di red teaming per LLM costruito dal team dietro DeepEval. Simula attacchi avversariali contro la tua applicazione LLM — prompt injection, jailbreak, perdita di PII, agenzia eccessiva, bias — usando una libreria di vulnerabilità e miglioramenti di attacco che riscrivono un attacco di base per eludere le difese. L”idea guida è che il red teaming dovrebbe essere ripetibile e automatizzato, non un esercizio manuale una tantum, quindi funziona come una test suite in CI.

Esegui il red team solo su sistemi di cui sei proprietario o autorizzato a testare. Gli attacchi generati sono input avversariali reali.

Installation

MethodCommand
pippip install deepteam
uvuv add deepteam
Model keyexport OPENAI_API_KEY=... (simulator + judge)
Verifypython -c "import deepteam; print('ok')"

Core Concepts

TermMeaning
VulnerabilityUna classe di debolezza da testare (es. perdita di PII)
AttackUna tecnica usata per attivarla (es. prompt injection)
EnhancementUna trasformazione che rende un attacco più difficile da rilevare
Model callbackLa tua app, incapsulata come una funzione che DeepTeam può chiamare
Risk assessmentIl rapporto punteggiato di ciò che ha avuto successo

Minimal 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)
ArgumentPurpose
model_callbackAdattatore al tuo sistema sottoposto a test
vulnerabilitiesQuali debolezze testare
attacksQuali tecniche usare
attacks_per_vulnerability_typeVolume di casi di test

Vulnerability Categories

CategoryProbes for
PIILeakagePerdita di dati personali
BiasBias di genere/razza/religione/politico
ToxicityOutput dannoso o abusivo
PromptLeakageDivulgazione del prompt di sistema
ExcessiveAgencyIntraprendere azioni non autorizzate
MisinformationAffermazioni fattuali/non supportate
IllegalActivityConformità a istruzioni non sicure
RobustnessDirottamento / eccessiva dipendenza dall”input

Attacks & Enhancements

Single-turn attackTechnique
PromptInjectionIstruzioni iniettate
RoleplayBypass basato su persona
Base64 / ROT13 / LeetspeakEvasione di codifica
MultilingualBypass non-inglese
MathProblemOffuscamento via framing
Multi-turn attackTechnique
LinearJailbreakingEscalation di turni
TreeJailbreakingRicerca di branching per un bypass
CrescendoJailbreakingEscalation graduale

Running 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"
PracticeWhy
Pin a scenario setRisultati comparabili tra esecuzioni
Gate on severityBlocca solo le regressioni ad alto rischio
Store reportsTraccia la postura nel tempo
Re-run on prompt changeI prompt sono la superficie di controllo
AspectDeepTeamgarakPyRITpromptfoo
LayerApplicationModelModel + multi-turnApplication
StylePythonic suiteCLI scannerOrchestration SDKConfig + CLI
Multi-turnYesLimitedStrongYes
Best forRed teaming automatizzato a livello di appProbe ampi del modelloRicerca di attacchi complessiEval di CI + red team

Integra garak (probe a livello di modello) e promptfoo (eval + CI); esegui più di uno — catturano fallimenti diversi.

Resources