Um scanner de vulnerabilidades open source é uma ferramenta gratuita que você mesmo roda para encontrar problemas de segurança no seu código, nas dependências, nos containers, no app web ou na rede. O porém é que "scanner de vulnerabilidades" cobre ferramentas muito diferentes. Um que lê código Python não tem nada a ver com um que testa portas abertas, e escolher a categoria errada é o erro mais comum.

Neste guia organizamos 13 scanners gratuitos conhecidos pelo que eles realmente escaneiam. Para cada um conferimos a licença no repositório oficial, porque "gratuito" e "open source" não são a mesma coisa, e algumas ferramentas populares têm condições que vale conhecer antes de colocar no CI.

Tabela resumo: scanners gratuitos por categoria

FerramentaCategoriaLicençaO que escaneia
Semgrep CESASTLGPL-2.1 (engine); regras do registry sob a Semgrep Rules License v1.0Código-fonte em muitas linguagens, baseado em padrões
CodeQLSASTQueries MIT; CLI sob os GitHub CodeQL TermsCódigo-fonte, queries semânticas de data flow
BanditSASTApache-2.0Código Python
BrakemanSASTBrakeman Public Use License (source-available)Aplicações Ruby on Rails
OSV-ScannerSCAApache-2.0Lockfiles e dependências, com dados do osv.dev
TrivySCA, containers, IaC, segredosApache-2.0Containers, Kubernetes, repos, cloud; vulns, misconfigs, segredos, SBOM
GrypeSCA, containersApache-2.0Imagens de container e filesystems
GitleaksSegredosMITSegredos em repos git e arquivos
TruffleHogSegredosAGPL-3.0Credenciais vazadas, com verificação
ZAPDASTApache-2.0Apps web e APIs rodando
NucleiDAST, infraMITApps, APIs, redes, DNS e configs cloud via templates YAML
NmapRedeNmap Public Source LicenseHosts, portas abertas, serviços (scripts NSE)
OpenVASRedeGPL-2.0 (scanner), parte do Greenbone Community EditionHosts e serviços de rede com vulnerabilidades conhecidas

Se você não sabe por qual camada começar, leia SAST e DAST. Em resumo: código e dependências em cada pull request; app rodando e rede, periodicamente.

1. SAST: scanners que leem seu código

A análise estática (SAST) olha o código sem executá-lo e aponta fluxos de dados que vão do input do usuário até sinks perigosos: queries SQL, comandos de shell, templates, caminhos de arquivo.

Semgrep Community Edition

O Semgrep CE é uma engine de análise estática leve para muitas linguagens. A grande vantagem é que as regras se parecem com o código que procuram, então escrever uma regra própria para o seu framework leva minutos. A engine tem licença LGPL-2.1. Atenção: as regras do Semgrep Registry são publicadas sob uma licença separada, a Semgrep Rules License v1.0, que não é a mesma da engine. O Opengrep é um fork comunitário da engine, também LGPL-2.1.

    semgrep scan --config auto

CodeQL

O CodeQL, do GitHub, trata o código como um banco de dados que você consulta. É muito poderoso para seguir data flow entre arquivos. A licença é o ponto que muita gente entende errado: o repositório de queries e bibliotecas é MIT, mas o CodeQL CLI é regido pelos GitHub CodeQL Terms. Esses termos permitem uso gratuito para pesquisa acadêmica e em codebases open source (com licença aprovada pela OSI). Para escanear código privado você precisa de uma licença paga do GitHub (Advanced Security ou Code Security).

Bandit

O Bandit, mantido pela PyCQA sob Apache-2.0, encontra problemas de segurança comuns em código Python: uso de eval, pickle, subprocess com shell=True, hashing fraco, senhas hardcoded e afins.

    bandit -r src/

Brakeman

