The puzzle verification mechanism in the egg hunt game uses predictable on-chain data (block.timestamp and msg.sender), allowing attackers to bypass the puzzle requirement and mint unlimited Egg NFTs.
solidity
Attack Vector:
block.timestamp is public and predictable (varies by ±1-15 seconds depending on chain activity)
Attackers can precompute valid solutions by iterating through possible timestamps
Exploit Scenario:
Attacker calculates keccak256(abi.encodePacked(attackerAddress, futureTimestamp))
Submits solution when block.timestamp matches prediction
Mints unlimited eggs without solving actual puzzles
Unlimited NFT minting → Inflation of egg supply → Collapse of in-game economy
Loss of funds (if minting requires payment)
Tools Used
Manual review.
Off-Chain Verification with Oracle
Use Chainlink Oracle to verify puzzle solutions off-chain:
Insecure methods to generate pseudo-random numbers
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.