ExploitGym 是一个大规模、真实的基准测试,基于真实世界漏洞构建,旨在评估 AI 智能体开发漏洞利用程序的能力。
ExploitGym 是一个大规模、真实的基准测试,基于用户态程序、Google V8 引擎以及 Linux 内核中的真实安全漏洞构建,旨在评估 AI 代理开发漏洞利用的能力。
# 1. Python 依赖
uv sync --extra proxy
# 2. 构建运行时构件(gdb、socat、nc、node + 代理 CLI)并
# 提取任务数据
bash scripts/setup/setup_data.sh
# 3. 验证安装
bash scripts/setup/validate.sh
# 4. 拉取 Firewall Squid 镜像
docker pull ubuntu/squid:latest
# 5. 为你想要运行的任务拉取 Docker 镜像
uv run scripts/setup/pull_images.py data/task_ids/sample.txt
# 6. 启动控制器、防火墙和 LLM 代理。pre_run.py 会运行
# 就绪检查并启动这三者(自动检测已运行的部分),
# 或者你可以手动启动它们——参见 docs/eval.md
export OPENAI_API_KEY=...
export ANTHROPIC_API_KEY=...
uv run scripts/setup/pre_run.py data/task_ids/sample.txt
# 7. 运行代理
export CYBERGYM_ADMIN_KEY=...
uv run examples/run_agent.py --help
详细的安装步骤(系统依赖、GDB、静态 node、代理 CLI)位于 docs/setup.md。
examples/run_agent.py已发布的基准测试会持续积极维护。当前版本为 v1.0,包含 869 个实例。完整版本历史请参见 CHANGELOG.md。当前版本的标准任务列表位于 data/task_ids/v1.txt。
如果您在研究中使用了 ExploitGym,请引用:
@article{wang2026exploitgym,
title={ExploitGym: Can AI Agents Turn Security Vulnerabilities into Real Attacks?},
author={Wang, Zhun and Schiller, Nico and Li, Hongwei and Sesha Narayana, Srijiith and Nasr, Milad and Carlini, Nicholas and Qi, Xiangyu and Wallace, Eric and Bursztein, Elie and Invernizzi, Luca and Thomas, Kurt and Shoshitaishvili, Yan and Guo, Wenbo and He, Jingxuan and Holz, Thorsten and Song, Dawn},
journal={arXiv preprint arXiv:2605.11086},
year={2026}
}
源代码使用 Apache-2.0 许可。data/tasks/ 下附带的任务数据源自外部上游项目,并保留其各自的许可证,请参见 DATA_LICENSE.md。