Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
duo-agentflow-auditor — Sicurezza del codice AI — quattro agenti che catturano ciò che SAST non rileva nel codice generato dall'AI. Costruito sulla piattaforma GitLab Duo Agent. | Kitploit
Strumenti/GitLabGitLab/centisgood/duo-agentflow-auditor
Analisi StaticaScanner di VulnerabilitàAnalisi del CodiceSicurezza WebDevSecOpsRilevamento SegretiSicurezza della Supply ChainMachine LearningApprendimento e Formazione

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sicurezza dell'IA
Lab e Pratica
GitLabcentisgood/duo-agentflow-auditor

duo-agentflow-auditor

Sicurezza del codice AI — quattro agenti che catturano ciò che SAST non rileva nel codice generato dall'AI. Costruito sulla piattaforma GitLab Duo Agent.

Vedi Repository
5 mesi faNon ancora revisionato

Duo AgentFlow Auditor

Sicurezza del codice AI — rilevare ciò che SAST non vede nel codice generato dall'AI Costruito sulla piattaforma GitLab Duo Agent

License: MIT Platform AI Model Agents Detection Rules Semgrep Rules Tests Flow Schema Green Agent GitLab AI Hackathon


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


Il problema

L'AI accelera la generazione di codice ma crea nuovi colli di bottiglia per la sicurezza:

Fonte: GitLab 2025 Global DevSecOps Report

La soluzione

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.


Architettura```

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 │ │ │ └───────────────────────────────────────────┘ │ └───────────────────────────────────────────────────────┘

root@kitploit:~
### 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:

| Regola | Categoria | Gravità | Rilevamento |
|:-----|:---------|:---------|:----------|
| `llm-prompt-injection` | Sicurezza IA | AVVISO | Input utente inviato a chiamate API LLM |
| `llm-output-code-exec` | Sicurezza IA | ERRORE | Output LLM passato a exec/eval |
| `unsafe-deserialization-ml` | Sicurezza IA | AVVISO | pickle.load, torch.load su modelli non fidati |
| `sql-injection` | Sicurezza Web | ERRORE | Query SQL formattate come stringhe (f-string, .format, concat) |
| `path-traversal` | Sicurezza Web | ERRORE | Input utente in operazioni su percorsi file (../ traversal) |
| `ssrf-request-forgery` | Sicurezza Web | ERRORE | URL controllati dall'utente in richieste HTTP |
| `open-redirect` | Sicurezza Web | AVVISO | Input utente in funzioni di reindirizzamento |
| `missing-input-validation` | Sicurezza Web | AVVISO | Dati richiesta utilizzati senza validazione dello schema |
| `dangerous-eval-exec` | Python | AVVISO | eval/exec con contenuto dinamico |
| `subprocess-shell-true` | Python | AVVISO | subprocess con shell=True |
| `dangerous-os-system` | Python | AVVISO | os.system/popen (deprecato) |
| `insecure-random-python` | Crittografia | AVVISO | modulo random per token di sicurezza |
| `insecure-random-javascript` | Crittografia | AVVISO | Math.random() per token di sicurezza |
| `hardcoded-credentials` | Segreti | AVVISO | Password, chiavi API, token hardcoded |
| `insecure-http` | Rete | INFO | URL HTTP (con autofix verso HTTPS) |

### Categorie di rilevamento regex

| Categoria | Gravità | Esempi di pattern |
|:---------|:---------|:-----------------|
| Comandi distruttivi | 🚨 Pericolo | `rm -rf /`, `mkfs`, `dd su disco` |
| Esfiltrazione credenziali | 🚨 Pericolo | `curl` per inviare segreti a URL esterni |
| Iniezione di prompt (grave) | 🚨 Pericolo | "Ignora le istruzioni precedenti", sovrascritture dei ruoli |
| Esecuzione offuscata | 🚨 Pericolo | `base64 -d \| bash`, pipe remota a shell |
| Esecuzione shell | ⚠️ Avviso | `shell=True`, `eval()`, `exec()`, `os.system()` |
| Chiamate di rete | ⚠️ Avviso | `curl`/`wget`/`fetch` verso URL esterni |
| Trasporto insicuro | ⚠️ Avviso | `http://` dove `https://` dovrebbe essere usato |
| Credenziali hardcoded | ⚠️ Avviso | Password, chiavi API, token nel codice |

