O que é o defending-code-reference-harness

TL;DR - A Anthropic lançou o defending-code-reference-harness, um framework open-source que usa IA para encontrar vulnerabilidades em código automaticamente.

Em junho de 2026, a Anthropic publicou no GitHub um framework open-source chamado defending-code-reference-harness. O objetivo e direto: usar modelos de linguagem grande (LLMs), especialmente o Claude, para analisar código e identificar vulnerabilidades de segurança de forma automática, sem que um analista humano precise revisar linha por linha.

A ideia de usar IA para segurança de software não e nova, mas a abordagem da Anthropic traz um diferencial importante: o framework funciona como um harness de referência. Isso significa que ele define um padrão para avaliar o quão bom um modelo de IA e na tarefa de encontrar falhas em código, permitindo comparar modelos diferentes com as mesmas métricas.

O nome "defending code" reflete a proposta: usar IA na postura defensiva, ou seja, encontrar e corrigir problemas antes que um atacante explore. O framework esta disponível sob licença open-source no perfil oficial da Anthropic no GitHub e ganhou mais de 400 upvotes no Hacker News no dia do lançamento, mostrando o interesse da comunidade tech no tema.

Como funciona

O framework funciona como uma camada de orquestracao entre o código a ser analisado e o modelo de IA. Você aponta o harness para um repositório ou arquivo, ele prepara o contexto e envia para o modelo junto com instruções específicas sobre o que procurar: injecao de SQL, XSS, buffer overflow, credenciais expostas, lógica de autenticação frágil, entre outros.

Por baixo dos panos, o harness estrutura o problema como uma tarefa de raciocínio em múltiplos passos. O modelo não ve o código inteiro de uma vez, o que seria ineficiente. Em vez disso, o framework divide o análise em etapas: primeiro o modelo identifica as areas críticas (endpoints de entrada de dados, funções de autenticação, pontos de acesso ao banco), depois aprofunda a análise so nessas areas.

O resultado e um relatório estruturado com: localizacao exata da vulnerabilidade (arquivo e linha), tipo de falha segundo classificacoes como OWASP Top 10 ou CWE, nível de severidade estimado, e uma sugestão de correcao. O formato de saida e JSON por padrão, o que facilita a integração com pipelines de CI/CD e ferramentas de rastreamento de bugs.

Principais recursos

O framework vem com um conjunto de capacidades pensadas para uso real em projetos de software:

  • Análise de múltiplas linguagens: funciona com Python, JavaScript, TypeScript, Java, Go, C, C++ e outras linguagens populares, pois o modelo entende semântica de código independente da sintaxe específica
  • Categorias de vulnerabilidade: cobre as principais classes de falhas: injecao (SQL, comando, LDAP), controle de acesso, criptografia frágil, exposicao de dados sensíveis, configuração insegura e componentes vulneráveis
  • Métricas de benchmark: o harness inclui conjuntos de código com vulnerabilidades conhecidas para que você avalie a precisao do modelo, calculando taxa de verdadeiros positivos e falsos positivos
  • Integração com CI/CD: saida em JSON estruturado pronto para integrar com GitHub Actions, GitLab CI, Jenkins ou qualquer pipeline automatizado
  • Prompt engineering especializado: o framework ja inclui prompts otimizados para análise de segurança, que você pode customizar para o contexto do seu projeto
  • Comparacao entre modelos: por ser um harness de referência, facilita testar Claude vs GPT-4 vs modelos open-source na mesma base de código

Como começar: instalação passo a passo

O repositório fica em github.com/anthropics/defending-code-reference-harness. Para começar, você precisa do Python 3.10 ou superior e uma chave de API da Anthropic (disponível em console.anthropic.com). Clone o repositório com git clone, entre na pasta e instale as dependências com pip install -r requirements.txt.

Com o ambiente pronto, configure sua chave de API como variável de ambiente: ANTHROPIC_API_KEY=sua-chave-aqui. Depois aponte o framework para o código que quer analisar. O comando básico e algo como python run_harness.py --target ./seu-projeto --output relatório.json. O processo pode levar alguns minutos dependendo do tamanho do projeto.

Para ver o framework em acao antes de usar no seu código real, o repositório inclui exemplos de código com vulnerabilidades conhecidas na pasta examples/. E uma boa forma de ver o que o modelo consegue (e não consegue) detectar antes de confiar a análise no código de produção.

Continuando ↓

Exemplo prático: analisando uma API Node.js

Imagine uma API em Node.js com Express que recebe um parâmetro userId na URL e consulta o banco assim: const query = "SELECT * FROM users WHERE id = " + req.params.userId. Isso e injecao de SQL clássica, a falha mais comum em aplicações web.

Ao rodar o harness nessa API, o modelo identifica a concatenacao direta de parâmetro de usuário na query SQL, classifica como CWE-89 (Improper Neutralization of Special Elements in SQL Command), avalia a severidade como crítica, e sugere a correcao usando prepared statements: db.query("SELECT * FROM users WHERE id = ?", [req.params.userId]).

