Skip to main content

XORCISE.AI — Trust Evidence, not Claims.

PyPI Python 3.12+ Tested on Ubuntu CI License Apache-2.0

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 <key>          # 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

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.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xorcise 0.1.3
File Size Uploaded Provenance Actions
xorcise-0.1.3.tar.gz 1.7 MB With provenance Details for xorcise-0.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for xorcise 0.1.3
File Interpreter ABI Platform Actions
xorcise-0.1.3-py3-none-any.whl Python 3 none any Details for xorcise-0.1.3-py3-none-any.whl

Total release size: 2.8 MB

Release files / xorcise-0.1.3.tar.gz

Download URL xorcise-0.1.3.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
6a85f1ed25261a274dae4e32599664dda689dc465b459bf1f97f540c3268b936
BLAKE2b-256 checksum
How to use checksums
ef9326f95a73553092aba64e5ed61a59ab1cf00dd7cf1342db73c5d7f7779d73
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 Aug 21, 2026.

Transparency log

Release files / xorcise-0.1.3-py3-none-any.whl

Download URL xorcise-0.1.3-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
bf3085b6cb7e3d0e2a8b3f3653fc675cabe8040b3a0600ebd9244aa196ea9703
BLAKE2b-256 checksum
How to use checksums
83625bad358ceece378604386ba02594be98cf67fdd82588f2501ce3214e43c5
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 Aug 21, 2026.

Transparency log

Security for xorcise 0.1.3

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.

Select from 2 files

Attestation for xorcise-0.1.3.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 Aug 21, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page