exploitgym

用真实漏洞测 AI 能不能写出能跑的利用代码

ExploitGym 是一个大规模、贴近真实场景的漏洞利用基准测试集,基于真实世界披露的漏洞构建,专门用于评估 AI 智能体开发漏洞利用程序(exploit)的能力。它解决的核心问题是:现有安全评测多停留在问答或静态分析层面,无法衡量 AI 从漏洞信息到可运行利用代码的端到端实战能力。项目用 C 语言实现,围绕真实漏洞提供可复现的环境与评分机制,让研究者能横向对比不同模型或 agent 框架在漏洞利用任务上的成功率、稳定性与效率。核心能力包括:真实漏洞样本库、自动化评测流程、可扩展的任务接口,以及面向 agent 的交互式执行环境。适合安全研究、AI 能力评测和红队自动化方向使用。

开源 free 评测安全
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1144
维护状态 较活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类评测安全
开发团队sunblaze-ucb
所属国家
官网地址
定价模式free
价格说明开源基准,免费使用
访问状态
是否开源是
开源协议Apache-2.0
主要语言C
技术栈/模型
GitHub 星标★ 1144
30天Star增速
HF 下载量
上线时间2026-06-02 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-08
浏览次数0

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:进阶 约 30 分钟 部署方式:本地安装 7 步

环境要求

  • Python 环境与 uv 包管理器
  • Docker(用于拉取 ubuntu/squid 及任务镜像)
  • 可执行 bash 脚本的类 Unix 环境
  • OpenAI 与 Anthropic 的 API Key(供 LLM proxy 使用)

安装与启动步骤

  1. 1同步 Python 依赖

    在仓库根目录用 uv 安装依赖,--extra proxy 会装上 LLM 代理相关依赖。

    uv sync --extra proxy
  2. 2构建运行时与任务数据

    脚本会构建 gdb、socat、nc、node 等运行时以及 agent CLI,并解压任务数据,耗时较长。

    bash scripts/setup/setup_data.sh
  3. 3验证安装

    运行校验脚本确认前面的运行时构建与任务数据抽取是否完整可用。

    bash scripts/setup/validate.sh
  4. 4拉取防火墙镜像

    控制器依赖 Squid 镜像做网络出口控制,需先拉取到本地。

    docker pull ubuntu/squid:latest
  5. 5拉取任务镜像

    按 sample.txt 列出的任务 ID 批量拉取对应漏洞环境的 Docker 镜像。

    uv run scripts/setup/pull_images.py data/task_ids/sample.txt
  6. 6配置密钥并启动服务

    先导出两家模型的 API Key,再运行 pre_run.py:它会做就绪检查并启动 controller、firewall、LLM proxy 三件套。

    export OPENAI_API_KEY=sk-xxxxxxxx
    export ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
    uv run scripts/setup/pre_run.py data/task_ids/sample.txt
  7. 7导出控制器密钥并跑 Agent

    把 pre_run.py 打印出来的四个环境变量原样导出,runner 需要它们签发任务 token 并推导预期 flag,然后查看 run_agent 用法。

    export CYBERGYM_ADMIN_KEY=xxxxxxxx
    export CYBERGYM_SERVER_SALT=xxxxxxxx
    export CYBERGYM_SERVER_FLAG_SEED=xxxxxxxx
    export CYBERGYM_SERVER_API_KEY=xxxxxxxx
    uv run examples/run_agent.py --help

关键配置

配置项必填说明示例
OPENAI_API_KEY是供 LLM proxy 调用 OpenAI 模型的密钥sk-xxxxxxxx
ANTHROPIC_API_KEY是供 LLM proxy 调用 Anthropic 模型的密钥sk-ant-xxxxxxxx
CYBERGYM_ADMIN_KEY是LLM proxy 管理员密钥,由 pre_run.py 打印xxxxxxxx
CYBERGYM_SERVER_SALT是控制器 token 盐值,两端必须一致xxxxxxxx
CYBERGYM_SERVER_FLAG_SEED是用于推导预期 flag 的随机种子xxxxxxxx
CYBERGYM_SERVER_API_KEY是控制器 API 访问密钥,由启动时生成xxxxxxxx

如何确认成功

validate.sh 无报错,且 pre_run.py 的就绪检查通过、成功启动 controller、firewall、LLM proxy 并打印出所需环境变量。

常见问题

Q:为什么仓库里找不到现成的密钥?

A:项目不硬编码任何密钥,控制器的 token salt、flag seed 和 API key 都在启动时自动生成,或从 CYBERGYM_SERVER_* 环境变量读取。

Q:重复运行 pre_run.py 会冲突吗?

A:不会,它带有就绪检查,能自动识别已经在运行的 controller、firewall 和 LLM proxy,避免重复启动。

Q:不想用 pre_run.py 自动启动怎么办?

A:可以按 docs/eval.md 的说明手工分别启动这三个服务,端口与参数以该文档为准。

Q:系统依赖、GDB、node 和 agent CLI 怎么装?

A:README 指向 docs/setup.md,里面才有完整的系统依赖、GDB、静态 node 和 agent CLI 安装步骤。

注意事项

  • 控制器生成的 salt、flag seed、API key 必须与 runner 使用的值完全一致,否则任务 token 校验和 flag 推导会失败。
  • 步骤 6、7 中的 export 只在当前 shell 会话生效,换终端后需要重新导出。
  • 运行任务前必须先拉取对应任务的 Docker 镜像,否则评测无法启动环境。
  • 样例任务列表使用 data/task_ids/sample.txt,替换成自己的任务 ID 文件即可跑其他任务。

核心亮点

  • 基于真实披露漏洞构建,评测结果比合成题目更贴近实战
  • 面向 AI agent 端到端评测,覆盖从漏洞信息到可运行 exploit 的完整链路
  • 提供可复现环境与自动化评分,方便横向对比不同模型和 agent 框架

不足之处

  • 项目较新、星标规模有限,生态和第三方集成尚在早期
  • 以 C 语言为主,对非 C 漏洞或 Web 类场景的覆盖可能有限

适用场景

  • 安全团队评测自家 AI agent 的漏洞利用实战能力
  • 学术研究对比不同大模型在真实漏洞上的 exploit 生成成功率
  • 红队自动化工具选型时做基准测试与能力摸底

替代项目

Cybench、NYU CTF Bench

项目介绍

exploitgym 是评测安全领域的开源项目,由 sunblaze-ucb 开发,是 2026 年新上线的项目。

在全站 13,916 个收录项目中,它的 GitHub 星标数(1,144)位列前 30%,在评测安全分类中处于中上游。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-29。开源基准,免费使用。

它主要面向的使用场景是:安全团队评测自家AIagent的漏洞利用实战能力。同类可对比的替代方案包括 Cybench、NYU CTF Bench。

上一篇:VerifAI

下一篇:没有了!

同类项目推荐

akto 开源

给 AI 应用做安全体检,防提示注入和数据泄露

Akto is the fastest growing AI Security platform for your teams to secure AI agents,···

★ 1526 2026-08-20
XSafeClaw 开源

给 AI 智能体装上安全盾,自动红队测试找漏洞

Introducing XSafeClaw: The Open-Source Agent Safety Platform from Fudan University

★ 164 2026-08-10
deepteam 开源

自动模拟越狱攻击,提前测出 LLM 安全漏洞

DeepTeam is a framework to red team LLMs and AI agents.

★ 2996 2026-09-12