
BoxPwnr v0.4.0
Un framework modulare per il benchmarking di LLM e strategie agentiche su sfide di sicurezza in HackTheBox, TryHackMe, PortSwigger Labs, Cybench, picoCTF e altro.
BoxPwnr
Un esperimento divertente per vedere fin dove i Large Language Models (LLM) possono arrivare nel risolvere autonomamente sfide CTF e laboratori di sicurezza. È iniziato con HackTheBox e ora copre molte piattaforme e solver agenziali.
BoxPwnr fornisce un sistema plug and play che può essere utilizzato per testare le prestazioni di diverse architetture agenziali: --solver [claude_code, codex, cursor-cli, grok, kiro_cli, external, single_loop_xmltag, single_loop, single_loop_compactation, hacksynth].
Piattaforme supportate: --platform [htb, htb_ctf, htb_challenges, portswigger, ctfd, local, xbow, hackbench, cybergym, exploitbench, picoctf, tryhackme, levelupctf, argus]
Consulta Platform Implementations per la documentazione dettagliata su ogni piattaforma supportata.
Tracce e Benchmark
Tutte le tracce di risoluzione sono disponibili in BoxPwnr Traces & Benchmarks. Ogni traccia include i log completi delle conversazioni che mostrano il ragionamento dell'LLM, i comandi eseguiti e gli output ricevuti. Puoi riprodurre qualsiasi traccia in un visualizzatore web interattivo per vedere esattamente come la macchina è stata risolta passo dopo passo.
| Piattaforma | Risolte | Completamento | Tracce |
|---|---|---|---|
| HTB Starting Point | 25/25 | 770 | |
| HTB Labs | 268/526 | 783 | |
| HTB Challenges | 324/818 | 732 | |
| PortSwigger Labs | 163/270 | 377 | |
| XBOW | 102/104 | 525 | |
| Cybench | 40/40 | 2165 | |
| CyberGym | 476/1507 | 977 | |
| picoCTF | 502/503 | 1215 | |
| TryHackMe | 213/477 | 905 | |
| HackBench | 11/16 | 27 | |
| ExploitBench | 2/42 | 58 | |
| LevelUpCTF | 50/254 | 146 | |
| Argus | 47/60 | 1026 | |
| BSidesSF CTF 2026 | 43/51 | 76 | |
| Cloud Village CTF 2026 | 12/20 | 30 | |
| Neurogrid CTF: The ultimate AI security showdown | 17/36 | 197 |
Come Funziona
BoxPwnr utilizza LLM (o agenti CLI come Claude Code, Codex, Grok o Cursor) per risolvere autonomamente obiettivi CTF/lab attraverso un processo iterativo:
- Ambiente: di default, i comandi vengono eseguiti in un container Docker con Kali Linux (
--executor docker)
- Il container viene creato automaticamente al primo avvio (richiede ~10 minuti)
- La connessione VPN viene stabilita automaticamente quando la piattaforma lo richiede
- Ciclo di esecuzione (solver
single_loop_*di default):
- L'LLM riceve un system prompt dettagliato che definisce il suo compito e i vincoli
- L'LLM suggerisce il comando successivo in base agli output precedenti
- Il comando viene eseguito nell'executor scelto
- L'output viene restituito all'LLM per l'analisi
- Il processo si ripete finché non viene trovata la flag (o soddisfatti i criteri di successo della piattaforma)
- I solver basati su CLI (
claude_code,codex,grok,cursor-cli,kiro_cli) eseguono il proprio ciclo agente e trasmettono i risultati a BoxPwnr
- Automazione dei comandi:
- Agli agenti viene indicato di fornire comandi completamente automatizzati senza interazione manuale
- I comandi dovrebbero includere timeout adeguati e gestire i ritardi del servizio
- Risultati:
- La conversazione e i comandi vengono salvati come tracce per analisi/riproduzione
- Può essere generato un riepilogo quando viene trovata una flag
- Vengono registrate le statistiche di utilizzo (token, costi, turni)
Utilizzo
Prerequisiti
-
Clona il repository con i sottomoduli ```bash git clone --recurse-submodules https://github.com/0ca/BoxPwnr cd BoxPwnr
Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
Sync dependencies (creates .venv)
uv sync
2. Docker
- BoxPwnr richiede che Docker sia installato e in esecuzione
- Le istruzioni di installazione sono disponibili all'indirizzo: [https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)
### Eseguire BoxPwnr```bash
uv run boxpwnr --platform htb --target meow [options]
Al primo avvio, ti verranno richieste le chiavi API necessarie. Le chiavi vengono salvate in .env per un uso futuro. I solver CLI (Claude Code, Codex, Grok, Cursor, Kiro) usano la propria autenticazione tramite abbonamento invece delle chiavi API (o in aggiunta a esse).