¿Qué es garak?
garak es un escáner de línea de comandos que comprueba si un modelo de lenguaje o un sistema de chat puede fallar de formas que no quieres. Sus 45 módulos de sondas cubren inyección de prompts, jailbreaks como la familia DAN, trucos de codificación, fuga de datos, alucinación de paquetes, toxicidad y desinformación. Después, unos detectores juzgan cada respuesta, y garak informa de una tasa de fallos para cada par de sonda y detector. El proyecto se compara con nmap y Metasploit, pero para LLM.
Puede atacar modelos de Hugging Face, OpenAI, AWS Bedrock, Replicate, Cohere, Groq, NVIDIA NIM, modelos de llama.cpp, cualquier cosa detrás de LiteLLM y casi cualquier endpoint REST mediante un breve archivo YAML. Cada ejecución escribe un informe JSONL con cada intento y su evaluación; la versión 0.17.1 añadió a ese informe una tasa de éxito de ataque hit@k.
garak nació como proyecto independiente y ahora vive en la organización de GitHub de NVIDIA. Tiene licencia Apache 2.0, requiere Python 3.11 o posterior y ha publicado siete versiones en 2026, la última la 0.17.1, el 16 de octubre.
¿Merece la pena garak?
garak es la herramienta abierta más consolidada para averiguar con qué facilidad se puede empujar un endpoint de modelo hacia modos de fallo conocidos, y su resultado es del tipo que acepta una revisión de seguridad: una tasa de fallos por sonda y detector, respaldada por un registro JSONL de cada intento. Sus ataques salen de investigación publicada, y el mantenimiento de NVIDIA se nota en el ritmo, con versiones más o menos mensuales a lo largo de 2026 y unas 9.700 estrellas en GitHub.
Los valores por defecto son lo que hace tropezar a los nuevos usuarios. Salvo que se indique otra cosa, garak ejecuta todas las sondas, envía cada prompt cinco veces (generations: 5 en la configuración base), limita cada sonda a un tope flexible de 256 prompts y hace las peticiones de una en una. Según nuestras cuentas a partir de esa configuración, son hasta 1.280 llamadas por sonda y decenas de miles en una ejecución completa. Acotar con --spec, por ejemplo a probes.promptinject o probes.dan, y activar las peticiones en paralelo es lo que hace asequible un escaneo programado.
La variedad de destinos es su principal virtud. Bedrock, NIM, LiteLLM y los endpoints REST genéricos permiten escanear la aplicación desplegada y no solo el modelo en bruto, lo que importa porque el prompt de sistema y los filtros que haya delante del modelo cambian el resultado.
Los límites se derivan de su diseño. garak sondea un endpoint de texto; no modela las herramientas, los almacenes de datos ni los permisos de tu agente, así que la agencia excesiva y el mal uso de herramientas (OWASP LLM06) requieren PyRIT, DeepTeam o los plugins de agentes de promptfoo. La documentación se sigue describiendo como un trabajo en curso, y una alerta de un detector es una pista, no una vulnerabilidad confirmada. Las notas de la 0.17.1 enumeran ocho correcciones de detectores, una de las cuales impidió que FileDetector puntuara como aprobado un archivo sin examinar, un recordatorio de que las puntuaciones de un escáner son tan buenas como sus detectores.
Dónde se gana su sitio
Un ingeniero de AppSec que debe dar el visto bueno a un chatbot de cara al cliente
Demostrar antes del lanzamiento que el bot desplegado resiste los jailbreaks conocidos
Apuntar el generador REST de garak al endpoint de staging con un breve archivo YAML y ejecutar las sondas dan, promptinject y encoding. El informe JSONL da tasas de fallo por sonda para adjuntar a la revisión; el coste son las llamadas al modelo, cinco por prompt por defecto.
Un equipo de plataforma de ML que pasa de un modelo alojado a pesos abiertos en NVIDIA NIM
Comprobar que el nuevo modelo no ha empeorado en seguridad
Ejecutar el mismo conjunto acotado de sondas contra ambos modelos mediante sus generadores y comparar las tasas de fallo. Gratis salvo la inferencia, aunque una ejecución completa por defecto es mucho mayor de lo que necesita una comparación.
Una responsable de riesgo de modelos en un banco que prepara una auditoría de IA
Demostrar un proceso de red teaming repetible
Programar en CI un conjunto fijo de sondas de garak en cada cambio de modelo o de prompt de sistema y archivar los informes. Solo cubre debilidades a nivel de modelo, así que el mal uso de herramientas y la agencia excesiva requieren una prueba aparte que tenga en cuenta al agente.
Antes de decidirte
- Puesta en marcha
- python -m pip install -U garak (Python 3.11 o posterior), definir la clave de API del proveedor y ejecutar, por ejemplo, garak --target_type openai --target_name <model> --spec probes.encoding. Los destinos locales de Hugging Face se ejecutan en tu propio hardware.
- Integraciones
- Generadores para Hugging Face, OpenAI, Bedrock (Converse API), Replicate, Cohere, Groq, NVIDIA NIM, llama.cpp, LiteLLM, WebSocket y cualquier endpoint REST mediante YAML; informes JSONL y un script analyse_log.py que enumera los prompts con más alertas.
- Datos y privacidad
- Los prompts y las respuestas van solo al destino que configures; los informes y registros se quedan en local en garak_runs. Apache 2.0 permite el uso comercial, el README no describe telemetría y no se han publicado avisos de seguridad en GitHub.
- Coste a escala
- La herramienta es gratuita; el gasto es la inferencia. Cinco generaciones y un tope flexible de 256 prompts por sonda suponen hasta 1.280 llamadas por sonda, así que una ejecución sin acotar sobre 45 módulos de sondas puede llegar a decenas de miles de llamadas.
- Límites
- Centrado en texto y en un solo endpoint, sin modelo de las herramientas ni los permisos del agente; las peticiones son secuenciales salvo que se defina parallel_requests; 287 incidencias abiertas; la precisión de los detectores se sigue corrigiendo versión a versión.
Lo bueno
- 45 módulos de sondas con ataques publicados en una sola CLI
- Escanea casi cualquier endpoint, incluidos REST y LiteLLM
- Tasas de fallo por sonda en un informe JSONL
- Apache 2.0 con versiones más o menos mensuales
Lo malo
- Prueba endpoints de texto, no herramientas ni permisos de agentes
- Las ejecuciones completas por defecto hacen decenas de miles de llamadas
- Las alertas de los detectores requieren revisión manual
- Documentación todavía incompleta
Ideal para
Equipos que quieren un escaneo de vulnerabilidades repetible, a nivel de modelo, de un endpoint de LLM antes del lanzamiento y tras cada cambio de modelo.
Alternativas a garak
garak: preguntas frecuentes
- ¿Merece la pena garak?
- El escáner abierto de referencia para las debilidades a nivel de modelo: ejecútalo antes del lanzamiento y tras cada cambio de modelo, pero no lo confundas con una prueba de las herramientas y los permisos de tu agente. Le damos un 4.3 sobre 5.
- ¿Cuánto cuesta garak?
- Gratuito y de código abierto bajo Apache 2.0. Solo pagas las llamadas al modelo que hace un escaneo.
- ¿Qué inconvenientes tiene garak?
- Prueba endpoints de texto, no herramientas ni permisos de agentes; las ejecuciones completas por defecto hacen decenas de miles de llamadas; las alertas de los detectores requieren revisión manual; documentación todavía incompleta.
- ¿Para quién es garak?
- Equipos que quieren un escaneo de vulnerabilidades repetible, a nivel de modelo, de un endpoint de LLM antes del lanzamiento y tras cada cambio de modelo.
- ¿Cuánto cuesta garak para un equipo o en producción?
- La herramienta es gratuita; el gasto es la inferencia. Cinco generaciones y un tope flexible de 256 prompts por sonda suponen hasta 1.280 llamadas por sonda, así que una ejecución sin acotar sobre 45 módulos de sondas puede llegar a decenas de miles de llamadas.
- ¿Es garak seguro para los datos de la empresa?
- Los prompts y las respuestas van solo al destino que configures; los informes y registros se quedan en local en garak_runs. Apache 2.0 permite el uso comercial, el README no describe telemetría y no se han publicado avisos de seguridad en GitHub.
- ¿Cuáles son las mejores alternativas a garak?
- Las alternativas más cercanas que hemos analizado son PyRIT, DeepTeam y promptfoo.
Respuestas comprobadas el 23 oct 2026.