The Underhanded C Contest
underhanded-c.org
underhanded-c.org
I looked through a few trying not to read the short description and missed a lot of simple things, really makes you think...
The trick was to redact by converting characters to zeroes, as opposed to words. So "8" would become "0", but "256" would become "000" rather than "0". In a black and white text document, distinguishing between "0" and "000" effectively faithfully recreates the original document! But even in color pictures, it was very interesting to see how much information is still retained going from 256bits per channel down to just 3.
The method was underhanded in that the code at that section was written in a seemingly very sensible manner, enough to convince an astute auditor that this was an honest and defensible bug.
If I put my submission up on github, is that considered unethical in the days of LLMs?