
BoxPwnr v0.4.0
Um framework modular para benchmarking de LLMs e estratégias agentivas em desafios de segurança através de HackTheBox, TryHackMe, PortSwigger Labs, Cybench, picoCTF e mais.
BoxPwnr
Um experimento divertido para ver até onde os Modelos de Linguagem de Grande Escala (LLMs) podem ir na resolução autônoma de desafios CTF e laboratórios de segurança. Tudo começou com HackTheBox e agora abrange muitas plataformas e solvers baseados em agentes.
O BoxPwnr fornece um sistema plug and play que pode ser usado para testar o desempenho de diferentes arquiteturas de agentes: --solver [claude_code, codex, cursor-cli, grok, kiro_cli, external, single_loop_xmltag, single_loop, single_loop_compactation, hacksynth].
Plataformas suportadas: --platform [htb, htb_ctf, htb_challenges, portswigger, ctfd, local, xbow, hackbench, cybergym, exploitbench, picoctf, tryhackme, levelupctf, argus]
Consulte Implementações de Plataforma para documentação detalhada sobre cada plataforma suportada.
Traces e Benchmarks
Todos os traces de resolução estão disponíveis em BoxPwnr Traces & Benchmarks. Cada trace inclui logs completos da conversa, mostrando o raciocínio do LLM, os comandos executados e as saídas recebidas. Você pode reproduzir qualquer trace em um visualizador web interativo para ver exatamente como a máquina foi resolvida, passo a passo.
| Plataforma | Resolvidos | Conclusão | Traces |
|---|---|---|---|
| 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 |
Como Funciona
O BoxPwnr usa LLMs (ou agentes CLI como Claude Code, Codex, Grok ou Cursor) para resolver autonomamente alvos de CTF / laboratórios por meio de um processo iterativo:
- Ambiente: Por padrão, os comandos são executados em um contêiner Docker com Kali Linux (
--executor docker)
- O contêiner é construído automaticamente na primeira execução (leva ~10 minutos)
- A conexão VPN é estabelecida automaticamente quando a plataforma exige
- Loop de Execução (solvers padrão
single_loop_*):
- O LLM recebe um system prompt detalhado que define sua tarefa e restrições
- O LLM sugere o próximo comando com base nas saídas anteriores
- O comando é executado no executor escolhido
- A saída é realimentada ao LLM para análise
- O processo se repete até que a flag seja capturada (ou os critérios de sucesso da plataforma sejam atendidos)
- Solvers baseados em CLI (
claude_code,codex,grok,cursor-cli,kiro_cli) executam seu próprio loop de agente e transmitem os resultados de volta ao BoxPwnr
- Automação de Comandos:
- Os agentes são instruídos a fornecer comandos totalmente automatizados, sem interação manual
- Os comandos devem incluir timeouts adequados e lidar com atrasos de serviço
- Resultados:
- A conversa e os comandos são salvos como traces para análise / reprodução
- Um resumo pode ser gerado quando uma flag é encontrada
- Estatísticas de uso (tokens, custo, turnos) são rastreadas
Uso
Pré-requisitos
-
Clone o repositório com submódulos ```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
- O BoxPwnr requer que o Docker esteja instalado e em execução
- As instruções de instalação podem ser encontradas em: [https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)
### Executar o BoxPwnr```bash
uv run boxpwnr --platform htb --target meow [options]
Na primeira execução, você será solicitado a fornecer as chaves de API necessárias. As chaves são salvas no .env para uso futuro. Os solvers de CLI (Claude Code, Codex, Grok, Cursor, Kiro) usam sua própria autenticação por assinatura em vez de (ou além de) chaves de API.