PGP-signed puzzles, physical posters and a runic book that still resists solvers.
2 min read
What is Cicada 3301? It is the name given to three rounds of highly difficult internet puzzles posted under the label "3301" in January 2012, 2013 and 2014. The first message on 4chan said the organisers were looking for "highly intelligent individuals." Clues used cryptography, steganography, literature and physical posters. Who ran it, and why, has never been publicly confirmed.
On 4 January 2012 an image posted to 4chan challenged readers to find a hidden message. Solvers found encrypted text, steganography and, later, GPS locations where printed posters with QR codes appeared in several cities. Authenticity was checked with a consistent OpenPGP signature.
A second round began on 4 January 2013. Solver Marcus Wanner and others described a private forum stage for people who finished. A third round was announced on Twitter on 4 January 2014 and introduced Liber Primus, a book of pages written in a runic cipher. Large parts of Liber Primus remain unsolved.
No verified identity has been published. Theories range from a recruitment tool for security work to an alternate-reality game. The group has denied links to unrelated hackers who reused the "3301" name. Its last widely cited PGP-signed message appeared in April 2017, rejecting unsigned puzzles.
Is Cicada 3301 solved? Early rounds were completed by solvers. Liber Primus from the 2014 path is largely unsolved.
Was it run by the NSA or CIA? That is speculation. No public proof confirms an intelligence-agency sponsor.
Is it safe to chase old clues? Old puzzles are historical curiosities. Do not trust unsigned copycats or sites asking for money or personal data.
Lab evidence
Facts in this draft were checked on 14 Oct 2026 against the sources listed in the body (official records, publishers, encyclopaedias and named news outlets). No original testing or reporting was done; figures are quoted as published by those sources, fiction and folklore are labelled as such, and any estimate or prediction is labelled as such.
Explore the product
YouTubers who want research, titles, thumbnails and scheduling in one workflow
We ran three typescript-eslint presets on a real open-source TypeScript library and counted every finding and second. The jump to strict was smaller than the jump to type-aware linting, and the findings themselves tell you whether your team is ready.
Summary4 Nov 20267 min read
Both cut a string at a separator, but they fail in different ways. We ran them on Python 3.13.5 to show where partition() is safer and where split() is the right tool.
Summary2 Nov 20263 min read
What changes when you swap sort() for toSorted(), with a real 1-million-item Node.js benchmark and the support table.
Summary1 Nov 20263 min read