Sicurezza del codice AI — quattro agenti che catturano ciò che SAST non rileva nel codice generato dall'AI. Costruito sulla piattaforma GitLab Duo Agent.
Sicurezza del codice AI — rilevare ciò che SAST non vede nel codice generato dall'AI Costruito sulla piattaforma GitLab Duo Agent
Il 40-62% del codice generato dall'AI contiene vulnerabilità di sicurezza. I SAST tradizionali rilevano le CVE. Noi rileviamo ciò che SAST non vede — prompt injection, esecuzione di output LLM, deserializzazione ML non sicura.
Guida introduttiva · Architettura · Regole di rilevazione · Guida alla configurazione · Implementazione
L'AI accelera la generazione di codice ma crea nuovi colli di bottiglia per la sicurezza:
| Problema | Impatto |
|---|---|
| Le revisioni di sicurezza bloccano le MR per ore o giorni | 7 ore/settimana perse per membro del team |
| L'AI rende più difficile la gestione della conformità | 70% dei team lo segnala |
| Problemi di conformità scoperti dopo il deployment | 76% delle organizzazioni |
| Gli strumenti SAST tradizionali non rilevano i rischi specifici dell'AI | Prompt injection, LLM output-to-exec, deserializzazione ML non sicura |
| Il 40-62% del codice generato dall'AI ha vulnerabilità | Nessuno strumento esistente rileva pattern di minaccia specifici dell'AI |
Fonte: GitLab 2025 Global DevSecOps Report
AgentFlow Auditor — Quattro agenti AI che rilevano rischi di sicurezza che i SAST tradizionali non vedono nel codice generato dall'AI. 41 regole di rilevazione tra cui LLM prompt injection, output-to-exec, deserializzazione non sicura, SQL injection, SSRF e path traversal. Pubblica report scansionabili, genera patch di correzione, tiene traccia della deriva del rischio. Un @mention attiva tutto.
Developer opens MR │ ▼ @duo-agentflow-auditor review this MR │ ▼ ┌───────────────────────────────────────────────────────┐ │ │ │ ┌─────────────┐ ┌──────────────────┐ │ │ │ Scanner │──────▶│ Reporter │ │ │ │ Agent │ │ Agent │ │ │ │ │ │ │ │ │ │ Read diffs │ │ Grade risk │ │ │ │ Match 34 │ │ Risk heatmap │ │ │ │ rules │ │ Post MR comment │ │ │ │ Score risk │ │ Create issue │ │ │ └─────────────┘ └────────┬─────────┘ │ │ │ │ │ ┌───────┴────────┐ │ │ │ SAFE? │ │ │ │ ├─ Yes ──────────────┐ │ │ │ └─ No ───┐ │ │ │ │ └───────────┘ │ │ │ │ │ │ │ │ │ ┌─────────────┐ ┌────────▼───────┘┐ │ │ │ │ Metrics │◀──────│ Fixer │ │ │ │ │ Agent │ │ Agent │ │ │ │ │ │◀──────────────────────────────┘ │ │ │ Baseline │ │ Confidence-scored│ │ │ │ Cross-MR │ │ patches │ │ │ │ Green │ │ Fix branch + MR │ │ │ │ Posture │ │ │ │ │ └─────────────┘ └─────────────────┘ │ │ │ │ GitLab Duo Agent Platform (ambient) │ │ │ │ ┌───────────────────────────────────────────┐ │ │ │ External SAST Agent (CI/CD container) │ │ │ │ bandit + semgrep + custom rules merge │ │ │ └───────────────────────────────────────────┘ │ └───────────────────────────────────────────────────────┘
### Ruolo Agente
| Agente | Ruolo | Strumenti | Capacità chiave |
|:------|:-----|:------|:---------------|
| **Scanner** | Analizza le diff delle MR | 10 strumenti | 41 regole (26 regex + 15 Semgrep), rilevamento di minacce specifiche per l'IA, integrazione delle vulnerabilità |
| **Reporter** | Pubblica report di audit | 7 strumenti | Scansionabile in 10 secondi (voto + mappa di calore + top 5), collegamento alle vulnerabilità, creazione automatica issue su DANGER |
| **Fixer** | Genera correzioni di codice | 8 strumenti | Patch con punteggio di confidenza (ALTO/MEDIO/BASSO), creazione automatica fix MR |
| **Metrics** | Traccia la baseline di rischio | 6 strumenti | Apprendimento cross-MR, postura del team, deriva della baseline, monitoraggio energia/carbonio |
| **SAST Scanner** | SAST esterno | CI/CD | Esegue bandit + semgrep, fonde con regole personalizzate tramite script Python |
---
## Caratteristiche
<table>
<tr>
<td width="50%">
### Scansione di sicurezza
- **41 Regole di rilevamento** — 26 regex + 15 regole personalizzate Semgrep
- **8 Categorie di rischio** — Dai comandi distruttivi all'iniezione di prompt
- **Rilevamento specifico per l'IA** — Iniezione di prompt LLM, output-to-exec, deserializzazione non sicura
- **Punteggio di rischio** — 0-100 per rilevamento (severità x contesto x categoria)
- **Sistema di voto** — SICURO / AVVISO / PERICOLO
</td>
<td width="50%">
### Automazione
- **Attivazione con un trigger** — `@mention` o assegna revisore
- **Routing condizionale** — SICURO salta il fixer, risparmiando token
- **Commenti MR strutturati** — Tabelle di rischio, suggerimenti di fix, dettagli comprimibili
- **Generazione automatica delle correzioni** — Patch di codice su un nuovo branch
- **Creazione issue** — Automatica per grado DANGER
</td>
</tr>
<tr>
<td width="50%">
### Tracciamento della baseline
- **Rilevamento deriva del rischio** — Confronta scansioni nel tempo
- **Analisi delle tendenze** — In miglioramento / in peggioramento / stabile
- **Tasso di adozione delle correzioni** — Traccia quanti suggerimenti sono stati applicati
- **Registro storico** — Append JSONL per scansione
</td>
<td width="50%">
### Metriche green
- **Monitoraggio dei token** — Utilizzo per scansione
- **Stima energetica** — kWh per scansione
- **Impronta di carbonio** — kg CO2 con analogie reali
- **Suggerimenti per l'ottimizzazione** — Ridurre ambito scansione, cache delle baseline
</td>
</tr>
</table>
---
## Categorie di rilevamento
### Regole personalizzate Semgrep
15 regole Semgrep di livello produzione in 6 categorie: