Nesta página
- Que ferramentas SAST open source continuam a ser mantidas em 2026?
- Que ferramenta SAST open source deves usar para a tua linguagem?
- O Semgrep ainda é open source?
- Que ferramentas SAST «gratuitas» não são, afinal, open source?
- Como se correm várias ferramentas SAST open source em conjunto?
- O que é que as ferramentas SAST open source deixam a teu cargo?
- Onde entra a CybeDefend?
- Perguntas frequentes
- Quais são as melhores ferramentas SAST gratuitas e open source?
- O Semgrep continua a ser gratuito e open source?
- O SonarQube é gratuito ou pago?
- O CodeQL é open source e gratuito?
- Que ferramenta SAST open source usar em Python?
- Qual a diferença entre SAST e SCA?
- O que é o formato SARIF?

O conjunto SAST open source que vale a pena correr em 2026 é um motor multilinguagem, o Opengrep ou o Semgrep Community Edition, mais o especialista de cada linguagem principal: Bandit para Python, gosec para Go, SpotBugs com Find Security Bugs para Java, Psalm para PHP, Cppcheck ou Flawfinder para C e C++. Passámos as vinte ferramentas deste guia a pente fino no GitHub a 1 de outubro de 2026: a licença, a última versão publicada e a forma como cada uma escreve SARIF, o formato que te deixa juntar os resultados de todas. Há três conclusões que saltam à vista. O Horusec não publica uma versão desde junho de 2022. O Brakeman e o Bearer podem correr de graça sobre o teu próprio código, mas não são open source: a licença do Brakeman proíbe a revenda comercial e o Bearer é source-available. E a CLI do CodeQL, que aparece muitas vezes nas listas de ferramentas gratuitas, não pode correr sobre código privado sem uma licença paga do GitHub.
Que ferramentas SAST open source continuam a ser mantidas em 2026?
Dezoito das vinte ferramentas abaixo continuam a ser mantidas, e duas pararam. A tabela reproduz o que a API do GitHub devolveu a 1 de outubro de 2026: a licença que cada repositório declara, a última versão com tag e a nossa leitura do estado de cada projeto. As estrelas medem atenção, não manutenção, por isso ficaram de fora.
| Ferramenta | O que analisa | Licença | Última versão | Estado |
|---|---|---|---|---|
| Opengrep | Mais de 30 linguagens | LGPL-2.1 | v1.30.0, 7 set. 2026 | Ativa |
| Semgrep Community Edition | Mais de 30 linguagens | Motor LGPL-2.1, regras sob licença própria | v1.178.0, 23 set. 2026 | Ativa |
| SonarQube Community Build | Muitas linguagens | LGPL-3.0 | 26.9, 2 set. 2026 | Ativa |
| CodeQL CLI | C/C++, C#, Go, Java, Kotlin, JavaScript, TypeScript, Python, Ruby, Rust, Swift, GitHub Actions | GitHub CodeQL Terms, não é open source | v2.27.1, 22 set. 2026 | Ativa, com restrições |
| Datadog Static Analyzer | Várias linguagens, rulesets da Datadog | Apache-2.0 | 0.9.8, 25 set. 2026 | Ativa |
| OpenAI Codex Security | Baseada num modelo, qualquer linguagem | Cliente Apache-2.0 | 0.1.30, 23 set. 2026 | Ativa, exige conta OpenAI |
| Joern | C/C++, Java, JavaScript, Python, PHP, Go, Ruby, Swift, C#, Kotlin, binários | Apache-2.0 | v4.0.644, 1 out. 2026 | Ativa |
| Bearer CLI | Go, Java, JavaScript, TypeScript, PHP, Python, Ruby | Elastic License 2.0 | v2.1.1, 24 ago. 2026 | Ativa, source-available |
| Horusec | 18 linguagens | Apache-2.0 | v2.8.0, 8 jun. 2022 | Último commit em agosto de 2023 |
| Bandit | Python | Apache-2.0 | 1.9.4, 25 fev. 2026 | Ativa |
| gosec | Go | Apache-2.0 | v2.29.0, 26 ago. 2026 | Ativa |
| Brakeman | Ruby on Rails | Brakeman Public Use License | v8.1.0, 30 set. 2026 | Ativa, não é open source |
| SpotBugs + Find Security Bugs | Java e bytecode JVM | LGPL-2.1 + LGPL-3.0 | 4.10.4, 20 ago. 2026 + 1.14.0, 17 jun. 2025 | Ativa |
| eslint-plugin-security | JavaScript, Node.js | Apache-2.0 | v4.2.0, 1 out. 2026 | Ativa |
| njsscan | Node.js | LGPL-3.0 | 1.0.1, 21 set. 2026 | Ativa |
| Psalm | PHP | MIT | 6.19.1, 29 set. 2026 | Ativa |
| Flawfinder | C/C++ | GPL-2.0 | Sem versão no GitHub, último commit a 17 mai. 2026 | Mantida |
| Cppcheck | C/C++ | GPL-3.0 | 2.22.0, 19 set. 2026 | Ativa |
| mobsfscan | Android e iOS: Java, Kotlin, Swift, Objective-C | LGPL-3.0 | 1.0.1, 21 set. 2026 | Ativa |
| Security Code Scan | C#, VB.NET | LGPL-3.0 | 5.6.7, 5 set. 2022 | Último commit em novembro de 2022 |
Esta tabela esconde dois avisos. O Horusec não está arquivado e continua a aparecer em listas de «ferramentas SAST gratuitas», mas o ramo principal não mexe desde 7 de agosto de 2023. E o analisador open source clássico para .NET, o Security Code Scan, parou em 2022: hoje, uma equipa de C# apoia-se num motor multilinguagem e não num especialista.
Que ferramenta SAST open source deves usar para a tua linguagem?
Um especialista para a tua linguagem principal, ao lado de um motor multilinguagem. O especialista conhece a fundo os idiomas do framework e as suas APIs perigosas; o motor apanha os padrões que atravessam várias linguagens e permite-te escrever uma única regra para o repositório inteiro.
| Linguagem | Especialista | Notas |
|---|---|---|
| Python | Bandit | Instala o extra [sarif] para teres saída SARIF |
| Go | gosec | SARIF nativo |
| Java, JVM | SpotBugs com Find Security Bugs | Analisa o bytecode compilado, por isso compila primeiro |
| JavaScript, Node.js | eslint-plugin-security, njsscan | O ESLint precisa de um formatter SARIF à parte |
| PHP | Psalm | A taint analysis corre numa passagem própria |
| Ruby on Rails | Brakeman | Gratuito para analisar o teu próprio código, mas não é open source |
| C, C++ | Cppcheck, Flawfinder | O Cppcheck escreve SARIF a partir da 2.16.0 |
| Android, iOS | mobsfscan | Também cobre Swift e Objective-C |
| C#, VB.NET | Nenhum mantido nesta lista | Usa um motor multilinguagem |
Quanto ao motor, o Opengrep e o Semgrep Community Edition leem a mesma sintaxe de regras, por isso a escolha é sobretudo uma questão de governação, que tratamos na secção seguinte. O Joern é outro tipo de ferramenta: constrói um code property graph que és tu a consultar, poderoso para investigação e auditorias feitas à medida. O scanner do Joern não tem nenhuma opção SARIF, embora a consola de queries consiga exportar as descobertas em SARIF.
O Semgrep ainda é open source?
O motor é. O Semgrep Community Edition tem licença LGPL-2.1 e publicou a v1.178.0 a 23 de setembro de 2026. À volta dele, porém, mudaram duas coisas. As regras que o Semgrep publica no seu registry estão sob a Semgrep Rules License v1.0, uma licença própria que não é open source, por isso lê-a antes de reutilizares essas regras dentro de um produto comercial. E um grupo de fornecedores de AppSec fez um fork do motor com o nome Opengrep, num repositório criado a 14 de dezembro de 2024. O README dá a razão numa linha: o projeto «was created when Semgrep moved critical features behind a commercial licence», ou seja, nasceu quando o Semgrep passou funcionalidades críticas para trás de uma licença comercial.
O Opengrep continua LGPL-2.1, corre as regras Semgrep existentes sem alterações, escreve JSON e SARIF e acrescentou taint tracking dentro de um mesmo ficheiro (--taint-intrafile). Os apoiantes indicados no README são a Aikido, a Amplify, a Endor Labs, a Kodem e a Orca Security. Escolhe o Semgrep se queres as regras geridas e a plataforma da empresa; escolhe o Opengrep se preferes que a governação do motor fique fora das mãos de uma única empresa. As tuas regras funcionam nos dois.
Que ferramentas SAST «gratuitas» não são, afinal, open source?
Quatro ferramentas deste guia não custam nada a descarregar e, mesmo assim, limitam a forma como as podes usar. Confirma estes pontos antes de qualquer uma delas chegar ao teu CI:
- CLI do CodeQL. É distribuída sob os GitHub CodeQL Terms and Conditions, e não sob uma licença open source. Sem licença paga, podes usá-la para investigação académica, para demonstrações e para analisar código open source publicado sob uma licença aprovada pela OSI; o uso automatizado em CI só é permitido quando esse código open source está alojado no GitHub.com. O código privado exige uma licença paga, a que os termos ainda chamam GitHub Advanced Security e que o GitHub vende hoje como GitHub Code Security. As queries têm licença MIT, o motor não.
- Brakeman. A Brakeman Public Use License, cujo texto indica a Synopsys como licenciante, classifica «using the Software to analyze Licensee's software», ou seja, usar o software para analisar o software do próprio licenciado, como uso não comercial: analisar o teu próprio código Rails não custa nada. O que exige licença paga é o uso comercial, como oferecer o Brakeman como serviço gerido ou SaaS, ou incluí-lo dentro de um produto. É essa restrição que impede que seja uma licença open source. Só o código cujo commit é anterior a 15 de junho de 2018 está sob MIT.
- Bearer CLI. A Elastic License 2.0 faz dele uma ferramenta source-available: o README diz que a podes «use it freely inside your organization», ou seja, usar livremente dentro da tua organização, enquanto mais linguagens e a análise entre ficheiros ficam reservadas a uma edição paga vendida pela Cycode.
- OpenAI Codex Security. A CLI e o SDK são Apache-2.0, mas a análise corre nos modelos da OpenAI. Inicias sessão, ou defines
OPENAI_API_KEYno CI, e o teu código segue para a OpenAI. Algumas descobertas exigem aprovação através do programa Trusted Access for Cyber da OpenAI.
Os planos gratuitos das plataformas comerciais pertencem à mesma família: gratuitos para começar, nunca open source, e o teu código é analisado na cloud do fornecedor. Para muitas equipas, é uma troca razoável. Só que é uma troca diferente.
Como se correm várias ferramentas SAST open source em conjunto?
Põe cada ferramenta a escrever SARIF 2.1.0, o standard da OASIS para resultados de análise estática, e depois junta os ficheiros. Cada comando abaixo vem da documentação ou do código-fonte do próprio projeto, verificado a 1 de outubro de 2026:
# Motor multilinguagem
opengrep scan --sarif-output=opengrep.sarif -f rules/ .
# Python
pip install "bandit[sarif]"
bandit -r . -f sarif -o bandit.sarif
# Go
gosec -fmt sarif -out gosec.sarif ./...
# Java: compila primeiro, o SpotBugs lê bytecode
spotbugs -textui -pluginList findsecbugs-plugin.jar -sarif=spotbugs.sarif target/app.jar
# JavaScript: o SARIF precisa do formatter da Microsoft
npm install --save-dev @microsoft/eslint-formatter-sarif
npx eslint -f @microsoft/eslint-formatter-sarif -o eslint.sarif .
# Node.js
njsscan --sarif -o njsscan.sarif .
# PHP: a taint analysis é uma passagem à parte
psalm --taint-analysis --report=psalm.sarif
# C e C++
cppcheck --output-format=sarif --output-file=cppcheck.sarif .
flawfinder --sarif ./ > flawfinder.sarif
Há dois pormenores que te poupam uma tarde. O ESLint não tem saída SARIF incorporada: -f sarif falha, e o formatter é um pacote à parte, que vem do SARIF SDK da Microsoft. E o SonarQube Community Build importa SARIF através de sonar.sarifReportPaths, mas não encontrámos nenhuma exportação SARIF documentada, por isso fica no fim de uma pipeline, nunca a meio.
Um ficheiro junto não é um backlog triado. Ficam três lacunas por resolver:
- Duplicados. A mesma injeção SQL num serviço Python pode voltar do Opengrep e do Bandit com dois IDs de regra diferentes, e as duas descobertas não sabem uma da outra.
- Estado da triagem. Uma descoberta que descartaste como falso positivo não fica descartada na execução seguinte, a não ser que alguma coisa se lembre dessa decisão.
- Histórico. Às equipas que preparam uma auditoria SOC 2 ou ISO 27001 pede-se que mostrem que as descobertas são acompanhadas e corrigidas ao longo do tempo. Um monte de ficheiros SARIF perdidos nos logs do CI não o demonstra por si só.
É essa a parte que as equipas acabam por construir, ou por comprar.
O que é que as ferramentas SAST open source deixam a teu cargo?
O motor é gratuito. As regras, a triagem e a manutenção saem do teu tempo:
Regras
Um motor vale o que valem as suas regras. As regras do registry do Semgrep têm licença própria, e o repositório de regras do Opengrep, que se apresenta como um fork do repositório do Semgrep feito em dezembro de 2024, não recebe nenhum commit desde janeiro de 2025. Prepara-te para manter regras por tua conta.
Triagem
A correspondência de padrões reporta o que parece perigoso, não o que um atacante consegue realmente alcançar. A maior parte do esforço vai para a triagem, que explicamos em porque é que a maioria das descobertas SAST é ruído.
Manutenção
Vinte projetos são vinte ritmos de versões diferentes, licenças que podem mudar e ferramentas que param, como aconteceu ao Horusec e ao Security Code Scan.
Onde entra a CybeDefend?
Se preferes não montar nem manter esta stack, a CybeDefend corre análise SAST, SCA, de segredos, de IaC, de contentores e de CI/CD num só sítio, com as descobertas ordenadas por reachability, para que as que aparecem no topo sejam as que um atacante consegue mesmo alcançar. A página SAST mostra como. E se o teu código é cada vez mais escrito por agentes de código, o VibeDefend entrega ao agente as descobertas de SAST, SCA, segredos, IaC e CI/CD enquanto ele escreve, em vez de esperar pelo pull request. Para uma comparação das ferramentas comerciais por necessidade, vê as melhores ferramentas de segurança de código de IA em 2026.
Perguntas frequentes
Quais são as melhores ferramentas SAST gratuitas e open source?
Um motor multilinguagem mais um especialista por linguagem. Para o motor, o Opengrep ou o Semgrep Community Edition; depois, Bandit para Python, gosec para Go, SpotBugs com Find Security Bugs para Java, Psalm para PHP, Cppcheck e Flawfinder para C e C++, eslint-plugin-security e njsscan para Node.js e mobsfscan para mobile. Todas eram mantidas a 1 de outubro de 2026 e todas conseguem produzir SARIF, o ESLint através de um formatter à parte.
O Semgrep continua a ser gratuito e open source?
O motor do Semgrep Community Edition é gratuito e open source, sob LGPL-2.1. As regras do registry do Semgrep estão sob a Semgrep Rules License v1.0, que não é uma licença open source, e a plataforma paga do Semgrep acrescenta funcionalidades por cima. O Opengrep é um fork LGPL-2.1 que corre as mesmas regras.
O SonarQube é gratuito ou pago?
As duas coisas. O SonarQube Community Build é gratuito e open source, sob LGPL-3.0; a versão mais recente a 1 de outubro de 2026 era a 26.9, publicada a 2 de setembro. A SonarSource vende edições pagas com mais funcionalidades. O Community Build consegue importar SARIF de outros scanners; não encontrámos nenhuma exportação SARIF documentada.
O CodeQL é open source e gratuito?
Não é open source. As queries do CodeQL têm licença MIT, mas a CLI do CodeQL é distribuída sob os termos próprios do GitHub. É gratuita para investigação académica, demonstrações e análise de código open source; analisar código privado exige uma licença paga do GitHub.
Que ferramenta SAST open source usar em Python?
O Bandit, mantido pela Python Code Quality Authority e com licença Apache-2.0, cuja versão 1.9.4 saiu em fevereiro de 2026. Junta-lhe um motor multilinguagem como o Opengrep para as regras específicas do teu projeto. Instala bandit[sarif] para teres saída SARIF.
Qual a diferença entre SAST e SCA?
O SAST lê o código que a tua equipa escreve e procura padrões vulneráveis, como uma injeção ou um segredo escrito diretamente no código. O SCA lê os manifestos de dependências e os lockfiles e reporta as vulnerabilidades conhecidas nos pacotes open source que usas. A maioria das equipas precisa dos dois, porque a maior parte do código que entrega são dependências.
O que é o formato SARIF?
É o Static Analysis Results Interchange Format, um standard da OASIS. A versão 2.1.0 é um formato JSON que a maioria das ferramentas SAST sabe escrever, o que permite juntar os resultados de vários scanners, enviá-los para uma plataforma de alojamento de código ou importá-los numa ferramenta de gestão de vulnerabilidades.


