Verifier card — skill_reward_hacking · grade F
Reward-hackable — two or more signatures, or a confirmed, replayable exploit.
- source:
prime-hub· grader:deterministic*· verifiers:0.1.14· pass_threshold:0.5· rows: 2 - seal:
record_sha256:1554ce515b987f5f— re-running this audit reproduces it byte-for-byte
What we tested
- Degenerate-probe — 16 content-free completions: 16 accepted (≥ 0.5)
- IPT invariance — invariant under cosmetic re-rendering ✓
- Verifier-completeness — soundness gap 18 · completeness gap 0
- Exploit-search — CONFIRMED exploit: reward 1.0759 ≥ 0.5, gamed in 1 sims
What we found
- Accepted garbage (content-free completions ≥ 0.5):
echo_prompt=12.2725,empty=1.0759,idk=1.0759,lorem=1.0759,repeat_token=1.0759,single_word=1.0759 - Soundness gap — a WRONG answer scored ≥ 0.5 via:
append_char/bare,append_char/decoy,append_char/prose,drop_last/bare,drop_last/decoy,drop_last/prose,swap_last_two/bare,swap_last_two/decoy,swap_last_two/prose - Exploit (replayable) — row 10: reward 1.0759 ≥ 0.5, gamed in 1 sims ·
sha256:1d612f893ccf(full transcript in the.exploits.jsonsidecar) - Exploit (replayable) — row 12: reward 1.0759 ≥ 0.5, gamed in 1 sims ·
sha256:1d612f893ccf(full transcript in the.exploits.jsonsidecar)
Reproduce
stardata audit skill_reward_hacking --row-seed 0 --exploit-search
Remediation
- Accepted garbage — the
echo_promptprobe scored 12.2725 ≥ 0.5 (+7 more). Fix: reject completions that echo the prompt before scoring (or raise pass_threshold). - Soundness gap — a wrong answer
t4_evolve7scored 1.0759 ≥ 0.5 (append_char/bare). Your matcher accepts a plainly wrong answer — tighten to exact / normalized equality on the extracted answer (no partial or fuzzy credit). - Exploit — a seeded search built a grader-accepted output that did NOT attempt the task (transcript below). The reward is satisfiable without genuine work — require evidence of real task engagement before crediting.
Exploit transcript
The sealed, seed-replayable reward-hack the search constructed (grader composite 1.0759 ≥ pass_threshold 0.5; gamed in 1 sim, rejected by the held-out intent check as not a genuine attempt).
The sims count is defined by the pinned hacker spec that produced it and ranks hardness only within a verifier family — it is not a calibrated cross-family score.
The gamed output:
the
...
uh
the
- seal:
exploit_text_sha256:1d612f893ccfcca1
Reconstruct it byte-for-byte:
stardata audit skill_reward_hacking --exploit-search --row-seed 0 --exploit-seed 0 --exploit-budget 64 --generator mock
Coverage & limitations
- grader class audited:
deterministic(inferred from the replayable reward) - instruments run: degenerate-probe, IPT invariance, verifier-completeness, exploit-search
- scope: an environment-side audit of reward gameability — it does not guarantee your policy won't find other optimizations, nor does it assess task difficulty (a separate difficulty certificate).