O Brakeman é um scanner estático feito especificamente para Ruby on Rails, então entende as convenções do Rails: controllers, params, queries do ActiveRecord. Ele é distribuído sob a Brakeman Public Use License: o uso é gratuito, mas usos comerciais, conforme definidos na licença, exigem uma licença comercial, portanto é source-available e não open source segundo a OSI. Leia a licença antes de colocá-lo em um pipeline comercial.

2. SCA: dependências e containers

A maior parte do código que você publica foi escrita por outra pessoa. A análise de composição de software (SCA) cruza as versões dos seus lockfiles e imagens com bases de vulnerabilidades. É também a forma de gerar um SBOM.

OSV-Scanner

O OSV-Scanner é o scanner do Google, Apache-2.0, que lê lockfiles e manifests e compara com a base aberta osv.dev, que agrega advisories de vários ecossistemas.

    osv-scanner scan source -r ./

Trivy

O Trivy, da Aqua Security sob Apache-2.0, é o canivete suíço da lista. Ele encontra vulnerabilidades, misconfigurations e segredos, e gera SBOMs, em imagens de container, Kubernetes, repositórios de código e ambientes cloud. Se você vai instalar um único scanner para infraestrutura, é uma escolha muito comum.

    trivy fs .
trivy image meuapp:latest
trivy config ./infra

Grype

O Grype, da Anchore sob Apache-2.0, é um scanner de vulnerabilidades para imagens de container e filesystems. Combina bem com o Syft, o gerador de SBOM da Anchore, se você quiser separar inventário de matching.

    grype dir:.
grype meuapp:latest

3. Segredos: chaves e tokens no git

Um segredo commitado uma vez e apagado depois continua vivo no histórico do git. Scanners de segredos olham o histórico inteiro, não só os arquivos atuais. Comparamos as opções em detalhe em ferramentas de detecção de segredos.

Gitleaks

O Gitleaks (MIT) escaneia repos git, diretórios e arquivos procurando segredos com regras de regex e entropia. É rápido e fácil de rodar como pre-commit hook ou etapa de CI.

    gitleaks git -v

TruffleHog

O TruffleHog (AGPL-3.0) encontra, verifica e analisa credenciais vazadas. O diferencial é a verificação: ele consegue checar se uma chave detectada ainda está ativa, o que ajuda a priorizar. Lembre que a AGPL-3.0 traz obrigações se você modificar a ferramenta e oferecê-la como serviço de rede.

    trufflehog git file://. --results=verified

4. DAST: testando o app web rodando

Scanners dinâmicos não precisam do seu código. Eles enviam requests para a aplicação publicada e inspecionam as respostas, então pegam problemas de configuração e de runtime que o SAST não enxerga.

ZAP

O ZAP, que agora se chama "ZAP by Checkmarx" e tem licença Apache-2.0, é a ferramenta DAST gratuita mais conhecida. Ele faz crawling de apps web, roda scans passivos e ativos e pode ser automatizado no CI com os modos baseline e full scan. O scan autenticado funciona, mas configurar dá trabalho de verdade.

Nuclei

O Nuclei, da ProjectDiscovery sob MIT, executa templates YAML contra alvos. Cada template descreve um request e como é uma resposta vulnerável, e eles cobrem aplicações, APIs, redes, DNS e configurações cloud. É excelente para checar CVEs e exposições conhecidas em muitos hosts rapidamente.

    nuclei -u https://staging.exemplo.com.br

5. Rede e infraestrutura

Nmap

O Nmap descobre hosts, portas abertas e serviços, e seu motor de scripts (NSE) adiciona verificações por cima. Ele é distribuído sob a Nmap Public Source License (NPSL), baseada em termos open source mas com condições para empresas que o incorporam em produtos comerciais.

    nmap -sV scanme.nmap.org

OpenVAS / Greenbone Community Edition

