ct run sabotage-eval
Run sabotage evaluation: honest eval + attack eval + monitor + graphs.
Usage
ct run sabotage-eval [OPTIONS]
Options
| Option | Description |
|---|---|
-c, --config PATH | YAML config file for multi-attack mode. |
--attacker, --policy TEXT | Attack policy name. --policy is an alias. |
--attacker-arg, --policy-arg TEXT | Attacker policy args in key=value format (repeatable). --policy-arg is an alias. |
--attack-model TEXT | Shorthand for --attacker-arg model=. Required unless --attack-run-id or --config. |
--attack-run-id TEXT | Reuse existing attack run (must have monitoring scores). Skips attack eval. |
--honest TEXT | Honest policy name for fresh honest eval. |
--honest-arg TEXT | Honest policy args in key=value format (repeatable). |
--honest-model TEXT | Shorthand for --honest-arg model=. Defaults to attack model. |
--honest-task-file TEXT | Task file for honest eval. Defaults to --task-file. |
--honest-run-id TEXT | Reuse existing honest run instead of running fresh honest eval. |
--protocol TEXT | Blue protocol to run both evals under (e.g. defer-to-resample, trusted-editing). Attacker/honest become the protocol's untrusted policy. |
--protocol-arg TEXT | Protocol args in key=value format (repeatable). |
--audit-budgets TEXT | Audit budget(s), comma-separated (e.g. 0.0001,0.001,0.01). Each produces graphs. |
--thresholds TEXT | Fixed threshold(s), comma-separated (e.g. 3.0,4.0,5.0). Skips honest eval. |
--action-trajectory-ratio FLOAT | Ratio-based threshold: trajectory = action * ratio (e.g. 0.5). Uses audit_budgets for calibration. |
--action-monitor TEXT | Action monitor type, used for both honest and attack trajectories |
--trajectory-monitor TEXT | Trajectory monitor type, used for both honest and attack trajectories |
--trusted-model TEXT | Model bound as the eval-level trusted role the monitors run on. |
--only-action | Only run the action monitor |
--only-trajectory | Only run the trajectory monitor |
--cot-level [none|reasoning|extended] | Chain-of-thought visibility to the monitor: none, reasoning (models output text), or extended (reasoning and CoT). |
--task-file TEXT | Task set name or path. |
--main-tasks-with-no-scorers [error|include|exclude] | Main tasks lacking a scorer: refuse the run (error), keep them recorded as unscored (include), or drop them (exclude). |
--log-dir TEXT | Where eval logs go. |
-o, --output-dir TEXT | Where graphs and summary go. |
--ec2 | Run evals on EC2. |
--epochs INTEGER | Number of epochs per eval. |
--limit INTEGER | Limit number of samples. |
--no-graph | Skip graph generation. |
--no-upload | Disable uploading results. |
--dry-run | Print what would run without executing. |
--no-cache | Re-run every attack even when a prior results.json recorded an identical one. |
--preflight | Probe the run's contracts (monitors, endpoints, pricing, credentials) and exit. |
--skip-docker-build | Set SKIP_DOCKER_BUILD=1 so eval pulls pre-built images instead of building. |
--monitor-concurrency INTEGER | Max trajectories to monitor concurrently per monitoring job (default: unlimited). |
--tags TEXT | Tags for the run (repeatable). Added to all eval runs alongside built-in sabotage-eval tags. |
--help | Show this message and exit. |