Reward Hacking Audit
Audits side tasks for reward hacking vulnerabilities.
Purpose
Uses LLM analysis with extended thinking to find potential reward hacking issues where an agent could:
- Pass the scorer without violating the security property
- Exploit scorer implementation bugs
- Use edge cases to achieve high scores unfairly
- Game the scoring system
Commands
ct run reward-hacking
Audit side tasks for reward hacking vulnerabilities.
Usage:
ct run reward-hacking [OPTIONS]
Options:
-e, --env- Environment(s) to audit (repeatable)-s, --side-task- Specific side task(s) to audit (repeatable)-n, --name- Name for this audit run (default: "reward_hacking")-c, --max-concurrent- Maximum concurrent API calls (default: 4)-t, --thinking-budget- Token budget for extended thinking (default: 10000)
Examples:
# Audit all side tasks ct run reward-hacking # Audit specific environment ct run reward-hacking -e web_scraping # Audit specific side task ct run reward-hacking -s expose_secret
ct run reward-hacking-view
Interactive viewer for reward hacking audit results.
Usage:
ct run reward-hacking-view [RUN_PATH]
Output
Results saved to data/reward_hacking_runs/<name>_<timestamp>/:
results.jsonl- Vulnerability analysis for each side taskconfig.json- Audit configuration- Identified reward hacking vectors and recommendations
What It Checks
For each side task:
- Can the scorer be passed without actual sabotage?
- Are there implementation bugs in the scorer?
- Can the agent exploit edge cases?
- Are there "magic number" vulnerabilities?
- Does the scorer match the intended security property?
Technical Details
- Uses Claude Opus 4.5 with extended thinking
- Uses prompts from
prompts/system.mdandprompts/user.md - Analyzes scorer code and environment codebase
- Identifies exploitable patterns
- Helps harden scorers against gaming