Ir al contenido

DeepTeam - Hoja de Referencia del Framework de Red Teaming para LLM

DeepTeam - Hoja de Referencia del Framework de Red Teaming para LLM

DeepTeam es un framework de red teaming para LLM de código abierto creado por el equipo detrás de DeepEval. Simula ataques adversarios contra tu aplicación LLM — inyección de prompts, jailbreaks, fuga de PII, agencia excesiva, sesgo — usando una biblioteca de vulnerabilidades y mejoras de ataque que reescriben un ataque base para evadir las defensas. Su idea rectora es que el red teaming debe ser repetible y automatizado, no un ejercicio manual puntual, por lo que se ejecuta como una suite de pruebas en CI.

Haz red teaming solo en sistemas que poseas o estés autorizado a probar. Los ataques generados son entradas adversarias reales.

Instalación

MétodoComando
pippip install deepteam
uvuv add deepteam
Clave de modeloexport OPENAI_API_KEY=... (simulador + juez)
Verificarpython -c "import deepteam; print('ok')"

Conceptos Principales

TérminoSignificado
VulnerabilidadUna clase de debilidad a sondear (p. ej. fuga de PII)
AtaqueUna técnica usada para desencadenarla (p. ej. inyección de prompts)
MejoraUna transformación que hace el ataque más difícil de detectar
Callback del modeloTu aplicación, envuelta como una función que DeepTeam puede llamar
Evaluación de riesgoEl informe puntuado de lo que tuvo éxito

Ejecución Mínima de Red Team

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:
    # llama AQUÍ a tu app/modelo y devuelve su salida
    return await my_llm_app(input)

risk = red_team(
    model_callback=model_callback,
    vulnerabilities=[Bias(), PIILeakage()],
    attacks=[PromptInjection()],
)
print(risk)
ArgumentoPropósito
model_callbackAdaptador a tu sistema bajo prueba
vulnerabilitiesQué debilidades sondear
attacksQué técnicas usar
attacks_per_vulnerability_typeVolumen de casos de prueba

Categorías de Vulnerabilidad

CategoríaSondea
PIILeakageFuga de datos personales
BiasSesgo de género/raza/religión/política
ToxicitySalida dañina o abusiva
PromptLeakageDivulgación del prompt del sistema
ExcessiveAgencyRealizar acciones no autorizadas
MisinformationAfirmaciones factuales/no sustentadas
IllegalActivityCumplimiento de instrucciones inseguras
RobustnessSecuestro / exceso de confianza en la entrada

Ataques y Mejoras

Ataque de un solo turnoTécnica
PromptInjectionInstrucciones inyectadas
RoleplayElusión basada en personajes
Base64 / ROT13 / LeetspeakEvasión por codificación
MultilingualElusión en otro idioma
MathProblemOfuscación mediante el encuadre
Ataque multi-turnoTécnica
LinearJailbreakingTurnos escalonados
TreeJailbreakingBúsqueda ramificada de una elusión
CrescendoJailbreakingEscalada gradual

Ejecución en CI

# red_team.py — falla la compilación si aparecen problemas de alta severidad
risk = red_team(model_callback=cb, vulnerabilities=[...], attacks=[...])
assert risk.overall_score >= THRESHOLD, "Red team failures detected"
PrácticaPor qué
Fijar un conjunto de escenariosResultados comparables entre ejecuciones
Controlar por severidadBloquear solo ante regresiones de alto riesgo
Almacenar informesSeguir la postura a lo largo del tiempo
Reejecutar al cambiar el promptLos prompts son la superficie de control

DeepTeam frente a Herramientas Relacionadas

AspectoDeepTeamgarakPyRITpromptfoo
CapaAplicaciónModeloModelo + multi-turnoAplicación
EstiloSuite en PythonEscáner CLISDK de orquestaciónConfiguración + CLI
Multi-turnoLimitadoFuerte
Mejor paraRed teaming automatizado a nivel de appSondeos amplios del modeloInvestigación de ataques complejosEvaluación + red team en CI

Complementa a garak (sondeos a nivel de modelo) y promptfoo (evaluación + CI); ejecuta más de uno — detectan fallos diferentes.

Recursos