Overview

Three coding agents investigated seven breached AWS environments with and without an incident-response runbook, three repetitions each — 126 graded runs.

7 scenarios3 agents2 arms126 runs

Scenarios included

  • Leaked CI key, privilege escalation and customer-data theft
  • Stolen instance credentials and lateral movement through SSM
  • Ransomware hidden behind an application failure
  • Persistence hunting after a supposedly closed incident
See all 7 scenarios

Agent profiles

Claude: When the story outruns the evidence
Claude writes the fullest narratives and chronologies, often pursuing additional…
Codex: Careful conclusions, sometimes cautious recommendations
Codex creates a clear boundary between what the evidence establishes, what it supports…
Cursor: Aggressive validation, uneven coverage
Cursor runs quickly, uses fewer reported tokens and is the most tool-heavy.

Per-metric comparison

Success is a weighted score, not a pass rate. Evidence rigor is scored separately from completeness. Agent time excludes waiting when available.

Success

codex
97%
claude
95%
cursor
81%

Evidence rigor

codex
100%
claude
85%
cursor
83%

Adherence

claude
100%
codex
100%
cursor
93%

Tokens

cursor
763,708
codex
1,198,552
claude
1,221,837

Agent time

codex
140s
cursor
147s
claude
279s

Commands

codex
39.4
claude
54.3
cursor
79.8

Scenarios

Overall takeaways

Methodology & grading

Seven scenarios × three agents × two arms × three repetitions: 126 runs. All tasks were inspect-only. The skill arm received the same adapted AWS incident-response runbook.

Success is the final weighted score across scenario-specific criteria, including applicable penalties; it is not a binary pass rate. Adherence measures compliance with the instructions. Evidence rigor measures unsupported or fabricated claims (1 = none, 0.5 = minor, 0 = major); it is separate from completeness and success. Scores include the reviewed overrides in the source results.

Agent time excludes time waiting for user input when available. Tokens use each runner's reported accounting, including cached input; they are not equivalent to cost. A tilde marks estimated costs, whose rates and assumptions are retained in each run's downloadable JSON. Approval was not required because these investigations did not authorize remediation.

These are comparisons of runners and their configured models, not isolated model capabilities. Claude used claude-opus-5-5 in 40 runs and claude-fable-5-1 in two. There are only three repetitions per condition; differences between arms do not establish a causal effect of the runbook.