In questa pagina
- Quali strumenti SAST open source sono ancora mantenuti nel 2026?
- Quale strumento SAST open source usare per il tuo linguaggio?
- Semgrep è ancora open source?
- Quali strumenti SAST «gratuiti» non sono open source?
- Come si fanno girare insieme più strumenti SAST open source?
- Cosa lasciano a te gli strumenti SAST open source?
- Dove si colloca CybeDefend?
- Domande frequenti
- Quali strumenti SAST open source conviene usare gratis?
- Semgrep si può usare gratis? È davvero open source?
- SonarQube è gratuito o a pagamento?
- CodeQL è open source o serve una licenza?
- Che SAST open source usare per un progetto Python?
- SAST e SCA: che differenza c'è?
- Cos'è il formato SARIF?

Nel 2026 la configurazione SAST open source che vale la pena far girare è fatta di un motore multi-linguaggio, Opengrep o Semgrep Community Edition, più lo specialista di ciascun linguaggio principale: Bandit per Python, gosec per Go, SpotBugs con Find Security Bugs per Java, Psalm per PHP, Cppcheck o Flawfinder per C e C++. Abbiamo verificato su GitHub i venti strumenti di questa guida il 1° ottobre 2026: la licenza, l'ultima release e il modo in cui ognuno scrive SARIF, il formato che ti permette di unirne i risultati. Tre cose saltano all'occhio. Horusec non pubblica una release da giugno 2022. Brakeman e Bearer si usano gratis sul tuo codice, ma non sono open source: la licenza di Brakeman vieta la rivendita commerciale, e Bearer è source-available. E la CodeQL CLI, che spesso trovi negli elenchi dei tool gratuiti, non si può usare sul codice privato senza una licenza GitHub a pagamento.
Quali strumenti SAST open source sono ancora mantenuti nel 2026?
Dei venti strumenti SAST open source che abbiamo verificato, diciotto sono mantenuti e due si sono fermati. La tabella riporta quello che l'API di GitHub ha restituito il 1° ottobre 2026: la licenza dichiarata da ciascun repository, l'ultima release con tag e la nostra lettura dello stato del progetto. Le stelle misurano l'attenzione, non la manutenzione, quindi le abbiamo lasciate fuori.
| Strumento | Cosa analizza | Licenza | Ultima release | Stato |
|---|---|---|---|---|
| Opengrep | Oltre 30 linguaggi | LGPL-2.1 | v1.30.0, 7 set 2026 | Attivo |
| Semgrep Community Edition | Oltre 30 linguaggi | Motore LGPL-2.1, regole con una licenza propria | v1.178.0, 23 set 2026 | Attivo |
| SonarQube Community Build | Molti linguaggi | LGPL-3.0 | 26.9, 2 set 2026 | Attivo |
| CodeQL CLI | C/C++, C#, Go, Java, Kotlin, JavaScript, TypeScript, Python, Ruby, Rust, Swift, GitHub Actions | GitHub CodeQL Terms, non open source | v2.27.1, 22 set 2026 | Attivo, con restrizioni |
| Datadog Static Analyzer | Diversi linguaggi, ruleset Datadog | Apache-2.0 | 0.9.8, 25 set 2026 | Attivo |
| OpenAI Codex Security | Basato su modello, qualsiasi linguaggio | Client Apache-2.0 | 0.1.30, 23 set 2026 | Attivo, serve un account OpenAI |
| Joern | C/C++, Java, JavaScript, Python, PHP, Go, Ruby, Swift, C#, Kotlin, binari | Apache-2.0 | v4.0.644, 1 ott 2026 | Attivo |
| Bearer CLI | Go, Java, JavaScript, TypeScript, PHP, Python, Ruby | Elastic License 2.0 | v2.1.1, 24 ago 2026 | Attivo, source-available |
| Horusec | 18 linguaggi | Apache-2.0 | v2.8.0, 8 giu 2022 | Ultimo commit ad agosto 2023 |
| Bandit | Python | Apache-2.0 | 1.9.4, 25 feb 2026 | Attivo |
| gosec | Go | Apache-2.0 | v2.29.0, 26 ago 2026 | Attivo |
| Brakeman | Ruby on Rails | Brakeman Public Use License | v8.1.0, 30 set 2026 | Attivo, non 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 giu 2025 | Attivo |
| eslint-plugin-security | JavaScript, Node.js | Apache-2.0 | v4.2.0, 1 ott 2026 | Attivo |
| njsscan | Node.js | LGPL-3.0 | 1.0.1, 21 set 2026 | Attivo |
| Psalm | PHP | MIT | 6.19.1, 29 set 2026 | Attivo |
| Flawfinder | C/C++ | GPL-2.0 | Nessuna release su GitHub, ultimo commit 17 mag 2026 | Mantenuto |
| Cppcheck | C/C++ | GPL-3.0 | 2.22.0, 19 set 2026 | Attivo |
| mobsfscan | Android e iOS: Java, Kotlin, Swift, Objective-C | LGPL-3.0 | 1.0.1, 21 set 2026 | Attivo |
| Security Code Scan | C#, VB.NET | LGPL-3.0 | 5.6.7, 5 set 2022 | Ultimo commit a novembre 2022 |
In quella tabella si nascondono due avvertimenti. Horusec non è archiviato e compare ancora negli elenchi di «strumenti SAST gratuiti», eppure il suo branch principale non cambia dal 7 agosto 2023. E il classico analizzatore open source per .NET, Security Code Scan, si è fermato nel 2022: oggi un team C# si appoggia a un motore multi-linguaggio, non a uno specialista.
Quale strumento SAST open source usare per il tuo linguaggio?
Uno specialista del tuo linguaggio principale, affiancato a un motore multi-linguaggio. Lo specialista conosce a fondo gli idiomi del framework e le sue API pericolose; il motore intercetta i pattern che attraversano i linguaggi e ti permette di scrivere una sola regola valida per tutto il repository.
| Linguaggio | Specialista | Note |
|---|---|---|
| Python | Bandit | Installa l'extra [sarif] per avere l'output SARIF |
| Go | gosec | SARIF nativo |
| Java, JVM | SpotBugs con Find Security Bugs | Analizza il bytecode compilato, quindi prima fai la build |
| JavaScript, Node.js | eslint-plugin-security, njsscan | ESLint ha bisogno di un formatter SARIF separato |
| PHP | Psalm | La taint analysis gira in una passata a sé |
| Ruby on Rails | Brakeman | Gratuito per analizzare il tuo codice, non open source |
| C, C++ | Cppcheck, Flawfinder | Cppcheck scrive SARIF dalla 2.16.0 |
| Android, iOS | mobsfscan | Copre anche Swift e Objective-C |
| C#, VB.NET | Nessuno mantenuto in questo elenco | Usa un motore multi-linguaggio |
Per il motore, Opengrep e Semgrep Community Edition leggono la stessa sintassi di regole, quindi la scelta è una questione di governance, di cui parliamo nella prossima sezione. Joern è uno strumento di tutt'altro tipo: costruisce un code property graph che interroghi tu, molto potente per la ricerca e per gli audit su misura; il suo scanner non ha un flag per il SARIF, anche se dalla console di query puoi esportare i risultati in SARIF.
Semgrep è ancora open source?
Il motore sì: Semgrep Community Edition ha licenza LGPL-2.1 e ha pubblicato la v1.178.0 il 23 settembre 2026. Intorno al motore, però, sono cambiate due cose. Le regole che Semgrep pubblica nel suo registry sono sotto la Semgrep Rules License v1.0, una licenza propria e non open source, quindi leggila prima di riusare quelle regole dentro un prodotto commerciale. E un gruppo di vendor AppSec ha fatto un fork del motore, chiamato Opengrep, in un repository creato il 14 dicembre 2024. Il README ne spiega il motivo in una riga: Opengrep «è nato quando Semgrep ha spostato funzionalità critiche dietro una licenza commerciale».
Opengrep resta LGPL-2.1, esegue le regole Semgrep esistenti senza modifiche, scrive JSON e SARIF e ha aggiunto il taint tracking all'interno di un singolo file (--taint-intrafile). I sostenitori citati nel README sono Aikido, Amplify, Endor Labs, Kodem e Orca Security. Scegli Semgrep se ti servono le sue regole gestite e la sua piattaforma; scegli Opengrep se vuoi che la governance del motore non dipenda da una sola azienda. Le tue regole funzionano in entrambi.
Quali strumenti SAST «gratuiti» non sono open source?
CodeQL CLI, Brakeman, Bearer CLI e OpenAI Codex Security non costano nulla da scaricare, ma limitano comunque l'uso che puoi farne. Controlla questi quattro strumenti prima che uno di loro entri nella tua CI:
- CodeQL CLI. È distribuita con i GitHub CodeQL Terms and Conditions, non con una licenza open source. Senza licenza a pagamento puoi usarla per la ricerca accademica, per le dimostrazioni e per analizzare codice open source rilasciato con una licenza approvata dall'OSI; l'uso automatizzato in CI è consentito solo se quel codice open source è ospitato su GitHub.com. Per il codice privato serve una licenza a pagamento, che i termini chiamano ancora GitHub Advanced Security e che GitHub oggi vende come GitHub Code Security. Le query sono sotto licenza MIT, il motore no.
- Brakeman. La Brakeman Public Use License, il cui testo indica Synopsys come licenziante, elenca tra gli usi non commerciali «l'uso del Software per analizzare il software del Licenziatario»: analizzare il tuo codice Rails, quindi, non costa nulla. Serve una licenza a pagamento per l'uso commerciale, cioè offrire Brakeman come servizio gestito o SaaS, oppure integrarlo in un prodotto. È proprio questa restrizione a escluderla dalle licenze open source. Solo il codice committato prima del 15 giugno 2018 è sotto licenza MIT.
- Bearer CLI. La Elastic License 2.0 lo rende source-available: il README dice che «puoi usarlo liberamente all'interno della tua organizzazione», mentre più linguaggi e l'analisi tra file diversi stanno in un'edizione a pagamento venduta da Cycode.
- OpenAI Codex Security. CLI e SDK sono sotto Apache-2.0, ma l'analisi gira sui modelli di OpenAI. Fai il login, oppure imposti
OPENAI_API_KEYin CI, e il tuo codice parte verso OpenAI. Alcune segnalazioni richiedono un'approvazione tramite il programma Trusted Access for Cyber di OpenAI.
I piani gratuiti delle piattaforme commerciali appartengono alla stessa famiglia: gratis per iniziare, mai open source, e il tuo codice viene analizzato nel cloud del vendor. Per molti team è uno scambio ragionevole. Solo che è uno scambio diverso.
Come si fanno girare insieme più strumenti SAST open source?
Fai scrivere a ogni strumento un file SARIF 2.1.0, lo standard OASIS per i risultati dell'analisi statica, poi unisci i file. Ogni comando qui sotto viene dalla documentazione o dal sorgente del progetto stesso, verificati il 1° ottobre 2026:
# Motore multi-linguaggio
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: prima la build, SpotBugs legge il bytecode
spotbugs -textui -pluginList findsecbugs-plugin.jar -sarif=spotbugs.sarif target/app.jar
# JavaScript: per il SARIF serve il formatter di 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: la taint analysis è una passata a sé
psalm --taint-analysis --report=psalm.sarif
# C e C++
cppcheck --output-format=sarif --output-file=cppcheck.sarif .
flawfinder --sarif ./ > flawfinder.sarif
Due dettagli ti fanno risparmiare un pomeriggio. ESLint non ha un output SARIF integrato: -f sarif fallisce, e il formatter è un pacchetto separato che fa parte del SARIF SDK di Microsoft. E SonarQube Community Build importa SARIF tramite sonar.sarifReportPaths, ma non abbiamo trovato un export SARIF documentato: per questo sta in fondo alla pipeline, non nel mezzo.
Un file unito non è ancora un backlog smistato. Restano tre lacune:
- Duplicati. La stessa SQL injection in un servizio Python può tornare sia da Opengrep sia da Bandit, con due ID di regola diversi, e le due segnalazioni non sanno nulla l'una dell'altra.
- Stato del triage. Una segnalazione che hai scartato come falso positivo non risulta scartata alla scansione successiva, a meno che qualcosa non si ricordi della tua decisione.
- Storico. Ai team che preparano un audit SOC 2 o ISO 27001 viene chiesto di dimostrare che le segnalazioni sono tracciate e corrette nel tempo. Una pila di file SARIF recuperati dai log della CI, da sola, non lo dimostra.
È la parte che i team finiscono per costruirsi da soli, oppure per comprare.
Cosa lasciano a te gli strumenti SAST open source?
Il motore è gratis; le regole, il triage e la manutenzione sono tempo tuo:
Regole
Un motore vale quanto le sue regole. Le regole del registry di Semgrep hanno una licenza propria, e il repository di regole di Opengrep, che si presenta come un fork di quello di Semgrep del dicembre 2024, non riceve un commit da gennaio 2025. Mettiti in conto di mantenere le regole da solo.
Triage
Il pattern matching segnala ciò che sembra pericoloso, non ciò che è davvero raggiungibile. Gran parte del lavoro se ne va nello smistamento, di cui parliamo in perché la maggior parte delle segnalazioni SAST è rumore.
Manutenzione
Venti progetti significano venti ritmi di rilascio, licenze che possono cambiare e strumenti che si fermano, come è successo a Horusec e a Security Code Scan.
Dove si colloca CybeDefend?
Se preferisci non assemblare e non mantenere questo stack, CybeDefend esegue le scansioni SAST, SCA, dei segreti, IaC, dei container e della CI/CD in un unico posto, ordinate per reachability, così le segnalazioni in cima sono quelle che un attaccante può davvero raggiungere. La sua pagina SAST mostra come funziona. E se il tuo codice è scritto sempre più spesso da agenti di coding, VibeDefend passa all'agente le segnalazioni SAST, SCA, dei segreti, IaC e CI/CD mentre scrive, invece che dopo la pull request. Per un confronto degli strumenti commerciali in base all'esigenza, leggi i migliori strumenti di sicurezza per il codice AI nel 2026.
Domande frequenti
Quali strumenti SAST open source conviene usare gratis?
Un motore multi-linguaggio più uno specialista per linguaggio. Opengrep o Semgrep Community Edition come motore; Bandit per Python, gosec per Go, SpotBugs con Find Security Bugs per Java, Psalm per PHP, Cppcheck e Flawfinder per C e C++, eslint-plugin-security e njsscan per Node.js, mobsfscan per il mobile. Il 1° ottobre 2026 erano tutti mantenuti e tutti sanno scrivere SARIF, ESLint tramite un formatter separato.
Semgrep si può usare gratis? È davvero open source?
Il motore Semgrep Community Edition è gratuito e open source, con licenza LGPL-2.1. Le regole del registry di Semgrep sono sotto la Semgrep Rules License v1.0, che non è una licenza open source, e la piattaforma a pagamento di Semgrep aggiunge altre funzionalità sopra il motore. Opengrep è un fork LGPL-2.1 che esegue le stesse regole.
SonarQube è gratuito o a pagamento?
SonarQube Community Build è gratuito e open source, con licenza LGPL-3.0; al 1° ottobre 2026 l'ultima release era la 26.9, pubblicata il 2 settembre. SonarSource vende edizioni a pagamento con più funzionalità. La Community Build può importare SARIF da altri scanner; non abbiamo trovato un export SARIF documentato.
CodeQL è open source o serve una licenza?
Non è open source. Le query di CodeQL sono sotto licenza MIT, ma la CodeQL CLI è distribuita con termini propri di GitHub. È gratuita per la ricerca accademica, le dimostrazioni e l'analisi di codice open source; per analizzare codice privato serve una licenza GitHub a pagamento.
Che SAST open source usare per un progetto Python?
Bandit, mantenuto dalla Python Code Quality Authority, con licenza Apache-2.0 e la release 1.9.4 di febbraio 2026. Affiancalo a un motore multi-linguaggio come Opengrep per le regole specifiche del tuo progetto. Installa bandit[sarif] per avere l'output SARIF.
SAST e SCA: che differenza c'è?
Un tool SAST legge il codice che scrive il tuo team e cerca pattern vulnerabili, come un'injection o un segreto scritto in chiaro nel sorgente. Un tool SCA legge i manifest e i lockfile delle dipendenze e segnala le vulnerabilità note nei pacchetti open source che usi. Quasi tutti i team hanno bisogno di entrambi, perché la maggior parte del codice che rilasciano è fatta di dipendenze.
Cos'è il formato SARIF?
È lo Static Analysis Results Interchange Format, uno standard OASIS. La versione 2.1.0 è un formato JSON che la maggior parte degli strumenti SAST sa scrivere: così i risultati di più scanner si possono unire, caricare su una piattaforma di hosting del codice o importare in uno strumento di gestione delle vulnerabilità.


