Use of onchain values like block.timestamp
, block.prevrandao
and msg.sender
to generate a random number in RapBattle::_battle
for selecting the winner of the battle can be manipulated or predicted by malicious users/validators.
An attacker could predict and manipulate these values to essentially win the battle every single time and game the system.
Validators can predict when and how to participate by knowing the block.timestamp
and block.prevrandao
in advance and leverage that to win more.
Users can manipulate the msg.sender
value to make sure they win.
Slither
Use Chainlink VRF for generating a verifiable random number.
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.