Hashing block.timestamt and msg.sender together is creating a predictable final number that malicious users may manipulate or know them ahead of time. Both values are known and hashing them creates an output that can be known in advance.
Any user can influence the rarity of the coin they receive. This can damage the protocol as the funds allocated for winnings may quickly run dry.
Validators know ahead of time the block.timestamp and know the msg.sender value that will be used to generate the MysteryBox::openBox randomValue variable.
Users can mine or manipulate their msg.sender so the result gives a desired value to get the largest winnings
Users can also revert their transaction if they do not like the winnings
Static analysis
Consider using a cryptographically provable random number generator 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.