MysteryBox::openBox::randomValue is calculated using the hash of block.timestamp and msg.sender.
This value is used to decide the rarity of the reward given to the user.
A user can predict the rarity of a reward before it is claimed or manipulate msg.sender to receive a higher reward.
Validators can know the block.timestamp ahead of time and use it to know how and when to participate.
Users can manipulate their msg.sender value to change the outcome of the draw.
Manual Review, Slither, Foundry
Use an off-chain oracle for randomness, such as Chainlink VRF.
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.