
shannon v3.1.0
Shannon è un penetration tester AI autonomo in modalità white-box per applicazioni web e API. Analizza il tuo codice sorgente, identifica i vettori di attacco ed esegue exploit reali per dimostrare le vulnerabilità prima che raggiungano la produzione.
[!NOTE] Shannon 3.0 è disponibile: analisi del codice di sicurezza più approfondita, risultati verificati in modo più accurato, una CLI ricostruita, CI/CD nativo, report PDF professionali e SARIF.
Shannon è un pentester AI autonomo per applicazioni web e API.
Analizza il tuo codice sorgente, identifica i percorsi di attacco ed esegue exploit reali per dimostrare le vulnerabilità prima che raggiungano la produzione. Nessun exploit, nessun report.
Questo repository è Shannon Open Source: l'agente completo, eseguito localmente dalla tua riga di comando.
Avvia Shannon
```bash npx @keygraph/shannon@latest ``` Il launcher interattivo ti guiderà attraverso la configurazione e il tuo primo pentest.[!TIP] Agenti AI e LLM: inizia da llms.txt per una mappa concisa di questo repository, oppure usa llms-full.txt per il README e la documentazione combinati in un unico file.
Indice
- Indice
- Cos'è Shannon?
- Shannon in Azione
- Avvio Rapido
- Capacità Principali
- Integrazioni CI/CD
- Edizioni
- Architettura
- Documentazione
- Sicurezza, Ambito e Limitazioni
- Licenza
- Riconoscimenti
- Informazioni su Keygraph
- Community e Supporto
- Domande Frequenti
Cos'è Shannon?
Shannon è un pentester AI autonomo sviluppato da Keygraph. Esegue test di sicurezza di applicazioni web e delle loro API sottostanti combinando l'analisi del codice sorgente con lo sfruttamento live.
Shannon analizza il codice sorgente della tua applicazione web per identificare potenziali vettori di attacco, poi utilizza l'automazione del browser e strumenti da riga di comando per eseguire exploit reali contro l'applicazione in esecuzione e le sue API. Solo le vulnerabilità con una proof-of-concept funzionante vengono incluse nel report finale.
Shannon è l'agente. Questo repository è Shannon Open Source, il pentester standalone che esegui tu stesso. Lo stesso Shannon alimenta anche la piattaforma Keygraph, il prodotto commerciale di pentesting di Keygraph. Vedi Edizioni per un confronto tra i due.
Perché Shannon Esiste
Grazie a strumenti come Claude Code e Cursor, il tuo team rilascia codice senza sosta. Ma il tuo penetration test? Avviene una volta all'anno. Questo crea un enorme divario di sicurezza. Per gli altri 364 giorni, potresti rilasciare inconsapevolmente vulnerabilità in produzione.
Shannon colma questo divario fornendo penetration testing automatizzato e on-demand che può essere eseguito su ogni build o release.
Perché "Shannon"?
Prende il nome da Claude Shannon, il padre della teoria dell'informazione. Nel suo nucleo, il pentesting è un problema di informazione: ogni sonda riduce l'incertezza sullo stato di un sistema. I migliori strumenti massimizzano il segnale ottenuto da ogni richiesta, trasformando quei bit di conoscenza in un percorso di exploit.
Inoltre, volevamo che potessi dire: "Hey Claude, esegui Shannon" per trovare tutti i difetti di sicurezza nella tua app vibe-coded.
Non un sostituto dei pentester umani
Shannon è progettato per lavorare al fianco di pentester esperti e red teamer, non per sostituirli. I grandi pentester comprendono il business, concatenano gli attacchi in modi che nessuno aveva previsto e portano anni di giudizio che i modelli attuali non possono eguagliare.
Shannon risolve un problema diverso: c'è molto più software da testare di quanto i team di sicurezza abbiano tempo di coprire. I sistemi critici ricevono valutazioni periodiche da esperti, mentre la lunga coda di app interne, API e servizi in rapida evoluzione viene raramente testata del tutto.
Shannon sposta il pentesting a sinistra nel ciclo di vita dello sviluppo software (SDLC). Usalo per eseguire test supportati da exploit contro ambienti di staging e release alla cadenza con cui vengono effettivamente rilasciati, e riserva il tempo degli esperti umani per i rischi che richiedono qualcuno che conosca l'organizzazione.
Shannon in Azione

