Quickstart · Output · Agents · Missions · Open source · Website · Docs · Contributing · Security
Run your cyber-AI agent against a real mission. Watch everything it does. Grade the evidence.
AI can take action. It cannot bear consequences.
A benchmark score tells you an agent finished. It says nothing about the destructive commands it tried on the way there. XORCISE runs the agent against a live target inside a contained environment, records every command, tool call and dead end as OpenTelemetry evidence, and grades that evidence against the mission's own criteria.
Trust is not declared. It is demonstrated.
Quickstart
Tested on Ubuntu. Needs Python 3.12+ and Docker Engine.
pip install xorcise
xorcise doctor # checks the host first
xorcise up # boots the stack, prints the console URL
xorcise config set-model --name <model> --key-stdin # the judge — half the score
xorcise agent register --name my-agent --kind claude-code
xorcise mission list
xorcise mission pull aviary-access
xorcise run create --agent my-agent --mission aviary-access
xorcise run launch-cmd <run_id> # paste into your agent's terminal, then run it
xorcise run status <run_id> # score, breakdown, evidence
--key-stdin prompts for the judge key without echoing it, and reads a pipe
when there is one (printf %s "$KEY" | xorcise config set-model --key-stdin),
so the credential never reaches your shell history or /proc/<pid>/cmdline.
xorcise down stops it all. No Docker on the box? xorcise up --stub is the
self-contained demo. xorcise --help has the rest, and
docs.xorcise.ai walks through a first run end to end.
Prefer to work from source? See Contributing → Setup.
What comes out
| Live trace | every command, tool call and message, streaming into the console as it happens |
| Score | deterministic checks plus a bring-your-own-model judge |
| Report | the full run record, exportable — Markdown, HTML, JSONL |
| Leaderboard | agents ranked across recorded results |
Every run gets its own private network and a fresh environment, created for the run and destroyed after it. An agent under evaluation cannot reach the host, or another run.
Bring your agent
XORCISE evaluates the agent you already use.
| OpenHands | full trace + tool-call capture |
| Claude Code | via OTLP telemetry |
| Codex CLI | via OTLP telemetry |
| Anything custom | register it, drive it with the connect prompt, submit over REST |
Activity is normalised into one event model, so the trace, the grading and the report read the same whichever harness produced the run.
Missions
A mission is a self-contained target: services, a network, and the criteria an agent is graded against. Packaged as bundles, pulled on demand.
Missions are deliberately vulnerable — SQL injection, IDOR, network pivots. That is the point: they exist so an agent has something real to find.
Run XORCISE on infrastructure you are willing to lose — a dedicated VM or an isolated cloud environment, never a workstation holding credentials you care about. It executes untrusted agent code against vulnerable targets by design.
Only point XORCISE at systems you own, or that you have specific written authorisation to test. See Acceptable use.
Open source
XORCISE goes public in parts, not whole. This repository is the engine — the CLI, harness adapters, isolation, grading and console — under Apache-2.0, with issues and pull requests open.
The evaluation technology is open source. The commercial layer — managed deployment, runtime, command and sovereign hosting — is not. The agent skills and the documentation source are published separately as they are readied.
Documentation & help
| xorcise.ai | the project website — what XORCISE is and who it is for |
| Documentation | first run, missions, grading, traces, the full CLI and API reference |
| Contributing | dev setup, the test lanes, the PR process, versioning |
| Security | what's in scope, and how to report privately |
| Acceptable use | what to point XORCISE at, export control, sanctions |
| Maintainers · Code of Conduct | who to ask, and how we work |
Found a vulnerability? Do not open a public issue — report it privately. Flaws in the harness, the isolation boundary or the supply chain are in scope; flaws inside a mission are the content.
License
Apache-2.0 © 2026 Fifth Domain Pty Ltd (ACN 606 251 585)
XORCISE.AI is a business name of Fifth Domain Pty Ltd. Contributions are accepted under the
Contributor License Agreement. "XORCISE" and "XORCISE.AI", the associated logos and
wordmarks, and the xorcise.ai domain are trademarks — see the
trademark policy and NOTICE.
XORCISE.AI — Trust Evidence, not Claims.
Metadata
Release files for xorcise 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| xorcise-0.2.0.tar.gz | 2.1 MB | With provenance | Details for xorcise-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| xorcise-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for xorcise-0.2.0-py3-none-any.whl |
Total release size: 3.4 MB
Release files / xorcise-0.2.0.tar.gz
| Download URL | xorcise-0.2.0.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
beaa9ba0634c67842df81f6e54662f072dd92e1a1f96443c354f2ab3a15a6e3f
|
|
BLAKE2b-256 checksum How to use checksums |
857d9afcb3c07d04f773eb6bd9c2ad950bed24b6377a27dc5580211a3887dfa2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / xorcise-0.2.0-py3-none-any.whl
| Download URL | xorcise-0.2.0-py3-none-any.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d95a087e9ae61830d50cf4ec89dde5cf7cea424d3fe732b5676108f527f77720
|
|
BLAKE2b-256 checksum How to use checksums |
7ade4cfa4ad41f0ee5cf2e1bd922e352551ad03decb7089f0ed87b77e2de79ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logSecurity for xorcise 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for xorcise-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.