Torna agli aggiornamenti
New releaseSep 4, 2026

pentest-ai v1.4.0

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.

Condividi

Pentest-AI: pentesting AI open source. Risultati riproducibili.

PyPI Python License: MIT

Sito web · Avvio rapido · Bug bounty · Verifica · Documentazione · Issue

Pentest-AI è uno strumento open source di penetration testing e bug-bounty basato sull'AI che tiene separati i risultati dimostrati dalle supposizioni. Collega un client o un modello AI a un flusso di lavoro di pentest reale: analisi di applicazioni web, scoperta e riproduzione di vulnerabilità e utilizzo di oracoli automatici per verificare se un exploit funziona davvero. Un risultato che nessun oracolo riesce a dimostrare resta etichettato come candidato, mentre uno verificato porta con sé le richieste e le risposte che lo hanno dimostrato.

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 merita un verdetto di verifica, così le supposizioni del modello non arrivano mai travestite da risultati.

Pensato per il bug bounty autorizzato: un profilo per programma contiene lo scope, la tariffa dichiarata e il tuo handle di ricercatore, una dry run mostra il piano prima che venga inviato qualcosa e le bozze di report derivano solo da risultati verificati. Vai al flusso di lavoro bug-bounty →

Testa solo sistemi di tua proprietà o per cui hai un'autorizzazione esplicita alla valutazione. Leggi la politica di uso accettabile e i termini prima di avviare un incarico.

Avvio rapido

Consigliato: Codex o Claude Code

Usa Python da 3.10 a 3.14 e installa prima pipx. Esegui pipx ensurepath e riapri il terminale se necessario. pipx isola le dipendenze di Pentest-AI e rende i suoi comandi disponibili in tutte le cartelle.

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. Mantiene 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 alcuna 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 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 tale 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, poi scarica un modello con supporto al tool-calling. Usa ollama list per trovarne il nome esatto installato.

export PENTEST_AI_LLM_PROVIDER=ollama
export PENTEST_AI_MODEL="your-installed-model"
ptai start https://your-authorized-target.example --no-sync

In 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 alcuna chiave API cloud. La qualità del modello e la memoria disponibile influenzano i risultati. Consulta la guida ai modelli per la configurazione dell'endpoint.

Prova la demo inclusa

Non sono richiesti chiavi API né target esterni.

pipx install ptai
ptai demo

La demo testa un'applicazione vulnerabile inclusa, riproduce un finding dalla sua proof capsule e verifica le route rafforzate. Ispeziona il flusso di lavoro delle evidenze prima di configurare un ingaggio reale.

Altri provider di modelli

Per i modelli cloud standalone e le dipendenze opzionali dello scanner, consulta la guida all'installazione e la guida ai provider. Tieni le chiavi API fuori dal controllo di versione.

Automazione del bug-bounty

La modalità bug bounty è pensata per i programmi che consentono il testing automatizzato. Scrivi un profilo per programma con il suo scope, la sua rate dichiarata e il tuo handle di ricercatore. --program applica poi tutto questo a ogni richiesta, e --dry-run stampa il piano senza inviare nulla.

# ~/.pentest-ai/programs/acme.toml
platform = "hackerone"
handle = "acme"
researcher = "your-h1-username"   # sent on every request in X-Bug-Bounty
rps = 5.0                         # the rate the program states
scope = ["*.acme.com", "api.acme.com"]
excluded = ["status.acme.com"]
scanners_allowed = true
allow_race = false
ptai start https://api.acme.com --program acme --dry-run    # sends nothing
ptai start https://api.acme.com --program acme --auto-auth
ptai bounty-report <engagement-id> --program acme --output-dir drafts/

Con --program:

  • Ogni richiesta è vincolata alla frequenza del programma, strumenti esterni inclusi. Uno strumento che non può essere vincolato alla sua quota di frequenza viene saltato e la scansione lo segnala.
  • L'ambito proviene dal profilo e da nessun'altra parte. Le richieste al di fuori di esso vengono rifiutate, e le esclusioni prevalgono sui caratteri jolly.
  • Ogni richiesta porta il tuo handle di ricercatore in X-Bug-Bounty, oppure nell'header indicato dal programma (PTAI_BOUNTY_HEADER_NAME).
  • Gli strumenti basati su wordlist come gobuster e ffuf vengono rifiutati. Due sonde di scoperta integrate provano comunque un elenco di percorsi probabili, circa 500 richieste.
  • I payload costruiti per esaurire o mandare in crash il target non vengono inviati. Le sonde che modificano gli account di altri utenti o lo stato condiviso non vengono eseguite. Le raffiche di race-condition vengono eseguite solo quando il profilo imposta allow_race = true.
  • 429 e Retry-After vengono rispettati. Un target che rallenta riceve una frequenza inferiore, e uno che rimane degradato interrompe la scansione con il motivo registrato.
  • Un programma che vieta gli scanner richiede un yes digitato, perché scansionarlo può invalidare il safe harbour.

ptai bounty-report redige report solo da risultati verificati dall'oracle, con passaggi di riproduzione tratti dalle richieste dell'oracle stesso. Riproduci ciascuno manualmente e invialo tu stesso. ptai bounty import converte il file di ambito esportato da un programma in voci di autorizzazione ed esclusione per il profilo.

Categorie