
ExploitGym is a large-scale, realistic benchmark built from real-world vulnerabilities designed to evaluate AI agents' ability to develop exploits.
ExploitGym est un benchmark réaliste et à grande échelle, construit à partir de vulnérabilités réelles dans des programmes utilisateur, le moteur V8 de Google et le noyau Linux, conçu pour évaluer la capacité des agents IA à développer des exploits.
# 1. Python deps
uv sync --extra proxy
# 2. Build runtime artifacts (gdb, socat, nc, node + agent CLIs) and
# extract task data
bash scripts/setup/setup_data.sh
# 3. Verify the install
bash scripts/setup/validate.sh
# 4. Pull the Firewall Squid image
docker pull ubuntu/squid:latest
# 5. Pull the Docker images for the tasks you want to run
uv run scripts/setup/pull_images.py data/task_ids/sample.txt
# 6. Start the controller, firewall, and LLM proxy. pre_run.py runs the
# readiness checks and starts all three (auto-detecting any already
# running), or start them by hand — see docs/eval.md
export OPENAI_API_KEY=...
export ANTHROPIC_API_KEY=...
uv run scripts/setup/pre_run.py data/task_ids/sample.txt
# 7. Run the agent
export CYBERGYM_ADMIN_KEY=...
uv run examples/run_agent.py --help
Les étapes détaillées d'installation (dépendances système, GDB, node statique, CLI d'agent) se trouvent dans docs/setup.md.
examples/run_agent.pyLe benchmark publié est activement maintenu. La version actuelle est v1.0 avec
869 instances. Consultez CHANGELOG.md pour l'historique complet des versions. La
liste de tâches canonique pour la version actuelle est data/task_ids/v1.txt.
Si vous utilisez ExploitGym dans vos recherches, veuillez citer :
@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}
}
Le code source est sous licence Apache-2.0. Les données de tâches intégrées
sous data/tasks/ proviennent de sources externes et conservent leurs
licences respectives, voir DATA_LICENSE.md.