Solo le falle che un attaccante può raggiungere.
Ogni falla seguita dal punto di ingresso fino alla riga, con la sua correzione.
- AltaSQL injectionusers.controller.ts:10
db.query(`SELECT * FROM users WHERE id=${id}`)db.query("SELECT * FROM users WHERE id = $1", [id])Fix prontoQuery parametrizzata, riscritta nella stessa sessione
Falle raggiungibili, ognuna con la sua correzione.
Falle raggiungibili
- GET /users/:id
- users.controller.ts:10
- db.query()
La tua policy
- Team Pagamenti Blocca alla pull request
- Team Growth Solo avviso
Flussi di dati che conoscono il tuo framework
- Expressreq.params.id
- Djangorequest.GET["id"]
- Spring@PathVariable id
Un fix per ogni finding
Una patch nel tuo editor, oppure una pull request firmata con un test di regressione.
Nove alert su dieci dei pattern sono falsi allarmi.
delle vulnerabilità segnalate da scanner basati su pattern su quasi 3.000 repository open source erano falsi positivi.
Ghost Security, Exorcising the SAST Demons, 2025
Uno scanner a pattern
- Alert: Possibile SQL injectionusers.controller.ts:10
- Alert: Possibile SQL injectionPOST /avatar
- Alert: Possibile SQL injectionGET /export
CybeDefend
- Raggiungibile: SQL injectionusers.controller.ts:10
- Scartato: Riga segnalata, non raggiunge nessun sinkPOST /avatar
- Scartato: Riga segnalata, non raggiunge nessun sinkGET /export
Corretto dal tuo agente, prima del commit.
Il tuo agente legge questi finding mentre scrive e li corregge prima del commit.
- SASTScansiona il repository a ogni push.Trovato
- VibeDefendPassa il finding al tuo agente di codice.Servito
- Il tuo agenteLo corregge nella sessione.Corretto
- CommitEntra senza la falla.Pulito
Claude Code
Cursor
WindsurfGitHub Copilot
OpenAI Codex
Inizia da un repository.
Collega GitHub, GitLab, Bitbucket o Azure DevOps, scegli un repository e la prima scansione parte.
Nel dettaglio
Ogni finding: il percorso, la riga, la correzione.
Falle raggiungibili
Il percorso di exploit
Flussi di dati che conoscono il tuo framework
Un fix per ogni finding
La tua policy
Tutto quello che controlla
Quello che vede il nostro SAST e il tuo no.
Una vulnerabilità reale per linguaggio, con la riga segnalata e la sua correzione.
- AltaCWE-79
JavaScript (Express)
res.send(`<h1>Hi ${req.query.name}</h1>`);res.send(`<h1>Hi ${escapeHtml(req.query.name)}</h1>`); - AltaCWE-639
TypeScript (Fastify)
return db.invoice.findUnique({ where: { id } });return db.invoice.findFirst({ where: { id, ownerId: req.user.id } }); - CriticaCWE-89
Python (Django)
cursor.execute(f"SELECT * FROM books WHERE title = '{q}'")cursor.execute("SELECT * FROM books WHERE title = %s", [q]) - AltaCWE-22
Go (Gin)
c.File(filepath.Join("uploads", name))c.File(filepath.Join("uploads", filepath.Base(name)))
Altri 12 linguaggi, una vulnerabilità ciascuno
- AltaCWE-611
Java (Spring)
var doc = dbf.newDocumentBuilder().parse(f.getInputStream());dbf.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, ""); - AltaCWE-916
Kotlin (Spring)
val md = MessageDigest.getInstance("MD5")users.save(form.email, encoder.encode(form.password)) - MediaCWE-601
C# / .NET (ASP.NET)
return Redirect(returnUrl);return LocalRedirect(returnUrl); - AltaCWE-915
Ruby (Rails)
@user.update(params.require(:user).permit!)@user.update(params.require(:user).permit(:name, :email)) - CriticaCWE-502
PHP (Laravel)
$cart = unserialize($request->cookie('cart'));$cart = json_decode($request->cookie('cart'), true); - CriticaCWE-78
Rust
Command::new("sh").arg("-c").arg(cmd).status()Command::new("convert").args([name, "thumb.png"]).status() - MediaCWE-312
Swift
UserDefaults.standard.set(reply.token, forKey: "token")try keychain.save(reply.token, account: "token") - AltaCWE-338
Scala
val token = Random.alphanumeric.take(32).mkStringval token = UUID.randomUUID().toString - AltaCWE-352
Elixir (Phoenix)
plug :fetch_sessionplug :protect_from_forgery - CriticaCWE-841
Solidity
payable(msg.sender).call{value: amount}("");balances[msg.sender] -= amount;payable(msg.sender).transfer(amount); - CriticaCWE-120
C / C++
strcpy(name, argv[1]);snprintf(name, sizeof name, "%s", argv[1]); - MediaCWE-353
HTML
<script src="https://cdn.example/chart.js"></script><script src="/static/vendor/chart.js"></script>
Sicurezza del codice in tempo reale, dove vive il tuo codice.
Errori e avvisi si accumulano mentre l'agente scrive. Intercettati prima della pull request.
Feedback in tempo reale
Tecnologia AI ibrida
Strumenti di collaborazione
Ampio supporto dei linguaggi
Fix e remediation automatici
Policy personalizzabili
Report pensati per gli sviluppatori
Dalla segnalazione al fix
La riga è segnalata.
Giudicata nel loop.
Corretta sulla riga.