O relatório gerado indica o arquivo e a linha exata, explica o vetor de ataque (o que um invasor faria), e fornece o código corrigido. Em projetos grandes com centenas de arquivos, isso economiza horas de revisao manual e captura padroes que passariam despercebidos numa revisao de código tradicional.

Comparacao com ferramentas tradicionais

Ferramentas de análise estática tradicionais como SonarQube, Semgrep e Bandit funcionam com regras fixas. São rápidas e precisas para padroes conhecidos, mas não entendem contexto. Uma variável chamada password que armazena um hash não e falha, mas uma variável password passada em texto plano para um log e. Regras fixas dificilmente distinguem os dois casos.

O framework da Anthropic usa raciocínio semântico, não busca por padroes. O modelo entende o que o código faz de verdade, não apenas como ele parece. Isso gera menos falsos positivos em código legado e captura vulnerabilidades lógicas que ferramentas baseadas em regras não veem, como fluxos de autenticação com racecondition ou validações de permissão posicionadas no lugar errado.

A desvantagem e o custo e a velocidade: chamar um LLM para cada análise e mais caro e mais lento do que rodar um linter. Para projetos grandes, o ideal e usar as duas abordagens em conjunto: ferramentas tradicionais no pre-commit (rápido) e a análise com IA em pull requests ou schedulado (profundo).

Pontos positivos e limitacoes

O maior ponto positivo e a capacidade de entender código em contexto. O modelo ve a função inteira, entende o fluxo de dados e identifica problemas que dependem de como as pecas se conectam, não apenas de como cada linha esta escrita. Para code reviews de segurança em PRs críticos, isso e um diferencial real.

As limitacoes são claras: o modelo pode errar, especialmente em códigos com lógica de negocio muito específica. Falsos positivos acontecem quando o modelo interpreta uma lógica customizada como insegura sem ter contexto suficiente. E falsos negativos também existem, principalmente em vulnerabilidades que dependem de interacao complexa entre serviços externos.

Outro ponto de atenção: você esta enviando código para a API da Anthropic. Para projetos com código proprietário sensível, avaliar a política de uso de dados e fundamental. O Claude não usa dados de API para treinamento por padrão, mas e sempre bom confirmar os termos atuais antes de usar em produção.

Casos de uso reais

Revisao de código em pull requests: integrar o harness no pipeline de CI para analisar automaticamente cada PR antes do merge. O bot comenta diretamente no PR com as vulnerabilidades encontradas e sugestões de correcao, sem precisar esperar por um code review manual de segurança.

Auditoria de código legado: projetos antigos acumulam anos de patches e gambiarras. Rodar o harness num módulo legado antes de uma migração ou refatoracao da uma visao rápida dos riscos de segurança existentes, priorizando o que precisa ser corrigido antes de qualquer mudança estrutural.

Treinamento de desenvolvedores: usar o relatório gerado como material educativo para o time. Quando o modelo explica por que um padrão e inseguro e mostra a correcao, o desenvolvedor aprende o conceito, não apenas o fix. E mais efetivo do que simplesmente mandar o código de volta com um comentário "vulnerável, corrija".

Comparacao de modelos de IA para segurança: times de segurança que avaliam qual modelo de IA usar em seus processos internos podem usar o harness para testar diferentes modelos com as mesmas bases de código e comparar resultados de forma objetiva.

Continuando ↓

Dicas e boas práticas

Comece pelos módulos mais críticos do seu sistema, não pelo projeto inteiro. Análise primeiro o código que lida com autenticação, autorização, pagamentos e dados sensíveis. Esses são os alvos mais valiosos e onde um bug de segurança tem maior impacto real.

Combine o framework com testes de segurança existentes, não substitua. O harness e uma camada adicional de análise, não um substituto para OWASP ZAP, pentest ou análise manual de código crítico. A segurança em profundidade funciona com múltiplas camadas, cada uma capturando o que a outra deixou passar.

Revise os prompts incluídos no framework para o contexto do seu projeto. Se você trabalha com uma stack específica, como microservicos em Go ou APIs GraphQL, personalizar os prompts com exemplos do seu contexto melhora a precisao da análise e reduz falsos positivos.

Vale a pena usar?

Para times que levam segurança a serio e querem adicionar uma camada de análise inteligente ao pipeline, sim, vale muito a pena experimentar. O framework e open-source, o custo e o da API da Anthropic (que tem plano gratuito para testes), e o setup e relativamente simples.

Para projetos pequenos ou pessoais, o ganho pode não justificar a configuração. Ferramentas como Semgrep com as regras certas ja entregam bastante resultado com zero custo. Mas para times com um CI/CD maduro e preocupacao real com segurança de código, o harness da Anthropic e um dos melhores exemplos práticos de como usar IA como aliada na segurança de software.