
Pentester AI open-source che dimostra ogni scoperta. Gli oracoli automatici rieseguono ogni exploit; i bug verificati includono una capsula di prova che puoi riprodurre tu stesso.
 [](https://pypi.org/project/ptai/) [](https://pypi.org/project/ptai/) [](https://github.com/0xSteph/pentest-ai/blob/main/LICENSE) [Sito web](https://pentestai.xyz/) · [Avvio rapido](#quick-start) · [Bug bounty](#bug-bounty-automation) · [Verifica](#how-verification-works) · [Documentazione](https://github.com/0xSteph/pentest-ai/tree/main/docs) · [Issues](https://github.com/0xSteph/pentest-ai/issues) **Pentest-AI è uno strumento open source di penetration testing e bug-bounty basato sull'AI che dimostra ogni risultato.** Collega un client o modello AI a un flusso di lavoro di pentest reale — analizzando applicazioni web, scoprendo e riproducendo vulnerabilità, e utilizzando **oracoli automatici per verificare se un exploit funziona davvero**. Nessuna prova, nessun risultato: i risultati verificati includono evidenze che puoi riprodurre autonomamente. Usalo tramite **MCP** (Claude Code, Codex, Cursor, VS Code), dalla **CLI** o in **CI/CD**. Il modello guida l'analisi; un oracolo indipendente decide se un risultato ottiene un verdetto verificato — così l'output è segnale, non rumore generato dall'AI. **Progettato per il bug bounty autorizzato:** importa lo scope di un programma (HackerOne, Bugcrowd, Intigriti, YesWeHack), esegui un'operazione con scope applicato e trasforma ogni risultato verificato in una segnalazione pronta per la piattaforma. [Vai al flusso di bug-bounty →](#bug-bounty-automation) > Testa solo sistemi che possiedi o per cui hai esplicita autorizzazione a eseguire la valutazione. Leggi la [politica di uso accettabile](https://pentestai.xyz/aup) e i [termini](https://pentestai.xyz/terms) prima di avviare un'operazione. ## Avvio rapido ### Consigliato: Codex o Claude Code Usa Python **3.10–3.14** e installa prima [pipx](https://pipx.pypa.io/stable/installation/). Esegui `pipx ensurepath` e riapri il terminale se necessario. pipx isola le dipendenze di Pentest-AI e rende disponibili i suoi comandi in tutte le cartelle. ```sh pipx install ptai ptai setup --mcp ``` Installa prima la CLI del tuo client AI. La configurazione chiede conferma prima di connettere **tutti i client supportati rilevati**, inclusi sia Codex che Claude Code quando installati. Preserva le registrazioni esistenti. Riavvia il client in seguito. La procedura guidata utilizza **impostazioni a livello utente**. Non installa client, non effettua l'accesso, non scarica modelli né configura Ollama. Il modello è fornito dal tuo client AI; il server MCP non richiede una chiave API separata per il modello. Usa `ptai setup --mcp --dry-run` per visualizzare in anteprima le modifiche. Consulta [configurazione per singolo client e per repository](https://pentestai.xyz/docs/ai-clients/) per le istruzioni su Codex `.codex/config.toml` e Claude Code `.mcp.json`. Per gli aggiornamenti, usa `pipx upgrade ptai`. In un ambiente virtuale attivato esistente, è supportato anche `python -m pip install --upgrade ptai`; mantieni quell'ambiente disponibile dopo averlo registrato con il tuo client AI. ### Alternativa: Ollama e modelli locali Installa Pentest-AI come sopra, ma salta la configurazione MCP per questa modalità. [Installa e avvia Ollama](https://docs.ollama.com/quickstart), poi scarica un modello con supporto al tool-calling. Usa `ollama list` per trovarne il nome esatto installato. ```bash export PENTEST_AI_LLM_PROVIDER=ollama export PENTEST_AI_MODEL="your-installed-model" ptai start https://your-authorized-target.example --no-sync ``` In PowerShell: ```powershell $env:PENTEST_AI_LLM_PROVIDER = "ollama" $env:PENTEST_AI_MODEL = "your-installed-model" ptai start https://your-authorized-target.example --no-sync ``` Sostituisci i segnaposto prima di eseguire. Un modello locale non richiede chiavi API cloud. La qualità del modello e la memoria disponibile influenzano i risultati. Consulta la [guida ai modelli](https://pentestai.xyz/docs/ai-clients/) per la configurazione dell'endpoint. ### Prova la demo inclusa Non richiede chiavi API né target esterni. ```bash pipx install ptai ptai demo ``` La demo testa un'applicazione vulnerabile inclusa, riproduce un risultato dalla sua proof capsule e verifica le route protette. Esamina il flusso di evidenze prima di configurare un'operazione reale. ### Altri provider di modelli Per modelli cloud standalone e dipendenze opzionali degli scanner, consulta la [guida all'installazione](https://pentestai.xyz/docs/getting-started/) e la [guida ai provider](https://github.com/0xsteph/pentest-ai/blob/main/docs/llm-providers.md). Tieni le chiavi API fuori dal controllo di versione. ## Automazione bug-bounty Pentest-AI è progettato per il lavoro di bug-bounty autorizzato, dove restare nello scope e inviare solo risultati riproducibili è ciò che conta. ```sh # 1. Import the program's scope (HackerOne / Bugcrowd / Intigriti / YesWeHack) ptai bounty import --platform hackerone --file scope.json --out program.scope # 2. Run a scope-enforced engagement (a preflight shows exactly what will be # touched and asks you to confirm — nothing out of scope is ever hit) ptai start acme.com --scope-file program.scope --intensity stealth # 3. Turn verified findings into platform-ready submissions ptai bounty report <engagement-id> --platform hackerone --out submissions/ ``` - **Lo scope è applicato**, non consultivo: wildcard, CIDR ed esclusioni fuori scope, fail-closed, su ogni agente e strumento. - **Le segnalazioni sono inviabili**: ognuna include un `curl` riproducibile, CVSS/CWE, impatto, remediation e il verdetto automatico con una proof capsule riproducibile. - Oppure esegui il playbook metodologico integrato end-to-end: `ptai playbook run bug-bounty-web -i target=acme.com --execute`. [Guida completa al bug-bounty →](https://github.com/0xSteph/pentest-ai/blob/main/docs/bug-bounty.md) ## Come funziona la verifica  1. **Trova un candidato.** Una probe o uno scanner identifica un comportamento che vale la pena analizzare. 2. **Riproducilo e verifica un controllo.** Un oracolo denominato ripete l'exploit e lo confronta con un controllo che non dovrebbe mostrare la debolezza. 3. **Conserva le evidenze.** Un risultato verificato registra l'oracolo e i suoi risultati in una proof capsule portabile. Usa `ptai replay` per verificarla di nuovo. Ad esempio, un bypass tramite header fidato deve restituire contenuto privilegiato con l'header di attacco e negare l'accesso senza di esso. Un server che risponde a ogni richiesta con HTTP 200 non è una prova sufficiente. **Il modello non può assegnare un verdetto verificato.** L'output di scanner di terze parti rimane non verificato finché un oracolo non lo dimostra in modo indipendente. I risultati privi di una ricetta di verifica supportata rimangono candidati. Un verdetto verificato si applica alle condizioni testate. Non significa che l'intera applicazione sia sicura. Le proof capsule non sono firmate; rieseguire la verifica è il meccanismo di fiducia. [Leggi il design della verifica](https://github.com/0xSteph/pentest-ai/blob/main/docs/why-verification.md) ## Cosa puoi fare | Flusso di lavoro | Cosa offre Pentest-AI | | --- | --- | | Analizzare applicazioni web | Probe per injection, controllo degli accessi, gestione delle richieste e altre debolezze applicative | | Eseguire un'operazione di bug-bounty | Importa lo scope del programma, applicalo e genera segnalazioni pronte per la piattaforma ([guida](https://github.com/0xSteph/pentest-ai/blob/main/docs/bug-bounty.md)) | | Lavorare tramite un client AI | Strumenti MCP per operazioni, analisi e verifica | | Riprodurre un risultato | Risultati dell'oracolo e proof capsule riproducibili | | Verificare una correzione | Riesegui la verifica registrata sul target aggiornato | | Segnalare al tuo team | Report e output SARIF per i flussi di lavoro ingegneristici esistenti | | Mantenere i dati dell'operazione in locale | Risultati memorizzati sulla tua macchina in SQLite | La copertura varia in base a probe e oracolo. Gli scanner opzionali richiedono i propri binari, e alcune integrazioni forniscono output grezzo anziché risultati strutturati. Consulta la [documentazione](https://github.com/0xSteph/pentest-ai/tree/main/docs) e il [changelog](https://github.com/0xSteph/pentest-ai/blob/main/CHANGELOG.md) per la tua versione; `main` può contenere lavoro non rilasciato. [Visualizza l'inventario delle capacità verificato dalla CI](https://github.com/0xSteph/pentest-ai/blob/main/docs/capability-inventory.md). ## Porta i risultati verificati nella CI Configura il tuo provider di modelli, un target autorizzato e il consenso al primo avvio nell'ambiente CI. Conserva i segreti nel secret store del provider CI. ```sh ptai start https://your-authorized-target.example --ci --fail-on verified --no-sync ``` Esporta i risultati verificati usando l'ID dell'operazione dalla esecuzione: ```sh ptai export YOUR_ENGAGEMENT_ID --sarif pentest.sarif ``` `--sarif` è un'opzione di export, non un'opzione di `ptai start`. Conserva l'ID dell'operazione ed esegui l'export anche quando il gate dei risultati fallisce, se vuoi evidenze per build fallite. Carica il file risultante tramite l'integrazione SARIF del tuo provider CI. [Configurazione CI e template](https://github.com/0xSteph/pentest-ai/blob/main/docs/ci-cd.md) ## Evidenze, benchmark e limiti Risultati dei benchmark, completamento delle challenge e risultati verificati dall'oracolo sono misurazioni diverse. Questi report registrano le versioni, i target e la metodologia alla base dei loro risultati: - [Report e artefatti dei benchmark](https://github.com/0xSteph/pentest-ai/tree/main/benchmarks) - [Metodologia Juice Shop](https://github.com/0xSteph/pentest-ai/blob/main/docs/benchmarks/juice-shop.md) - [Harness di test vulnerabile](https://github.com/0xSteph/pentest-ai/tree/main/tests/honeypot) - [Verifiche su applicazioni pulite](https://github.com/0xSteph/pentest-ai/tree/main/tests/cleanapp) **Aspettati una copertura incompleta.** Una scansione senza risultati verificati non è una valutazione di sicurezza di tutto ciò che un'applicazione fa. Autenticazione, stato dell'applicazione, classi di bug non supportate e cambiamenti ambientali influenzano ciò che può essere trovato e riprodotto. Esamina i risultati e mantieni un intervento umano nell'operazione. ## Dati e comportamento di rete I risultati sono memorizzati localmente. I contatori di utilizzo anonimi sono opt-in tramite `ptai telemetry enable`. Archiviazione locale non significa che ogni operazione rimanga sulla tua macchina: le chiamate al provider del modello e gli scanner installati hanno il proprio comportamento di rete. Le verifiche di vulnerabilità blind possono utilizzare un collaborator out-of-band esterno; i metadati di callback sono visibili a quel servizio. Usa il tuo collaborator dove richiesto, oppure disabilita i callback: ```bash ptai start https://your-authorized-target.example --oast-server https://your-collaborator.example ptai start https://your-authorized-target.example --no-oast ``` ## Partecipa Usa [Issues](https://github.com/0xSteph/pentest-ai/issues) per bug riproducibili e [Discussions](https://github.com/0xSteph/pentest-ai/discussions) per domande e idee. Consulta la [guida per agenti e contributori](https://github.com/0xSteph/pentest-ai/blob/main/AGENTS.md) per le istruzioni di build e test. Il repository opzionale [pentest-ai-agents](https://github.com/0xSteph/pentest-ai-agents) contiene i file dei subagent di Claude Code. Pentest-AI è open source sotto [licenza MIT](https://github.com/0xSteph/pentest-ai/blob/main/LICENSE).