Questi report provengono da scansioni di Shannon Open Source di Photoview 2.4.0, una delle applicazioni nel confronto di Doyensec tra Aikido e XBOW. Abbiamo eseguito Shannon contro la stessa versione dell'applicazione e valutato i suoi risultati separatamente. Leggi lo studio Doyensec e il nostro confronto di follow-up di Shannon per metodologia, limitazioni, costi e risultati.
| Modello | Report | SARIF |
|---|---|---|
| DeepSeek v4 Flash | Visualizza report | SARIF |
| Grok 4.6 | Visualizza report | SARIF |
| Claude Opus 5 | Visualizza report | SARIF |
Avvio Rapido
Prerequisiti
- Docker: richiesto per il container worker.
- Node.js 18+: richiesto per il flusso di lavoro
npxconsigliato. - Credenziali del provider AI: Shannon funziona su Anthropic, OpenAI, xAI, AWS Bedrock e qualsiasi altro provider nel catalogo dell'harness — ognuno dei quali può essere indirizzato a un proxy o gateway LLM tramite un base URL personalizzato. Porti la tua chiave e Keygraph non fa mai da proxy al traffico del tuo modello. Shannon è agnostico rispetto al provider. Vedi Provider AI per gli ID dei modelli suggeriti.
- Salvaguardie cyber autorizzate con il tuo provider: Anthropic e OpenAI applicano salvaguardie in tempo reale ai carichi di lavoro di sicurezza informatica, che possono interrompere una scansione a metà esecuzione. Completa le loro linee guida per tester di sicurezza legittimi prima della tua prima esecuzione - vedi Provider AI.
Esegui Shannon
[!WARNING] Shannon esegue attivamente exploit. Eseguilo solo contro applicazioni e ambienti che possiedi o per cui hai esplicita autorizzazione scritta per testare. Non eseguire Shannon contro sistemi di produzione.```bash
Configure credentials with the interactive wizard.
npx @keygraph/shannon@latest setup
Run a pentest against a source-available target.
npx @keygraph/shannon@latest start
-u https://your-app.com
-r /path/to/your/repo
Shannon estrae l'immagine worker da Docker Hub, avvia l'infrastruttura locale richiesta, monta il repository di destinazione in sola lettura all'interno di un container worker effimero e scrive i risultati in un workspace locale.
Per build da sorgente, scansioni autenticate, configurazione specifica del provider e note sulla piattaforma, consulta la [Documentazione](#documentation).
> [!TIP]
> **Preferisci usare un abbonamento invece dei crediti API?**
>
> - **OpenAI Codex:** L'ultima versione di Shannon supporta gli abbonamenti ChatGPT Plus e Pro. Segui la [guida alla configurazione dell'abbonamento OpenAI Codex](https://github.com/keygraphhq/shannon/blob/main/docs/ai-providers.md#openai-codex-chatgpt-pluspro-subscription) per iniziare.
> - **xAI (Grok):** L'ultima versione di Shannon supporta gli abbonamenti xAI. Segui la [guida alla configurazione dell'abbonamento xAI](https://github.com/keygraphhq/shannon/blob/main/docs/ai-providers.md#xai-grok-subscription) per iniziare.
> - **Claude Code:** L'ultima versione di Shannon non supporta gli abbonamenti Claude Code. Segui la [guida alla configurazione dell'abbonamento Claude Code](https://github.com/keygraphhq/shannon/blob/main/docs/ai-providers.md#claude-code-subscription) per usare la versione `1.9.0`, che è l'ultima release basata su Claude Agent SDK.
## Capacità principali
- **Nessun exploit, nessun report**: Segnala solo vulnerabilità confermate con una proof of concept riproducibile, riducendo il rumore speculativo degli scanner.
- **Analisi avanzata del codice**: Mappa architettura, trust boundary, interfacce, flussi di dati e asset critici prima di inviare percorsi di attacco credibili agli agenti di pentesting live.
- **Esecuzione autonoma**: Esegue ricognizione, analisi, exploitation e reporting da un singolo comando.
- **Esperienza terminale live**: Semplifica la configurazione della scansione e mostra il progresso e i risultati degli agenti senza esporre i log di orchestrazione.
- **Test autenticati**: Supporta credenziali, flussi di login, TOTP, autenticazione email, aree di focus e regole di ingaggio tramite configurazione.
- **Copertura orientata a OWASP**: Testa injection sfruttabili, XSS, SSRF, autenticazione compromessa e autorizzazione compromessa.
- **Workspace ripristinabili**: Riprende scansioni interrotte senza ripetere il lavoro completato.
- **Integrazioni CI/CD native**: Funziona tramite la GitHub Action ufficiale o il componente GitLab CI/CD, preserva gli artefatti, pubblica i risultati e blocca le release su vulnerabilità dimostrate.
- **Report multi-formato**: Produce report PDF e Markdown ricchi di evidenze, oltre a JSON e SARIF 2.1.0. SARIF è abilitato per impostazione predefinita per le scansioni in modalità exploit.
- **Provider agnostico e BYOK**: Supporta Anthropic, OpenAI, xAI, AWS Bedrock, API compatibili e gateway LLM, e modelli locali serviti tramite Ollama, vLLM o LM Studio.
- **Privato by design**: Funziona nella tua infrastruttura, memorizza i risultati localmente e invia le richieste ai modelli direttamente all'endpoint scelto. Un endpoint locale mantiene i dati all'interno del tuo ambiente.
## Integrazioni CI/CD
Shannon può essere eseguito in modo continuo contro ambienti di staging e sviluppo distribuiti tramite integrazioni ufficiali per [GitHub Actions](https://github.com/KeygraphHQ/shannon-action) e [GitLab CI/CD](https://gitlab.com/KeygraphHQ/shannon-ci).
Entrambe le integrazioni:
- analizzano il repository sorgente estratto mentre attaccano un target in esecuzione;
- preservano i report PDF, Markdown e SARIF come artefatti della pipeline;
- preservano i log di scansione e degli agenti per il debug, incluse le esecuzioni incomplete;
- supportano pentest su pull request, release e pianificati;
- distinguono una valutazione incompleta da una scansione completata senza risultati; e
- possono facoltativamente far fallire la pipeline quando Shannon sfrutta una vulnerabilità pari o superiore a una soglia di severità configurata.
Un'ipotesi di analisi del codice non fa fallire la pipeline. Le soglie di severità contano solo i risultati con `status: exploited`.
### GitHub Actions```yaml
name: Shannon Pentest
on:
workflow_dispatch:
permissions:
security-events: write
jobs:
pentest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Shannon
uses: KeygraphHQ/shannon-action@v1
with:
url: https://staging.example.com
api-key: ${{ secrets.SHANNON_AI_API_KEY }}
fail-on-severity: high
upload-sarif: true
L'Action imposta repo per impostazione predefinita sull'area di lavoro GitHub estratta. Carica un artefatto contenente i report di valutazione della sicurezza e SARIF, più un artefatto di esecuzione separato contenente i log di scansione e dell'agente. Abilitando upload-sarif vengono pubblicati i risultati supportati nella scansione del codice di GitHub.
Requisiti:
- un repository privato;
- un runner con Docker e Docker Compose v2;
- accesso al target di staging o sviluppo in esecuzione; e
- una credenziale del provider del modello memorizzata come secret di GitHub Actions.
Consulta la documentazione di Shannon GitHub Action e la scheda su GitHub Marketplace.
Edizioni
Shannon Open Source è un pentester autonomo completo, particolarmente adatto a sviluppatori individuali e piccoli team che eseguono test di sicurezza mirati localmente o in CI/CD.
Keygraph Enterprise Platform è pensata per le organizzazioni che necessitano di una piattaforma condivisa per il pentesting agentico/AppSec continuo su molti team, repository e ambienti. Centralizza analisi più approfondite, gestione delle vulnerabilità, remediation, verifica, governance e reporting, in modo che i team non debbano assemblare e mantenere autonomamente questi flussi di lavoro.
Scopri la Keygraph Enterprise Platform e confronta le edizioni →
Architettura
Shannon combina l'analisi multi-stadio del codice di sicurezza con la ricognizione e lo sfruttamento dal vivo:```mermaid flowchart TD S["Source code"] --> EXISTING["Recon + vulnerability analysis"] S --> SAST["Agentic security code analysis"]
EXISTING -- "Pentest candidates" --> REC["Finding reconciliation<br/>(merge + deduplicate)"]
SAST -- "SAST candidates" --> REC
REC -- "Reconciled exploitation queue" --> EXP["Exploitation agents"]
APP["Running application"] --> EXP
EXP -- "Exploit demonstrated" --> REPORT["Reporting<br/>PDF · Markdown · SARIF"]
EXP -- "No exploit demonstrated" --> DROP["Discard"]
REPORT --> CICD["CI/CD gate"]
Passo dopo passo:
1. **Ricognizione e analisi delle vulnerabilità** esplora l'applicazione in esecuzione, collega il comportamento a runtime al codice sorgente ed esegue agenti specializzati su Injection, XSS, SSRF, Autenticazione e Autorizzazione.
2. **Analisi agentica del codice di sicurezza** mappa l'architettura dell'applicazione, i confini di fiducia, le interfacce esposte, le dipendenze, i flussi di dati e gli asset ad alto rischio, quindi avvia indagini mirate su di essi.
3. **Riconciliazione dei risultati** unisce entrambi i flussi di candidati, deduplica le sovrapposizioni e raggruppa ciò che rimane in una coda di sfruttamento.
4. **Gli agenti di sfruttamento** tentano attacchi proof-of-concept reali contro l'applicazione in esecuzione.
5. **La validazione** scarta ogni candidato che Shannon non riesce a dimostrare.
6. **Il reporting** produce report in PDF e Markdown con le prove allegate, oltre a JSON strutturato e SARIF per i sistemi a valle.
Solo le vulnerabilità validate dal vivo diventano risultati del pentest di Shannon o contano ai fini delle soglie di severità CI/CD.
Ogni scansione viene eseguita in un container Docker effimero con uno workspace isolato e orchestrazione per singola invocazione.
## Documentazione
Usa queste guide per i dettagli operativi:
| Guida | Usala per |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Build dal sorgente e comandi CLI](https://github.com/keygraphhq/shannon/blob/main/docs/development.md) | Clonazione, build, comandi comuni, percorsi di output e sviluppo locale. |
| [Configurazione](https://github.com/keygraphhq/shannon/blob/main/docs/configuration.md) | Test autenticati, flussi di login, regole di ingaggio e filtri dei report. |
| [Provider AI](https://github.com/keygraphhq/shannon/blob/main/docs/ai-providers.md) | Selezione del modello, i provider supportati (Anthropic, OpenAI, xAI, AWS Bedrock e qualsiasi altro provider supportato da Pi) e gateway LLM personalizzati. |
| [Piattaforme e networking](https://github.com/keygraphhq/shannon/blob/main/docs/platforms.md) | Windows/WSL2, Linux, macOS, networking Docker, app locali e hostname personalizzati. |
| [Workspace e ripresa](https://github.com/keygraphhq/shannon/blob/main/docs/workspaces.md) | Denominazione dei workspace, ripresa di scansioni interrotte e archiviazione dei workspace. |
| [Sicurezza e limitazioni](https://github.com/keygraphhq/shannon/blob/main/docs/safety.md) | Requisiti di uso autorizzato, indicazioni per ambienti non di produzione, effetti mutativi, costi e avvertenze sui modelli. |
| [Copertura e roadmap](https://github.com/keygraphhq/shannon/blob/main/docs/coverage-roadmap.md) | Copertura attuale delle vulnerabilità e lavoro pianificato. |
| [Keygraph Enterprise Platform](https://github.com/keygraphhq/shannon/blob/main/docs/keygraph-platform.md) | SAST agentico esaustivo, pentesting continuo, gestione dei risultati sull'intero ciclo di vita, remediation, verifica mirata, governance enterprise e deployment on-premises. |
## Sicurezza, Ambito e Limitazioni
Shannon non è uno scanner passivo. I suoi agenti di sfruttamento possono creare utenti, inviare form, mutare lo stato dell'applicazione, attivare richieste in uscita e in altro modo influenzare il sistema target. Usa ambienti sandbox, di staging o di sviluppo locale con dati usa e getta.
Sei responsabile di usare Shannon in modo legale ed etico. Non puntare Shannon verso sistemi, repository o applicazioni che non possiedi o per cui non hai esplicita autorizzazione a testare.
Limitazioni importanti:
- Shannon Open Source è ottimizzato per pentesting rapido e informato dal codice nello sviluppo quotidiano e nel CI/CD. SAST agentico esaustivo, copertura più ampia degli scanner, governance centralizzata e gestione delle vulnerabilità sull'intero ciclo di vita sono forniti tramite la Keygraph Enterprise Platform.
- I risultati richiedono comunque una revisione umana. I report generati da LLM possono contenere dettagli debolmente supportati o errati.
- Anthropic, OpenAI, xAI e AWS Bedrock sono provider integrati, e funziona anche qualsiasi altro provider nel catalogo dell'harness — ciascuno raggiungibile tramite un base URL personalizzato che lo indirizza verso un proxy o un gateway LLM. Le capacità dei modelli variano, e un modello che non segue in modo affidabile le istruzioni di Shannon o i vincoli sull'uso degli strumenti produrrà risultati più deboli.
- Un'esecuzione completa può richiedere circa 1-1,5 ore e può comportare costi API LLM a seconda del prezzo del modello e della complessità dell'applicazione.
- Non scansionare codebase non attendibili o ostili. Gli strumenti basati su AI che leggono il codice sorgente possono essere esposti a prompt injection.
Leggi la guida completa [Sicurezza e limitazioni](https://github.com/keygraphhq/shannon/blob/main/docs/safety.md) prima di eseguire Shannon in un nuovo ambiente.
## Licenza
Shannon Open Source è distribuito sotto la [GNU Affero General Public License v3.0](https://github.com/keygraphhq/shannon/blob/main/LICENSE).
Licenze commerciali ed enterprise sono disponibili per organizzazioni che necessitano di termini di licenza diversi, supporto commerciale, ridistribuzione privata, uso come servizio gestito o opzioni di deployment più ampie, inclusa la piattaforma Keygraph.
Per licenze commerciali, contatta [[email protected]](mailto:[email protected]).
## Riconoscimenti
Grazie a [Pi](https://github.com/earendil-works/pi),
[Playwright CLI](https://github.com/microsoft/playwright-cli),
e [Mantis](https://github.com/google/mantis).
Vedi [THIRD_PARTY_NOTICES.md](https://github.com/keygraphhq/shannon/blob/main/THIRD_PARTY_NOTICES.md) per dettagli su licenze e attribuzioni.
## Informazioni su Keygraph
**Keygraph** è l'azienda dietro Shannon. Sviluppa anche la **piattaforma Keygraph**, il prodotto commerciale di pentesting agentico che chiude l'intero ciclo di vita AppSec ed esegue una build potenziata di Shannon come motore di pentesting.
## Community e Supporto
Gli **orari di ricevimento della community** sono disponibili per assistenza pratica su bug, deployment e domande di configurazione.
- US/EU: giovedì, 10:00 PT
- Asia: giovedì, 14:00 IST
- [Prenota uno slot](https://cal.com/george-flores-keygraph/shannon-community-office-hours)
[Unisciti a Discord](https://discord.gg/cmctpMBXwE) per fare domande, condividere feedback e connetterti con altri utenti di Shannon.
Al momento, Keygraph non accetta contributi di codice esterni. Le issue sono benvenute per segnalazioni di bug e richieste di funzionalità:
- [Segnala bug](https://github.com/KeygraphHQ/shannon/issues)
- [Suggerisci funzionalità](https://github.com/KeygraphHQ/shannon/discussions)
Resta connesso:
- [Sito web Keygraph](https://keygraph.io)
- [Twitter/X: @KeygraphHQ](https://twitter.com/KeygraphHQ)
- [LinkedIn: Keygraph](https://linkedin.com/company/keygraph)
## Domande Frequenti
### Posso ospitare Shannon autonomamente?
Sì. Shannon Open Source viene eseguito all'interno della tua infrastruttura in un container worker effimero. Monta il repository in sola lettura e scrive i risultati in un workspace locale.
Keygraph non riceve mai il tuo codice sorgente e non fa mai da proxy al tuo traffico verso i modelli. Le tue richieste ai modelli vanno direttamente al provider o all'endpoint che configuri, e portano con sé il contesto del codice sorgente e dell'applicazione. Punta Shannon verso un endpoint ospitato localmente e anche quel traffico rimane all'interno del tuo ambiente.
### Shannon supporta bring your own key (BYOK)?
Sì, sempre. Fornisci tu le credenziali LLM che Shannon usa per eseguire un pentest, in ogni deployment, open source e commerciale. Keygraph non fa mai da proxy al tuo traffico verso i modelli.
### Shannon produce output SARIF?
Sì. Shannon emette SARIF 2.1.0, il formato standard OASIS per i risultati di analisi statica, insieme a JSON strutturato. Qualsiasi consumer SARIF lo legge: servizi di code scanning, piattaforme di gestione delle vulnerabilità, dashboard di sicurezza e pipeline CI/CD. Viene scritto per impostazione predefinita nelle scansioni in modalità exploit; imposta `report.sarif` su `"false"` nel tuo file di configurazione per disattivarlo.
### Quali provider AI supporta Shannon?
Anthropic, OpenAI, xAI e AWS Bedrock sono integrati e configurati direttamente tramite l'ID del provider. Oltre a questi, Shannon funziona con qualsiasi provider nel catalogo dell'harness Pi, denominato allo stesso modo `<provider>:<model-id>`. Qualsiasi provider può essere indirizzato verso un proxy o un gateway LLM tramite un base URL personalizzato, che sovrascrive solo l'endpoint e mantiene il dialetto API di quel provider. Shannon usa un'unica impostazione di modello unificata per tutto un pentest.
### Posso eseguire Shannon su un modello locale o self-hosted?
Shannon funziona con modelli locali serviti tramite Ollama, vLLM o LM Studio, che espongono un endpoint compatibile con OpenAI, così come con router come OpenRouter e gateway LLM come LiteLLM. Punta Shannon verso l'endpoint con un base URL personalizzato. Le capacità variano, e un modello che non segue in modo affidabile le istruzioni di Shannon o i vincoli sull'uso degli strumenti produrrà pentest più deboli rispetto a un modello di frontiera, quindi segui questa strada solo se sai come si comporta il modello che hai scelto. Vedi [Provider AI](https://github.com/keygraphhq/shannon/blob/main/docs/ai-providers.md#custom-base-url).
### Shannon sfrutta davvero le vulnerabilità o si limita a scansionare?
Shannon esegue exploit reali. Segnala un risultato solo quando ha prodotto un proof-of-concept funzionante, e scarta le ipotesi che non riesce a dimostrare. È un pentester, non uno scanner passivo.
**Realizzato da [Keygraph](https://keygraph.io)**

