TheClaimedevent is intended to record who discovered and solved each treasure, serving as an on-chain attribution record for leaderboards, NFT rewards, or reputation systems
The event incorrectly emitsmsg.senderinstead ofrecipient, allowing front-runners to steal attribution credit since the ZK proof binds therecipientaddress but NOT themsg.sender
Likelihood: HIGH
This will occur whenever a valid proof transaction is visible in the mempool before confirmation
MEV bots and front-runners actively monitor for valuable transactions to copy
The attacker simply copies the exact calldata and submits with higher gas
Impact: MEDIUM
Front-runners steal on-chain attribution for all treasure discoveries without solving any puzzles
Legitimate solvers receive their ETH rewards but lose all recognition/credit
Corrupts leaderboards, NFT distributions, or reputation systems based on
Claimed
events
In competitive CTF environments, this allows one attacker to claim credit for all 10 treasures
The vulnerability allows front-runners to steal attribution credit while the legitimate solver still receives the ETH reward. This attack is particularly damaging in competitive environments where reputation matters.
Emit therecipientaddress instead ofmsg.senderin theClaimedevent, since the recipient is cryptographically bound to the proof:
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.