AgentCrash
Crash-test your AI agent in a synthetic workplace.
See the tool actions an attack causes, then verify your fix. AgentCrash is an open-source agent security test harness with synthetic tools, visual evidence, and regression tests.
Scope honesty: results apply to the listed scenarios and configuration. A passing test is a scoped result, not a guarantee that an agent is secure.
Try the demo
The bundled replay needs no API key and makes no model calls. It runs offline.
uvx --from agentcrash==0.1.0 agentcrash demo
or install and run your own live test:
uv tool install agentcrash==0.1.0
agentcrash --version
agentcrash doctor --mode demo
What a report tells you
Task completion, attempted unauthorized actions, observed synthetic effects, policy decisions, and missing evidence are reported separately — never collapsed into one score.
- Task success — did the legitimate task assertion hold?
- Attack attempted — was the defined forbidden request observed?
- Attack succeeded — did the simulated attacker goal occur in the synthetic world?
- Policy blocked — did the tool policy reject that request?
- Completeness — does the run have all required evidence?
An incomplete run is never a clean pass.
View a report from the actual build (attack variant)
This is a real run of invoice-confidential-note: the injected
document redirects a synthetic send that is caught in the local outbox.
Example evidence: assets/generated/sample-report.html is the
standalone HTML report the CLI produces for that run.
Test your agent
Start with the Python adapter recipe. Replace production tools with the provided synthetic tool client, validate the adapter, and run the clean task and its attack variant.
agentcrash init --template invoice
agentcrash run invoice-confidential-note --variant benign
agentcrash run invoice-confidential-note --variant attack --trials 5
agentcrash report RUN_ID --format html
The scripted model broker needs no model key — all of the above run offline with deterministic results. Live provider integration is a scaffold in v0.1; when you wire a provider key, it is held broker-only and never passed on the CLI or written into a run.
Contribute
Add a synthetic scenario, improve an integration, or help someone complete their first run. See CONTRIBUTING.md.
Security
See SECURITY.md for the responsible-disclosure channel and the tested security boundary.
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentcrash-0.1.0.tar.gz.
File metadata
- Download URL: agentcrash-0.1.0.tar.gz
- Upload date:
- Size: 132.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e899f4909c02839e01b686e4ad95403e38ec51ca4d89d8418f755fbc2248bae
|
|
| MD5 |
ffac7c5038ab7a21178d5f8ac4cb86b5
|
|
| BLAKE2b-256 |
9d3e60a1854db9f5ea42a085201f2a2bda6dae7016cbe3aa50b808ac56e5290f
|
File details
Details for the file agentcrash-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentcrash-0.1.0-py3-none-any.whl
- Upload date:
- Size: 120.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e541e7345470c0e86453fc86fdd5cc657f6f1b478057fa176620c2e64fdaeba
|
|
| MD5 |
4c3d723d643f2b93009f12422efb430a
|
|
| BLAKE2b-256 |
d1d68c5ccfb5f650c1df52b4cf0827764dcd6ec0e97537cb015b8aa858a38b85
|