{"id":31753722,"url":"https://github.com/servicenow/doomarena","last_synced_at":"2025-10-09T17:53:55.646Z","repository":{"id":289215055,"uuid":"950177069","full_name":"ServiceNow/DoomArena","owner":"ServiceNow","description":"DoomArena is a Framework for Testing AI Agents Against Evolving Security Threats","archived":false,"fork":false,"pushed_at":"2025-09-12T20:59:58.000Z","size":6775,"stargazers_count":45,"open_issues_count":2,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-25T01:23:03.324Z","etag":null,"topics":["ai","ai-safety","attack","browsergym","defense","llm","machine","machine-learning","red-teaming","security","taubench","web-agents"],"latest_commit_sha":null,"homepage":"https://servicenow.github.io/DoomArena/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ServiceNow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-17T18:46:04.000Z","updated_at":"2025-09-23T15:12:01.000Z","dependencies_parsed_at":"2025-04-22T07:09:58.224Z","dependency_job_id":"cd0c1f73-3381-48db-ac3f-c96a52ed9ab4","html_url":"https://github.com/ServiceNow/DoomArena","commit_stats":null,"previous_names":["servicenow/doomarena"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ServiceNow/DoomArena","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ServiceNow%2FDoomArena","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ServiceNow%2FDoomArena/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ServiceNow%2FDoomArena/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ServiceNow%2FDoomArena/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ServiceNow","download_url":"https://codeload.github.com/ServiceNow/DoomArena/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ServiceNow%2FDoomArena/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001805,"owners_count":26083197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-safety","attack","browsergym","defense","llm","machine","machine-learning","red-teaming","security","taubench","web-agents"],"created_at":"2025-10-09T17:53:50.130Z","updated_at":"2025-10-09T17:53:55.640Z","avatar_url":"https://github.com/ServiceNow.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DoomArena: A Framework for Testing AI Agents Against Evolving Security Threats\n\n\u003ca href='https://arxiv.org/abs/2504.14064'\u003e\u003cimg src=\"https://img.shields.io/badge/Arxiv-2504.14064-A42C25?style=flat\u0026logo=arXiv\u0026logoColor=A42C25\"\u003e\u003c/img\u003e\u003c/a\u003e\n[![pypi](https://badge.fury.io/py/doomarena.svg)](https://pypi.org/project/doomarena/)\n[![PyPI - License](https://img.shields.io/pypi/l/doomarena?style=flat-square)]([https://opensource.org/licenses/MIT](http://www.apache.org/licenses/LICENSE-2.0))\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/doomarena?style=flat-square)](https://pypistats.org/packages/doomarena)\n[![GitHub star chart](https://img.shields.io/github/stars/ServiceNow/DoomArena?style=flat-square)](https://star-history.com/#ServiceNow/DoomArena)\n\n\u003cimg src=\"https://raw.githubusercontent.com/ServiceNow/DoomArena/gh_pages/static/images/doomarena_indiana_jones.jpg\" width=\"320\"\u003e\u003c/img\u003e\n\n[DoomArena](https://servicenow.github.io/DoomArena/) is a modular, configurable, plug-in security testing framework for AI agents that supports many agentic frameworks including [$\\tau$-bench](https://github.com/sierra-research/tau-bench), [Browsergym](https://github.com/ServiceNow/browsergym), [OSWorld](https://github.com/xlang-ai/OSWorld) and [TapeAgents](https://github.com/ServiceNow/tapeagents) (see Mail agent example). It enables testing agents in the face of adversarial attacks consistent with a given threat model, and supports several attacks (with the ability for users to add their own) and several threat models. \n\n\n## 🚀 Quick Start\n\nThe [DoomArena Intro Notebook](https://colab.research.google.com/github/ServiceNow/DoomArena/blob/master/notebooks/doomarena_intro_notebook.ipynb)\nis a good place for learning hands-on about the core concepts of DoomArena.\nYou will implement an `AttackGateway` and a simple `FixedInjectionAttack` to alter the normal behavior of a simple flight searcher agent.\n\nIf you only want to use the library just run\n```bash\npip install doomarena  # core library, minimal dependencies\n```\n\nIf you want to run DoomArena integrated with [TauBench](https://github.com/sierra-research/tau-bench/), additionally run\n\n```bash\npip install doomarena-taubench  # optional\n```\n\nIf you want to run DoomArena integrated with [Browsergym](https://github.com/ServiceNow/BrowserGym), additionally run\n\n```bash\npip install doomarena-browsergym  # optional\n```\n\nIf you want to test attacks on a Mail Agent (which can summarize and send emails on your behalf) inspired by the [LLMail Challenge](https://llmailinject.azurewebsites.net/) run\n```bash\npip install -e doomarena/mailinject  # optional\n```\n\nIf you want to run DoomArena integrated with [OSWorld](https://github.com/xlang-ai/OSWorld) run\n```\npip install -e doomarena/osworld\n```\nand follow our setup instructions [here](doomarena/osworld/README.md).\n\n\nExport relevant API keys into your environment or `.env` file.\n```bash\nOPENAI_API_KEY=\"\u003cyour api key\u003e\"\nOPENROUTER_API_KEY=\"\u003cyour api key\u003e\"\n```\n\n## 🛠️ Advanced Setup\n\nTo actively develop `DoomArena`, please create a virtual environment and install the package locally in editable mode using\n```bash\npip install -e doomarena/core\npip install -e doomarena/taubench\npip install -e doomarena/browsergym\npip install -e doomarena/mailinject\npip install -e doomarena/osworld\n```\n\nOnce the environments are set up, run the tests to make sure everything is working.\n```bash\nmake ci-tests\nmake tests  # requires openai key\n```\n\n\n## 💻 Running Experiments\n\nFollow the environment-specific instructions for [TauBench](doomarena/taubench/README.md) and [BrowserGym](doomarena/browsergym/README.md)\n\n## 🌟 Contributors\n\n[![DoomArena contributors](https://contrib.rocks/image?repo=ServiceNow/doomarena\u0026max=2000)](https://github.com/ServiceNow/DoomArena/graphs/contributors)\n\nNote: contributions made prior to the open-sourcing are not accounted for; please refer to author list for full list of contributors.\n\n## 📝 Paper\n\nIf you found DoomArena helpful, please cite us\n```\n@misc{boisvert2025doomarenaframeworktestingai,\n      title={DoomArena: A framework for Testing AI Agents Against Evolving Security Threats}, \n      author={Leo Boisvert and Mihir Bansal and Chandra Kiran Reddy Evuru and Gabriel Huang and Abhay Puri and Avinandan Bose and Maryam Fazel and Quentin Cappart and Jason Stanley and Alexandre Lacoste and Alexandre Drouin and Krishnamurthy Dvijotham},\n      year={2025},\n      eprint={2504.14064},\n      archivePrefix={arXiv},\n      primaryClass={cs.CR},\n      url={https://arxiv.org/abs/2504.14064}, \n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fservicenow%2Fdoomarena","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fservicenow%2Fdoomarena","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fservicenow%2Fdoomarena/lists"}