O AgentGG é um scanner de análise estática de código (SAST) open-source que usa agentes de IA para ler código-fonte, seguir imports, percorrer o call graph e confirmar vulnerabilidades antes de reportá-las. Lançado sob licença Apache 2.0, a ferramenta substitui a abordagem tradicional de pattern matching por uma análise contextual que reduz falsos positivos.
Pontos-chave: AgentGG usa agentes de IA para análise estática | Lê código, segue imports e call graph | Confirma vulnerabilidades antes de reportar | Licença Apache 2.0 | Reduz falsos positivos vs SAST tradicional
Por que o SAST tradicional falha
Ferramentas de análise estática existem há décadas. O método clássico é simples: casar padrões de código contra uma base de dados de vulnerabilidades conhecidas. O problema é que este método produz ruído. Uma chamada de função que parece perigosa isolada pode ser inofensiva no contexto do fluxo de dados — os inputs podem estar sanitizados três camadas acima. Resultado: engenheiros recebem centenas de alertas, perdem tempo a triar falsos positivos e perdem confiança na ferramenta.
O AgentGG muda esta dinâmica. Em vez de parar na correspondência de padrões, os agentes de IA que alimentam a ferramenta seguem o fluxo de dados através do código. Se um scanner tradicional encontra uma query SQL com concatenação de variável e reporta SQL injection, o AgentGG verifica se essa variável passa por uma função de sanitização antes de chegar à query. Só reporta se a vulnerabilidade for confirmada.
Como os agentes percorrem o código
A análise não se limita a um ficheiro. Quando um agente encontra uma chamada de função importada de outro módulo, segue o import, lê o módulo destino e verifica se há saneamento de input no caminho. Este percurso do call graph é o que distingue uma análise superficial de uma análise profunda. Ferramentas comerciais de topo fazem isto há anos, mas o custo de licenciamento coloca-as fora do alcance de muitas equipas.
O componente de IA traz outra vantagem: capacidade de raciocínio sobre padrões de vulnerabilidade que não estão em nenhuma base de dados de regras. Um agente pode identificar lógica de autorização incorrecta, validação de input baseada em allowlist mal construída ou race conditions que ferramentas baseadas em regras não detectam. A análise é probabilística, não determinística — o que significa que a qualidade dos resultados depende dos modelos de linguagem utilizados.
O trade-off da precisão
A análise baseada em IA não é gratuita. Cada agente que percorre o call graph consome tokens de modelo de linguagem, o que significa que correr o AgentGG contra uma codebase grande tem um custo. A ferramenta compensa reduzindo o tempo de triagem humano — um falso positivo que um engenheiro levaria vinte minutos a investigar é eliminado antes de chegar ao backlog.
A licença Apache 2.0 é relevante. Permite que organizações integrem o AgentGG em pipelines de CI/CD, modifiquem o código para necessidades internas e distribuam versões modificadas. Para equipas que já usam Cobalt Strike para testes de penetração, o AgentGG oferece uma camada complementar de análise estática.
Limitações e considerações práticas
A análise baseada em modelos de linguagem herita as limitações destes modelos. Um agente pode deixar passar uma vulnerabilidade se o padrão de código for suficientemente invulgar, ou pode reportar um falso positivo se o contexto de sanitização não for correctamente interpretado. A taxa de precisão depende da complexidade da codebase e da qualidade do modelo utilizado. Projectos com fluxos de dados particularmente intrincados — frameworks customizados, metaprogramação intensiva ou convenções não standard — representam o cenário mais exigente para análise automatizada.
A integração com o ecossistema de desenvolvimento é outro factor crítico. Um scanner que não se liga a pipelines de CI/CD, que não gera findings em formato SARIF ou que não se integra com GitHub GitLab acaba por ser mais um obstáculo do que uma ajuda. A comunidade em torno do projecto determina a velocidade a que estas integrações surgem. Para equipas que avaliam a ferramenta, a recomendação é medir a redução de tempo de triagem num sprint piloto antes de adoptar a nível organizacional, tal como fariam com qualquer alteração ao ciclo de gestão de vulnerabilidades existente.
Integração no ciclo de desenvolvimento
A ergonomia de um scanner SAST determina se vai ser usado. Ferramentas que produzem relatórios densos em formato proprietário acabam ignoradas. O AgentGG gera findings em formato estruturado que se integra com ferramentas de gestão de issues e plataformas de revisão de código. A confirmação prévia de vulnerabilidades significa que cada alerta que chega ao desenvolvedor merece atenção.
A fase de implementação importa. Correr o AgentGG pela primeira vez contra uma codebase madura vai encontrar problemas — alguns antigos, alguns recentes. A recomendação é tratar o primeiro scan como uma auditoria, não como um gate de CI. Depois de limpar o backlog inicial, a ferramenta pode ser integrada em pull requests para prevenir regressões.
O projecto está disponível no GitHub. Equipas que avaliam a transição de SAST baseado em regras para análise agentic devem começar com um subconjunto da codebase, comparar resultados com a ferramenta existente e medir a redução de falsos positivos antes de expandir.