The function MysteryBox::openBox
uses block.timestamp as part of the randomness generation mechanism, which results in weak and predictable randomness.However, block.timestamp is a value that can be influenced by miners within a certain range, making the outcome predictable and subject to manipulation, especially when the potential reward outweighs the cost of manipulating the block timestamp.
The weak randomness generated by block.timestamp could allow attackers or miners to manipulate the results of the openBox function. By adjusting the block's timestamp, miners could increase their chances of getting favorable rewards, while attackers could repeatedly call the function with predictable outcomes, leading to an unfair advantage.
Manual Review
To ensure strong and unpredictable randomness, it is recommended to use a secure randomness generation mechanism, such as Chainlink VRF (Verifiable Random Function). Chainlink VRF provides tamper-proof, verifiable randomness that is immune to manipulation by miners or users.
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.