一个用于在HackTheBox、TryHackMe、PortSwigger Labs、Cybench、picoCTF等安全挑战中基准测试LLM和智能体策略的模块化框架。
一个有趣的实验,旨在探索大型语言模型(LLM)在自主解决 CTF 挑战和安全实验环境方面能达到何种程度。它最初从 HackTheBox 起步,如今已覆盖众多平台和智能体求解器。
BoxPwnr 提供了一套即插即用的系统,可用于测试不同智能体架构的性能:--solver [claude_code, codex, cursor-cli, grok, kiro_cli, external, single_loop_xmltag, single_loop, single_loop_compactation, hacksynth]。
支持的平台:--platform [htb, htb_ctf, htb_challenges, portswigger, ctfd, local, xbow, hackbench, cybench, cybergym, exploitbench, picoctf, tryhackme, levelupctf, argus]
有关每个受支持平台的详细文档,请参阅 平台实现。
所有求解追踪记录均可在 BoxPwnr 追踪记录与基准测试 中获取。每条追踪记录都包含完整的对话日志,展示 LLM 的推理过程、执行的命令以及收到的输出。你可以在交互式网页查看器中回放任意追踪记录,逐步查看目标机器究竟是如何被攻破的。
| 平台 | 已解决 | 完成率 | 轨迹数 |
|---|---|---|---|
| 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 |
BoxPwnr 使用 LLM(或 Claude Code、Codex、Grok、Cursor 等 CLI 智能体)通过迭代过程自主解决 CTF / 靶场目标:
--executor docker)single_loop_* 求解器):claude_code、codex、grok、cursor-cli、kiro_cli)运行各自的 agent 循环,并将结果流式传回 BoxPwnr 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
uv run boxpwnr --platform htb --target meow [options]
首次运行时,系统会提示你输入所需的 API 密钥。密钥会保存到 .env 文件中以供后续使用。CLI 求解器(Claude Code、Codex、Grok、Cursor、Kiro)使用各自的订阅认证,而不是(或额外于)API 密钥。
--platform:要使用的平台(htb、htb_ctf、htb_challenges、portswigger、ctfd、local、xbow、hackbench、cybench、cybergym、exploitbench、picoctf、tryhackme、levelupctf、argus)--target:目标名称(例如,HTB 机器使用 meow,PortSwigger 实验使用 "SQL injection UNION attack",或 XBOW 基准测试使用 XBEN-060-24)--debug:启用详细日志记录(显示工具名称和描述)--debug-langchain:启用 LangChain 调试模式(显示包含工具架构的完整 HTTP 请求、LangChain 跟踪和原始 API 负载——非常详细)--max-turns:停止前的最大轮数(例如,--max-turns 10)--max-cost:停止前的最大成本(美元)(例如,--max-cost 2.0)--max-time:每次尝试的最大时间(分钟)(例如,--max-time 60)--attempts:解决目标的尝试次数(例如,--attempts 5 用于 pass@5 基准测试)--default-execution-timeout:命令执行的默认超时时间(秒)(默认值:30)--max-execution-timeout:命令执行的最大超时时间(秒)(默认值:300)--custom-instructions:要追加到系统提示中的额外自定义指令--keep-target:完成后保持目标(机器/实验)运行(便于手动跟进)--analyze-attempt:完成后使用 TraceAnalyzer 分析失败的尝试--generate-summary:完成后生成解决方案摘要--generate-progress:为失败/中断的尝试生成进度交接文件(progress.md)。该文件可用于稍后恢复该尝试。--resume-from:指向之前尝试的 progress.md 文件的路径。其内容将被注入到系统提示中,以便从上次尝试中断的地方继续。--generate-report:从现有的跟踪目录生成新报告