O que é garak?
O garak é um scanner de linha de comando que verifica se um modelo de linguagem ou sistema de chat pode ser levado a falhar de maneiras indesejadas. Seus 45 módulos de probes cobrem prompt injection, jailbreaks como a família DAN, truques de codificação, vazamento de dados, alucinação de pacotes, toxicidade e desinformação. Detectores então avaliam cada resposta, e o garak informa uma taxa de falha para cada par de probe e detector. O projeto se compara ao nmap e ao Metasploit, só que para LLMs.
Ele pode ter como alvo modelos do Hugging Face, OpenAI, AWS Bedrock, Replicate, Cohere, Groq, NVIDIA NIM, modelos llama.cpp, qualquer coisa por trás do LiteLLM e quase qualquer endpoint REST por meio de um arquivo YAML curto. Cada execução grava um relatório JSONL com cada tentativa e sua avaliação; a versão 0.17.1 acrescentou a esse relatório uma taxa de sucesso de ataque hit@k.
O garak começou como um projeto independente e hoje fica na organização da NVIDIA no GitHub. É licenciado sob Apache 2.0, exige Python 3.11 ou mais recente e teve sete versões em 2026, a mais recente sendo a 0.17.1, de 16 de outubro.
garak vale a pena?
O garak é a ferramenta aberta mais consolidada para descobrir com que facilidade um endpoint de modelo pode ser empurrado para modos de falha conhecidos, e sua saída é do tipo que uma revisão de segurança aceita: uma taxa de falha por probe e detector, respaldada por um log JSONL de cada tentativa. Seus ataques vêm de pesquisas publicadas, e a manutenção da NVIDIA aparece no ritmo, com versões mais ou menos mensais ao longo de 2026 e cerca de 9.700 estrelas no GitHub.
As configurações padrão são onde os novos usuários tropeçam. Salvo instrução em contrário, o garak roda todos os probes, envia cada prompt cinco vezes (generations: 5 na configuração principal), limita cada probe a um teto flexível de 256 prompts e faz as requisições uma de cada vez. Pelas nossas contas a partir dessa configuração, são até 1.280 chamadas por probe e dezenas de milhares em uma execução completa. Restringir com --spec, por exemplo a probes.promptinject ou probes.dan, e ativar requisições paralelas é o que torna um scan agendado viável em custo.
A amplitude de alvos é o principal ponto forte. Bedrock, NIM, LiteLLM e endpoints REST genéricos permitem escanear a aplicação implantada, e não só o modelo bruto, o que importa porque o prompt de sistema e os filtros na frente do modelo mudam o resultado.
Os limites decorrem do seu design. O garak testa um endpoint de texto; ele não modela as ferramentas, os repositórios de dados ou as permissões do seu agente, então agência excessiva e uso indevido de ferramentas (OWASP LLM06) exigem PyRIT, DeepTeam ou os plugins de agente do promptfoo. A documentação ainda é descrita como um trabalho em andamento, e um alerta de detector é uma pista, não uma vulnerabilidade confirmada. As notas da 0.17.1 listam oito correções em detectores, uma das quais impediu o FileDetector de pontuar como aprovado um arquivo não examinado, um lembrete de que as pontuações de um scanner só são tão boas quanto seus detectores.
Onde ele se destaca
Um engenheiro de AppSec aprovando um chatbot voltado a clientes
Mostrar que o bot implantado resiste a jailbreaks conhecidos antes do lançamento
Aponte o gerador REST do garak para o endpoint de staging com um arquivo YAML curto e rode os probes dan, promptinject e encoding. O relatório JSONL traz taxas de falha por probe para anexar à revisão; o custo são as chamadas ao modelo, cinco por prompt por padrão.
Uma equipe de plataforma de ML migrando de um modelo hospedado para pesos abertos no NVIDIA NIM
Verificar se o novo modelo não regrediu em segurança
Rode o mesmo conjunto restrito de probes nos dois modelos por meio dos seus geradores e compare as taxas de falha. Gratuito, fora a inferência, embora uma execução completa padrão seja muito maior do que uma comparação exige.
Um responsável por risco de modelos em um banco se preparando para uma auditoria de IA
Demonstrar um processo de red teaming repetível
Agende um conjunto fixo de probes do garak no CI a cada mudança de modelo ou de prompt de sistema e arquive os relatórios. Cobre só fraquezas no nível do modelo, então uso indevido de ferramentas e agência excessiva exigem um teste à parte que conheça agentes.
Antes de decidir
- Configuração
- python -m pip install -U garak (Python 3.11 ou mais recente), defina a chave de API do provedor e rode, por exemplo, garak --target_type openai --target_name <model> --spec probes.encoding. Alvos locais do Hugging Face rodam no seu próprio hardware.
- Integrações
- Geradores para Hugging Face, OpenAI, Bedrock (Converse API), Replicate, Cohere, Groq, NVIDIA NIM, llama.cpp, LiteLLM, WebSocket e qualquer endpoint REST via YAML; relatórios JSONL e um script analyse_log.py que lista os prompts com mais acertos.
- Dados e privacidade
- Prompts e respostas vão apenas para o alvo que você configurar; relatórios e logs ficam locais em garak_runs. O Apache 2.0 permite uso comercial, o README não descreve telemetria, e nenhum aviso de segurança foi publicado no GitHub.
- Custo em escala
- A ferramenta é gratuita; o gasto é a inferência. Cinco gerações e um teto flexível de 256 prompts por probe significam até 1.280 chamadas por probe, então uma execução sem restrição nos 45 módulos de probes pode chegar a dezenas de milhares de chamadas.
- Limites
- Foco em texto e em um único endpoint, sem modelo das ferramentas ou permissões de agentes; as requisições são sequenciais a menos que parallel_requests seja definido; 287 issues abertas; a precisão dos detectores ainda está sendo corrigida versão a versão.
O que é bom
- 45 módulos de probes com ataques publicados em uma só CLI
- Escaneia quase qualquer endpoint, incluindo REST e LiteLLM
- Taxas de falha por probe em um relatório JSONL
- Apache 2.0 com versões mais ou menos mensais
O que não é
- Testa endpoints de texto, não ferramentas nem permissões de agentes
- Execuções completas padrão fazem dezenas de milhares de chamadas
- Alertas dos detectores exigem triagem manual
- Documentação ainda incompleta
Ideal para
Equipes que querem um scan de vulnerabilidades repetível, no nível do modelo, de um endpoint de LLM antes do lançamento e depois de cada troca de modelo.
Alternativas ao garak
garak: perguntas frequentes
- garak vale a pena?
- O scanner aberto de referência para fraquezas no nível do modelo: rode antes do lançamento e depois de cada troca de modelo, mas não o confunda com um teste das ferramentas e permissões do seu agente. Damos nota 4.3 de 5.
- Quanto custa garak?
- Gratuito e open source sob Apache 2.0. Você paga apenas pelas chamadas ao modelo que um scan faz.
- Quais são as desvantagens de garak?
- Testa endpoints de texto, não ferramentas nem permissões de agentes; execuções completas padrão fazem dezenas de milhares de chamadas; alertas dos detectores exigem triagem manual; documentação ainda incompleta.
- Para quem garak é indicado?
- Equipes que querem um scan de vulnerabilidades repetível, no nível do modelo, de um endpoint de LLM antes do lançamento e depois de cada troca de modelo.
- Quanto custa garak para uma equipe ou em produção?
- A ferramenta é gratuita; o gasto é a inferência. Cinco gerações e um teto flexível de 256 prompts por probe significam até 1.280 chamadas por probe, então uma execução sem restrição nos 45 módulos de probes pode chegar a dezenas de milhares de chamadas.
- garak é seguro para dados da empresa?
- Prompts e respostas vão apenas para o alvo que você configurar; relatórios e logs ficam locais em garak_runs. O Apache 2.0 permite uso comercial, o README não descreve telemetria, e nenhum aviso de segurança foi publicado no GitHub.
- Quais são as melhores alternativas ao garak?
- As alternativas mais próximas que analisamos são PyRIT, DeepTeam e promptfoo.
Respostas verificadas em 23 de out. de 2026.
