Agente di penetration testing basato sull'IA che si connette a una macchina Kali, esegue autonomamente strumenti di sicurezza, analizza i risultati e itera attraverso flussi di lavoro basati su browser.
Un agente di penetration testing open-source basato sull'IA. Si connette a una Kali attack box, esegue strumenti in autonomia, analizza i risultati e itera. Tu descrivi il target. Fa il resto.
Progettato per engagement reali, macchine boot2root e CTF.
Pentest Copilot esegue un auth bypass in OWASP Juice Shop:
Guardalo su YouTube
.ovpn/.conf con certificati, chiavi o credenziali referenziate e connettiti/disconnettiti dal browser. Sono supportate più connessioni simultanee.git clone https://github.com/bugbasesecurity/pentest-copilot.git
cd pentest-copilot
./run.sh start
Apri http://localhost:3000, registrati e avvia una sessione.
run.sh attende che frontend, backend, MongoDB e Redis siano pronti prima di
segnalare il successo. Se l'avvio fallisce, stampa lo stato dei container
interessati e i log recenti. Configura e assegna un modello in Settings -> Models dopo il
primo avvio.
Su Windows, esegui Pentest Copilot all'interno di WSL2 con l'integrazione WSL di Docker Desktop
abilitata. Gli host nativi PowerShell e Windows SSH non sono
supportati perché i comandi del workspace richiedono una shell POSIX. Per permessi
dei file e prestazioni affidabili, clona il repository nel filesystem WSL, non
sotto /mnt/c.
Settings -> Models rileva le CLI Codex e Claude Code autenticate. Autentica una volta sulla macchina che esegue la CLI:
codex login
claude auth login
Poi seleziona Use Codex o Use Claude Code. La CLI ufficiale gestisce login, refresh e gestione dei diritti di abbonamento; Pentest Copilot non copia né riproduce i token OAuth. I trasporti tramite abbonamento ricevono la stessa cronologia di conversazione e gli stessi schemi di funzione dei provider API e restituiscono lo stesso contratto di chiamata assistant/tool, quindi Pentest Copilot continua a eseguire strumenti e controlli di consenso.
Il backend Docker include la Codex CLI per Linux e monta solo il file
~/.codex/auth.json basato su file dell'host, seguendo il flusso documentato da Codex per il trasferimento
del login headless/Docker. Imposta CODEX_AUTH_FILE prima di docker compose up se il tuo
file di credenziali si trova altrove. La CLI potrebbe aggiornare quel file durante il normale
utilizzo; non committarlo né condividerlo mai. Le credenziali solo Keychain dell'host e Claude Code
rimangono disponibili solo in modalità developer/host finché non viene configurato un bridge di inferenza
sull'host. L'uso dell'abbonamento Claude è controllo locale della CLI e deve essere conforme ai termini vigenti di Anthropic
per prodotti e abbonamenti di terze parti.
Le famiglie di modelli first-class attuali includono GPT-5.6 Sol/Terra/Luna, Claude Fable/Opus/Sonnet 5 e Kimi K3 (API Moonshot diretta o OpenRouter).
In modalità Docker, Pentest Copilot monta le directory ~/.ssh e ~/keys
dell'host in sola lettura. Ogni workspace può selezionare un alias Host concreto da
~/.ssh/config in Connection. Ogni sessione in quel workspace usa
lo stesso host e la stessa cartella di lavoro senza copiare chiavi private in MongoDB. Imposta
HOST_SSH_DIR o HOST_SSH_KEYS_DIR prima di avviare Docker quando quelle
directory si trovano altrove.
Usa alias con nome invece di voci solo wildcard:
Host lab-box
HostName 10.10.10.10
User root
IdentityFile ~/.ssh/lab-box.pem
run.sh gestisce la generazione dei file di configurazione, le build Docker e l'orchestrazione dei container. Usa ./run.sh start -q per riutilizzare la modalità di avvio precedente e saltare i prompt nelle esecuzioni successive.
Per la matrice completa di scenari relativi a OS, Docker, SSH, VPN, proxy, permessi, ripristino e deployment, consulta Setup and Troubleshooting.
./run.sh stop # Stop all containers
./run.sh logs # Tail logs
./run.sh status # Container status
./run.sh backup # Back up databases, configuration, and workspaces
./run.sh config # Update configuration
./run.sh dev # Developer mode (infra only, run frontend/backend locally)
./run.sh help # Full help
Pentest Copilot può esporre il proprio control plane locale tramite MCP per client come Claude Code o Codex. Apri Settings -> MCP Access per copiare l'endpoint MCP locale e il bearer token.
Tratta il token come accesso admin locale: può eseguire comandi sull'exploit box configurato, gestire Burp, l'automazione del browser e i flussi VPN, leggere artefatti, scrivere finding e aggiornare la configurazione locale di Pentest Copilot. Le azioni MCP legate a un engagement vengono registrate in quella sessione, così rimangono visibili nell'interfaccia di Pentest Copilot.
Dopo aver copiato l'endpoint e il token, puoi fare uno smoke test della connessione MCP:
cd backend
PENTEST_COPILOT_MCP_URL=http://localhost:8080/mcp \
PENTEST_COPILOT_MCP_TOKEN=pc_mcp_... \
corepack pnpm run mcp:smoke
| Minimo | |
|---|---|
| RAM | 8 GB (+2 GB se si usa il container Kali integrato) |
| Disco | 20 GB |
| Docker | v20+ con Compose v2+ |
| Node.js | v22+ (solo modalità dev) |
| pnpm | v9+ (solo modalità dev) |
La modalità Docker associa le porte dell'interfaccia e dei servizi a 127.0.0.1 per impostazione predefinita. Non
esporre lo stack a una LAN o a Internet senza TLS, autenticazione e una
configurazione deliberata di reverse proxy. In modalità Kali integrata, mantieni i file durevoli
del workspace sotto /kali-data; i file altrove nel container Kali vengono rimossi quando il container viene ricreato.
La guida Setup and Troubleshooting nel repository è la fonte autorevole per installazione, configurazione, ripristino e deployment. La Wiki contiene riferimenti aggiuntivi alle funzionalità e potrebbe essere indietro rispetto alla release corrente:
./run.sh dev # Starts MongoDB + Redis in Docker
Poi in terminali separati:
cd backend && pnpm install && pnpm run watch # TypeScript compiler
cd backend && pnpm run dev # Backend server (port 8080)
cd frontend && pnpm install && pnpm run dev # Frontend (port 3000)
Per la configurazione di sviluppo e la risoluzione dei problemi, consulta la guida Setup and Troubleshooting.
@article{goyal2024hacking,
title={Hacking, the lazy way: LLM augmented pentesting},
author={Goyal, Dhruva and Subramanian, Sitaraman and Peela, Aditya},
journal={arXiv preprint arXiv:2409.09493},
year={2024}
}
Contributi benvenuti. Consulta la Guida alla Contribuzione e il Codice di Condotta.
Pentest Copilot è destinato esclusivamente a test di sicurezza autorizzati. Ottieni sempre un permesso esplicito prima di testare qualsiasi sistema.