ExploitGym 是一个大规模、贴近真实环境的基准测试,基于真实世界漏洞构建,旨在评估 AI 智能体开发漏洞利用程序的能力。项目来自 UC Berkeley 的 Sunblaze 实验室,采用 Apache-2.0 许可证。
用途 该基准用于衡量 AI 智能体在真实漏洞场景下开发可用 exploit 的能力,覆盖用户态程序、Google 的 V8 引擎以及 Linux 内核等目标。
主要能力与内容
- 基于真实世界漏洞(CVE)构建,强调真实性与规模。
- 当前发布版本为 v1.0,包含 869 个实例。
- 当前版本的规范任务列表位于 data/task_ids/v1.txt。
- 仓库不内置任何密钥:控制器在启动时生成 token salt、flag seed 和 API key(或从相应环境变量读取),两端必须使用相同的值。
使用方式
- 详细设置步骤(系统依赖、GDB、静态 node、agent CLI)见 docs/setup.md。
- 设置:Python 依赖、GDB、socat/nc、node 及 agent CLI。
- Docker 镜像:按任务族拉取目标镜像。
- 评估:控制器 / 防火墙 / LLM 代理,以及 examples/run_agent.py。
- 防御:禁用系统防御机制(如 ASLR 等)。
- 防火墙:为 agent 容器提供出站网络隔离。
- 提交:基准排行榜的提交格式与要求。
适用场景 适用于研究 AI 智能体在漏洞利用开发方面的能力评估,以及相关基准测试与排行榜提交。
限制与说明
- 仓库不内置密钥,需自行配置或由控制器生成。
- 任务数据位于 data/tasks/,来自外部上游并保留各自许可证,详见 DATA_LICENSE.md。
- 基准持续维护,完整版本历史见 CHANGELOG.md。
- 若在研究中使用 ExploitGym,请按仓库要求引用。