The claimSingleReward function checks require(_index <= rewardsOwned[msg.sender].length, "Invalid index");, but the condition should be strictly less than (<), as array indices are zero-based and rewardsOwned[msg.sender].length is out of bounds.
The function should revert if the index is out of bounds.
Change the <= to < to correctly handle the index bounds:
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.