O OpenVAS é o componente scanner (GPL-2.0) do Greenbone Community Edition, um stack completo de gestão de vulnerabilidades de rede que também inclui o manager gvmd (AGPL-3.0) e um feed de testes de vulnerabilidades. Ele escaneia hosts e serviços procurando vulnerabilidades e misconfigurations conhecidas. Espere um setup mais pesado que o das outras ferramentas.

Como combinar tudo em um stack gratuito

  1. Em cada pull request: Semgrep CE (ou Bandit / Brakeman, conforme o stack), OSV-Scanner ou Trivy para dependências, Gitleaks para segredos novos.
  2. Em cada build de imagem: Trivy ou Grype contra a imagem, e Trivy config contra Dockerfiles, Terraform e manifests do Kubernetes.
  3. Uma vez, no histórico completo: TruffleHog ou Gitleaks em todos os commits, e rotacione o que ainda estiver ativo.
  4. Semanalmente contra staging: ZAP baseline e templates do Nuclei.
  5. Para infraestrutura própria: Nmap e OpenVAS nos seus ranges de IP públicos.

Para ferramentas além dos scanners, veja nosso panorama de ferramentas de penetration testing.

Os limites dos scanners gratuitos

Scanners open source são ótimos e todo time deveria rodar alguns. Mas é preciso ser honesto sobre o que eles não fazem:

  • Ruído. Regras por padrão e matching de versões reportam muitos achados que não são alcançáveis nem exploráveis. Alguém precisa fazer a triagem, e os devs param de ler ferramentas que vivem dando alarme falso.
  • Nada de lógica de negócio. Os bugs web mais graves costumam ser falhas de autorização como IDOR, parte do broken access control que lidera o OWASP Top 10. "O usuário A consegue ler a fatura do usuário B" não é um padrão que alguma regra case.
  • Sem correção. A maioria diz o que está errado, não como mudar o código, e nenhuma abre um patch testado.
  • Esforço de integração. Cinco ferramentas são cinco configs, cinco formatos de saída, cinco arquivos de ignore e ninguém dono da visão completa.

É aqui que a análise que raciocina ajuda. O AI SAST lê o código como um revisor faria, então consegue perceber que um handler valida ownership e o vizinho não. O Nurbak foi feito para isso: você conecta o GitHub e escaneia um repo, o próprio modelo de IA self-hosted analisa o código (a análise não envia seu código para a OpenAI nem para a Anthropic), e ele reporta vulnerabilidades exploráveis com arquivo e linha, CVEs de dependências, misconfigurations de GitHub Actions, Docker, Terraform e Kubernetes e segredos no histórico do git, tudo resumido em um score de 0 a 100 com explicações em linguagem simples. Ele também pode abrir um Pull Request com a correção e um teste de regressão de segurança (a correção usa Claude, com seu consentimento explícito). O scan gratuito mostra completos os 3 achados mais importantes. Dá para testar na página do scanner de vulnerabilidades.

Scanners vs auditorias vs pentests

Scanners, uma auditoria de segurança de código e um pentest respondem perguntas diferentes. Scanners respondem "temos padrões ou versões ruins conhecidas?" em cada commit. Um pentest white-box responde "alguém que lê nosso código consegue entrar?". Um pentest humano responde "o que um atacante criativo consegue encadear?". Se você vai contratar este último, nosso guia para escolher uma empresa de pentest mostra o que perguntar, e nosso modelo de relatório de pentest mostra como é uma boa entrega.

Conclusão

Comece pelas ferramentas gratuitas que combinam com seu stack: uma engine SAST, um scanner de dependências e containers, um scanner de segredos. Adicione ZAP ou Nuclei quando tiver um staging que valha testar, e Nmap ou OpenVAS se você mantém seus próprios servidores. Confira a licença de cada uma antes de colocar em um pipeline comercial, principalmente CodeQL, Brakeman e TruffleHog. Depois cubra a lacuna que as ferramentas por padrão deixam, autorização e lógica de negócio, com revisão que raciocine ou com um scanner de vulnerabilidades que entenda seu código.

Leituras relacionadas