Normally, once the moderator flags a good-faith CORRUPTED naming a whitehat, DESIGN.md §12 guarantees the entire pool (snapshotTotalStaked + snapshotTotalBonus) is that whitehat's bounty.
sweepUnclaimedBonus deliberately does not set claimsStarted (to stop a 1-wei donation from blocking the moderator's re-flag window). But when it runs after a first SURVIVED flag with riskWindowStart == 0, it moves the genuine bonus to recoveryAddress and zeroes totalBonus while the re-flag window is still open. A later corrective good-faith CORRUPTED re-snapshots snapshotTotalBonus = totalBonus (now 0), so the whitehat's bountyEntitlement excludes the swept bonus. Value left the pool during a window the design treats as still-correctable.
Likelihood:
Occurs when the registry reaches CORRUPTED with riskWindowStart == 0 (no pool interaction observed active risk, a reachable case per DESIGN.md §5), the moderator first flags SURVIVED (a valid out-of-scope judgment), any address calls sweepUnclaimedBonus, then the moderator corrects to good-faith CORRUPTED.
Any unprivileged account can trigger the value-moving step by front-running the moderator's correction with sweepUnclaimedBonus.
Impact:
The named good-faith whitehat receives only principal; the full bonus portion of the promised bounty is permanently stranded at recoveryAddress (the sponsor). In the PoC that is 50 of 150, a 33% shortfall against the §12 whole-pool guarantee.
The loss is not recoverable: bountyEntitlement is snapshot-capped and contributeBonus reverts post-resolution.
Run:
Result:
Block a SURVIVED→CORRUPTED re-flag once genuine (non-donation) bonus has been swept, keying on real bonus outflow (not any transfer) so the 1-wei-donation protection is preserved:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.