### Formula del punteggio di rischio```
score = severity_weight + category_weight + executable_context + actionable + risk_modifier
      = clamp(0, 100)

severity_weight:    danger=50, warning=25
category_weight:    destructive-command=15, credential-exfil=15, prompt-injection=10, ...
executable_context: +20 if file is .sh/.py/.js/.ts
actionable:         +15 if executable AND not in trusted domain allowlist
risk_modifier:      per-rule adjustment (0-15)

Classificazione dei gradi


Avvio rapido

Prerequisiti

  • Progetto GitLab con Duo Agent Platform abilitata (GitLab 18.8+)
  • Accesso al GitLab AI Hackathon group (per l'invio all'hackathon)

1. Push su GitLab```bash

git clone https://gitlab.com/centisgood/duo-agentflow-auditor.git cd duo-agentflow-auditor

root@kitploit:~
> 📖 Guida completa al mirroring (3 metodi, configurazione CI, strategie di sincronizzazione): [`docs/GITLAB_MIRROR_GUIDE.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/GITLAB_MIRROR_GUIDE.md)

### 2. Agenti e flussi pubblicati automaticamente

Il gruppo hackathon impone una [pipeline CI centrale](https://gitlab.com/gitlab-ai-hackathon/ci) tramite [politica di sicurezza](https://gitlab.com/gitlab-ai-hackathon/security-policies). Quando esegui il push su GitLab, il job `catalog-sync` **pubblica automaticamente** tutti i file `agents/*.yml` e `flows/*.yml` nel Catalogo AI — nessuna configurazione manuale o tag git necessari.

> Il file `.gitlab-ci.yml` del tuo progetto viene sovrascritto dalla pipeline centrale dell'hackathon. Il file `.gitlab-ci.yml` incluso funge solo da riferimento.

| # | Agente | File catalogo | Documenti prompt | Strumenti |
|---|--------|---------------|------------------|-----------|
| 1 | Scanner | [`agents/scanner.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/scanner.yml) | [`agents/scanner.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/scanner.md) | 8 strumenti |
| 2 | Reporter | [`agents/reporter.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/reporter.yml) | [`agents/reporter.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/reporter.md) | 6 strumenti |
| 3 | Fixer | [`agents/fixer.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/fixer.yml) | [`agents/fixer.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/fixer.md) | 8 strumenti |
| 4 | Metrics | [`agents/metrics.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/metrics.yml) | [`agents/metrics.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/metrics.md) | 5 strumenti |

Flusso: [`flows/security-audit.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/flows/security-audit.yml) — pipeline a 4 agenti con routing Scanner → Reporter → Fixer → Metrics.

<details>
<summary>Alternativa: Configurazione manuale tramite interfaccia GitLab</summary>

**Agenti**: Automate → Agents → Nuovo agente → incolla il prompt di sistema dai file `.md`

**Flusso**: Automate → Flows → Nuovo flusso → incolla la definizione da [`flows/security-audit.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/flows/security-audit.yml)
</details>

### 3. Abilita i trigger

| Trigger | Come |
|---------|------|
| Menzione | Commenta `@duo-agentflow-auditor` in qualsiasi MR |
| Assegna revisore | Assegna l'account di servizio come revisore MR |

### 4. Provalo```bash
# Create test branch with vulnerable code
git checkout -b test/security-audit
cp examples/vulnerable-mr/* .
git add . && git commit -m "test: add vulnerable code for audit"
git push origin test/security-audit

# Open MR → Comment: @duo-agentflow-auditor please review this MR

Procedura dettagliata: Vedi docs/SETUP_GUIDE.md


Esempio di Output

Commento MR (DANGER grade)```markdown

🛡️ AgentFlow Auditor — Security Report

Grade: 🚨 DANGER Recommendation: FAIL — do not merge without fixes

🗺️ Risk Heatmap

Top Findings

🚨 unsafe_script.py:55 — rm -rf (95/100) 🚨 unsafe_script.py:13 — shell=True (88/100) 🚨 unsafe_script.py:27 — eval() (85/100) ⚠️ insecure_fetch.js:41 — HTTP (62/100)

root@kitploit:~
### Metriche Verdi```markdown
### 🌱 Sustainability Report
| Metric              | Value               |
|---------------------|---------------------|
| Tokens Used         | 12,450              |
| Energy              | 0.0037 kWh          |
| CO₂ Footprint       | 0.0014 kg           |
| Efficiency          | 2.4 findings/1K tok |

💡 LED bulb for 13 seconds  |  🚗 Car driving 5.6 meters

Struttura del progetto```

duo-agentflow-auditor/ │ ├── agents/ │ ├── scanner.yml # Catalog agent — security scanner │ ├── reporter.yml # Catalog agent — report generator │ ├── fixer.yml # Catalog agent — auto-fix patches │ ├── metrics.yml # Catalog agent — green metrics │ ├── scanner.md # Detailed prompt documentation │ ├── reporter.md # Detailed prompt documentation │ ├── fixer.md # Detailed prompt documentation │ └── metrics.md # Detailed prompt documentation │ ├── flows/ │ └── security-audit.yml # Catalog flow — conditional routing pipeline │ ├── scripts/ │ ├── merge_sast_results.py # SAST result merger (bandit + semgrep + custom rules) │ └── demo.sh # E2E demo automation (glab CLI) │ ├── tests/ │ └── test_merge_sast_results.py # 76 pytest tests — scoring, grading, parsing │ ├── .gitlab/ │ └── duo/ │ └── flows/ │ └── sast-scanner.yaml # External SAST agent (CI/CD container) │ ├── rules/ │ ├── danger_rules.json # 11 high-severity detection patterns │ ├── warning_rules.json # 15 medium-severity detection patterns │ └── semgrep/ # 15 Semgrep custom rules │ ├── ai-security/ # LLM prompt injection, output exec, unsafe deser │ ├── web-security/ # SQL injection, path traversal, SSRF, open redirect, input validation │ ├── python-security/ # eval/exec, subprocess, os.system │ ├── crypto/ # Insecure random (Python + JavaScript) │ ├── secrets/ # Hardcoded credentials │ └── network/ # Insecure HTTP (with autofix) │ ├── Dockerfile # Production SAST container (python:3.11-slim) ├── requirements.txt # bandit + semgrep dependencies │ ├── examples/ │ ├── vulnerable-mr/ # Intentionally risky code (demo) │ │ ├── unsafe_script.py # shell=True, eval(), rm -rf, cred leak │ │ ├── risky_config.yaml # Prompt injection, hardcoded secrets │ │ └── insecure_fetch.js # HTTP, exec(), token exposure │ └── safe-mr/ # Secure code for contrast (demo) │ ├── safe_script.py │ ├── safe_config.yaml │ └── safe_script.js # HTTPS, execFile, env vars │ ├── docs/ │ ├── SETUP_GUIDE.md # Step-by-step setup │ ├── EXECUTION_PLAN.md # Implementation plan │ ├── WOW_MOMENTS.md # Visual impact & demo choreography │ ├── DEVPOST_SUBMISSION.md # Devpost submission draft │ └── GITLAB_MIRROR_GUIDE.md # GitHub → GitLab mirroring │ ├── .gitlab-ci.yml # CI — catalog-sync + validation ├── AGENTS.md # Project-level agent customization ├── IMPLEMENTATION.md # Architecture & design document ├── CONTRIBUTING.md # Contribution guidelines ├── LICENSE # MIT License └── README.md # This file

root@kitploit:~
---

## Tecnologia

| Componente | Tecnologia |
|:----------|:-----------|
| **Piattaforma** | GitLab Duo Agent Platform (GA in GitLab 18.8) |
| **Modello AI** | Anthropic Claude Sonnet |
| **Schema di flusso** | Flow Registry v1 (ambiente `ambient`) |
| **Trigger** | Menzione, Assegna, Assegna revisore |
| **Strumenti agente** | 30+ strumenti integrati di GitLab distribuiti su 4 agenti (incluso il collegamento delle vulnerabilità) |
| **Rilevamento** | 41 regole: 26 regex + 15 Semgrep (sicurezza AI, sicurezza web, crittografia, segreti, rete) |
| **SAST esterno** | Pipeline Dockerizzata bandit + semgrep con unione dei risultati |
| **Test** | 76 test pytest che coprono punteggio, valutazione e analisi |
| **Output** | Commenti MR in Markdown, Issues GitLab, MR di correzione |

---

## Documentazione

| Documento | Descrizione |
|:---------|:-----------|
| [`IMPLEMENTATION.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/IMPLEMENTATION.md) | Architettura, formula di punteggio, script demo, allineamento della valutazione |
| [`docs/SETUP_GUIDE.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/SETUP_GUIDE.md) | Procedura guidata in 7 passaggi con risoluzione dei problemi |
| [`docs/EXECUTION_PLAN.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/EXECUTION_PLAN.md) | Piano in 6 fasi con circa 35 attività granulari |
| [`docs/WOW_MOMENTS.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/WOW_MOMENTS.md) | Design dell'impatto visivo e coreografia demo |
| [`docs/DEVPOST_SUBMISSION.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/DEVPOST_SUBMISSION.md) | Testo del modulo di sottomissione copia e incolla |
| [`AGENTS.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/AGENTS.md) | Personalizzazione della scansione a livello di progetto |
| [`docs/GITLAB_MIRROR_GUIDE.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/GITLAB_MIRROR_GUIDE.md) | Mirroring da GitHub a GitLab (3 metodi) |
| [`CONTRIBUTING.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/CONTRIBUTING.md) | Come contribuire |

---

## Test```bash
# Run the full test suite (76 tests)
python -m pytest tests/ -v

# Run with coverage
python -m pytest tests/ --cov=scripts --cov-report=term-missing

I test coprono: caricamento JSON, analisi delle regole, normalizzazione di gravità/categoria, formula di punteggio del rischio, classificazione dei voti, analisi dell'output di bandit/semgrep, deduplicazione dei risultati e il punto di ingresso CLI.


Demo```bash

Run the E2E demo (requires glab CLI + GitLab remote)

scripts/demo.sh

Use a custom remote name

scripts/demo.sh --gitlab-remote origin

Clean up demo branches and MRs

scripts/demo.sh --cleanup

root@kitploit:~
Lo script demo crea una MR di test con codice vulnerabile, attiva il revisore tramite `@mention` e interroga per ottenere i risultati.

---

## Contribuire

Vedi [`CONTRIBUTING.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/CONTRIBUTING.md) per le linee guida.

**Riepilogo rapido:**
1. Fai il fork del repository
2. Crea un branch di feature (`git checkout -b feature/amazing`)
3. Fai il commit delle modifiche (`git commit -m 'feat: add amazing feature'`)
4. Fai il push sul branch (`git push origin feature/amazing`)
5. Apri una Merge Request

---

## Il Paradosso dell'AI — Perché Questo è Importante

<div align="center">

| Senza AgentFlow Auditor | Con AgentFlow Auditor |
|:--------------------------|:----------------------|
| La MR aspetta 2+ giorni per la revisione | **45 secondi** per un audit completo |
| SAST non rileva rischi specifici dell'AI | **41 regole** incl. 3 specifiche per l'AI + 7 minacce di sicurezza web |
| Nessun suggerimento di fix | **Patch con punteggio di confidenza** (ALTO/MEDIO/BASSO) |
| Le scansioni SAFE sprecano token del fixer | **Routing condizionale** salta il fixer |
| Nessun tracciamento nel tempo | **Apprendimento cross-MR** + postura del team |
| Nessuna consapevolezza energetica | **Metriche green** per scansione |

</div>

---

## Licenza

Questo progetto è concesso in licenza secondo i termini della [MIT License](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/LICENSE).

---

<div align="center">

**Un Trigger. Quattro Agenti. Zero Punti Ciechi dell'AI.**

Realizzato con la [GitLab Duo Agent Platform](https://docs.gitlab.com/user/duo_agent_platform/) e [Anthropic Claude](https://www.anthropic.com/)

</div>
Scarica lo strumento
ProblemaImpatto
Le revisioni di sicurezza bloccano le MR per ore o giorni7 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 deployment76% delle organizzazioni
Gli strumenti SAST tradizionali non rilevano i rischi specifici dell'AIPrompt 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
GradoCondizioneAzione
🚨 PERICOLOmax_risk >= 90 OR high_risk_findings >= 3Blocca merge + crea issue
⚠️ AVVERTENZAmax_risk >= 70 OR high_risk_findings >= 1Revisiona prima del merge
✅ SICURONessun segnale di rischio significativoSicuro per il merge
RiskFileFindingsMax Score
🟥🟥🟥🟥🟥unsafe_script.py595
🟥🟥🟥🟧⬜risky_config.yaml378
🟧🟧⬜⬜⬜insecure_fetch.js262