Repository navigation
The Report
Mohammed Danish Amber edited this page Oct 5, 2026
·
1 revision
Each run writes to --out (default runs/<timestamp>/):
-
report.html— human-readable, self-contained (no external assets). -
report.json— machine-readable. -
evidence.jsonl— the full append-only step log (Evidence Schema).
A summary scoreboard plus one card per scenario:
- Scoreboard — exposure score (0–100), agents exploited / total, cost breaches, actions captured, errors, target, timestamp.
- Per scenario — the attack (category, goal, channel); the Maps to line (ATLAS id + technique name, OWASP id + name); the plain-English verdict; the canary-backed proof (winning payload, target reply, captured tool call, and where the canary surfaced); a collapsible step-by-step timeline; and a concrete fix.
Verdicts are proof-based — see How It Works for the full table.
{
"run_id": "...",
"exposure_score": 0-100,
"summary": {"total", "exploited", "metered", "mirror_only", "errors",
"target_host", "target_identity", "started_at"},
"scenarios": [
{"scenario_id", "verdict", "verdict_meaning", "exploited", "steps",
"hit_canaries", "category", "goal", "channel", "atlas", "atlas_name",
"owasp", "owasp_name", "success_condition", "remediation",
"proof": {"payload", "reply", "tool_calls", "canary_location"},
"timeline": [{"step", "channel", "payload", "reply", "tool_calls", "verdict"}]}
]
}
```
round(100 * sum(0.7 + 0.3/steps for each proven scenario) / total). A proven finding
(success or metered) in one step counts fully; slower ones count down to 0.7; no proven
findings → 0.
aphasia report --run-dir <dir> rebuilds the report from evidence.jsonl. Because final
capped/mirror_only verdicts are not written as rows, a re-render shows per-step verdicts;
the live run report is faithful.