In RapBattle::goOnStageOrBattle, the winner is decided using the random variable which uses block.timestamp, block.prevrandao, and msg.sender to be random. The problem is that validators can slightly move these variables during block validation. A malicious validator is able to manipulate the randomness and choose a winner.
Likelyhood: Low
Only validators can manipulate the randomness.
Impact: High
Validors are able to manipulate the randomness and choose a winner.
Use an oracle like Chainlink to obtain real randomness.
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.