I am a firm believer that the Codeforces and broader competitive programming community is being underutilized in the fight against cheaters. I want to create a platform where people can upload evidence that certain Codeforces users are cheating. Evidence can then be added to those reports by other people to build cases against the suspected cheaters.
This would provide a centralized reporting system for our community and a suspect database for Codeforces admins to look through.
I would also implement a voting feature. Every case file will have a "suspicion score" attached to it based on how many users voted that the person is guilty versus how many voted that they are not. Each vote and user on the platform will have to be tied to a Codeforces account to avoid flooding the platform with new accounts to vote for a cheater's innocence.
If a user has successfully identified a cheater before on the platform, their "investigator score" will increase, which in turn will make their votes count for more than the votes of regular users.
If the suspicion score of a case exceeds a certain threshold, the Codeforces handle of the suspected user will be made public so that Codeforces admins can consider banning them.
What do you guys think of this concept? If you have any objections or ideas, please share them!
If we are to do this, if we are to survive as a competitive community, everyone needs to keep their eyes peeled for verminous cheaters. My recommendation is that after every contest, look at the performances, submissions, and profile trends of the two people ranked ahead of you and the two people ranked below you. If everyone does this, no cheaters will slip through the cracks. They'll eventually slip up and do something weird.









Auto comment: topic has been updated by christopherbitti9 (previous revision, new revision, compare).
I think the codeforces admins are very sluggish in hearing of queries like banning cheaters and helping innocnet people remove their plag. It won't be that helpful until they come to action. Otherwise, many know the people who cheat but can't take any action against them.
I think that part of the reason for that is that most of the reports come in through the blog system which is messy. A lot of threads get lost within days. This platform would provide a centralized record of all reports ensuring that, eventually, all suspicious cases will be dealt with.
There is a cheater database already created by macaquedev Here you go
Oh, I was not aware of this!
I think either that person needs to be acknowledged by Codeforces or someone has to create a platform that is acknowledged by Codeforces. In either case, Codeforces admins need to partner with someone providing such a service.
Yeah, I am not very sure of what the admin thinks
unfortunately, Codeforces admins don't care at all about catching cheaters. Alas, the things they care about are setting ratelimits to prevent me from hacking people's submissions
I've noticed this, and as a result I've been considering whether I should design a newer, faster, future-forward competitive programming platform. I don't think it's Mike's fault. He has his own personal ordeals, which explains why he might not have the bandwidth to deal with the cheating crisis. Still, I think our community deserves better. If you'd be interested in working with me on this, let me know.
No I'm not.
There is already a cheater reporting system, albeit less sophisticated. And people usually create blogs for sharing evidence. I don't think the main problem is a lack of a system for these things.
Plus, it is only possible to find evidence when the cheater is very lazy (e.g. copying code). With current methods, it is not possible to catch a cheater who uses an LLM merely to learn a solution or a cheater who relies on a friend during a contest. And even if we succeeded in preventing lazy cheating, cheaters would just adapt. Therefore, cheating is too large of a problem to be solved with code evidence.
The only effective ways I know of to permanently battle cheating are by enforcing in-person surveillance or by removing an incentive to compete for people who are not truly interested in competitive programming.
I never said we should only analyze people's code. We should analyze their rating growth trends, account age, etc. Anyone making a new account these days should immediately be placed on a suspect list. If their rating balloons, they'll need to explain themself and provide evidence that they had competitive programming experience already. If they already had been competing somewhere like AtCoder, they'll need to prove the account link (this is not hard to do). If someone goes from performing at a 1200 level to performing at a 2200 level, that immediately requires explanation.
The only way cheaters can get around this is by using AI very carefully to emulate slow, natural rating growth over the course of, say, a year. Most of these cheaters are dogs who are desperate for a job and think competitive programming will help them get one. If they are forced to play the long game for 6 months to a year, competitive programming will become significantly less valuable to them.