Contest Organizer can deploy Proxy and distribute winners' rewards by manually setting the winners and their winning percentage.
Consider this example:
Trusted ProxyFactory owner, set a contest, and in the setContest() function, pass an organizer and other related parameters.
After the contest reaches its close time, the organizer calls deployProxyAndDistribute() and passes the winners and their percentage of the prize. But there are no restrictions on who can be the winner, so the organizer can pass himself (or his friends who participated in solving the problem) and get the prize.
Critical for the people who participated and are waiting for their rewards, because they will do the work, but the organizer can get the money for himself without any effort.
Manual
Keep the people involved in solving the problem and limit the organizer, sponsor, or owner of ProxyFactory.sol from being passed as a winner. Then when passing winners, each of them must exist in the participant mapping for example.
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.