Reversing MD5 Hash Function from 2500-Layer Neural Network in Jane Street CTF Puzzle
A Jane Street puzzle released in February last year presented participants with a complete PyTorch model in pickle format containing roughly 2500 linear layers. The model, stored in model.pt, produced an output of 0 for almost every input, including the example strings “vegetable dog”. The challenge required discovering an input that would make the network return a non-zero value without relying on gradient descent or exhaustive search.
Initial inspection of the output layers
Participant Alex began by examining the final two linear layers. The last layer was a 48×1 weight matrix clearly divided into three equal sections, while the preceding layer contained three copies of identical weights together with a repeating 16-byte bias pattern incremented by one each time. This structure indicated that the network maintained three versions of a 16-byte vector v and compared them against a secret target x using the combination v, v+1, v+2. The final layer applied weights 1, −2 and 1, so that only an exact match across all 16 bytes produced a positive result after the bias of −15 was applied.
Network simplification and constraint solving
The remaining 2500 layers formed a directed acyclic graph of integer operations. Alex modeled the entire network as an integer linear program, introducing binary variables to encode the behavior of each ReLU activation. After repeated simplifications—merging identity mappings, removing redundant ReLUs on strictly positive paths, and collapsing duplicate neurons—the problem size dropped from approximately two million nodes to 75 000. Even then, both an ILP solver and a subsequent SAT encoding with 200 000 variables failed to finish within practical time limits.
Discovery of the MD5 core
Plotting layer widths revealed 32 identical periods of length 48. Consulting common cryptographic primitives, Alex recognized the structure of the MD5 compression function. Manual verification confirmed that intermediate activations matched MD5 round constants and state variables, while other hash functions did not. The target 128-bit value was already visible in the bias of the penultimate layer, reducing the original problem to finding a preimage under that specific MD5 hash.
Unintentional length-encoding bug
Further reverse engineering exposed a flaw in the first seven layers responsible for encoding message length in little-endian format. When the input length reached or exceeded 256 bits, the network stored the raw integer 256 instead of the correct four-byte representation. This error affected only a subset of MD5 blocks yet prevented correct hashing for any input longer than 32 bytes. The bug was later confirmed by the puzzle authors to be unintentional.
Final solution
Once the algorithm and the target hash were known, the remaining task was a modest brute-force search over two-word English phrases. A larger word list quickly yielded the correct input that satisfied the hidden MD5 value. The puzzle demonstrated that a carefully constructed neural network can embed a non-differentiable cryptographic routine while still remaining solvable through systematic simplification and algorithmic insight.
Related articles
Israeli Firm Reveals First Known AI-Led Breach of Taiwanese Government Systems
An Israeli cybersecurity company named Dream discovered an open 160 MB archive containing 1,395 files that documented a fully autonomous AI operation against Asian government infrastructure later identified as Taiwan. Between July 1 and July 4 2026 the system ran 12 sequential waves using up to eight sub-agents simultaneously, each handling reconnaissance, exploitation, lateral movement and persistence without further human input after initial setup. The agents mapped 21 interconnected government systems, exploited unauthenticated debug endpoints and single-sign-on weaknesses, and ultimately compromised 85 employee accounts while exfiltrating more than 2,500 personnel records. The framework relied exclusively on two publicly available open-source AI assistants, Hermes and OpenClaw, and bypassed model safety filters by framing the task as an authorized penetration test. The same agents later expanded into government IT suppliers, the national email system, seven energy companies and the nuclear safety agency while performing internal validation that rejected seven false-positive findings. No zero-day exploits were used; all successful access paths involved exposed endpoints, disabled signature checks and missing authentication controls.
GitHub Copilot Traffic Analysis via MITM Proxy Exposes Prompt Context Handling and Local SQLite Session Storage
A detailed reverse-engineering study placed GitHub Copilot behind an mitmproxy instance to inspect all network requests made by Visual Studio Code. The analysis revealed that Copilot performs OAuth token exchange, model availability checks, and intent classification before any user input occurs. Prompts sent to the model include context from recently edited files, even when inline suggestions are disabled for sensitive extensions such as .env. Copilot maintains a local SQLite database named session-store.db that records every user prompt, LLM response, repository, and branch worked on. The extension also exposes a session_store_sql tool allowing the model to run read-only SQL queries against this history using the Copilot Chronicle skill. These findings highlight how AI coding assistants manage context, authentication, and persistent local state.
Anthropic Rolls Out Invisible Statistical Watermarks for Claude Models to Comply with EU AI Act
Anthropic has embedded invisible statistical watermarks into all outputs from its Claude models starting August 2, 2026, to meet Article 50 of the EU AI Act. The two-layer system applies a token-level bias using a secret key for text and C2PA metadata for images and files. Open-source projects appeared within 24 hours promising to strip the marks, yet none have demonstrated verifiable success against the statistical layer because Anthropic has not released a public detector. The technique, first described by Kirchenbauer et al. in 2023 and deployed by Google as SynthID, works by subtly biasing token selection toward “green” lists during generation. Editing, translation, or full paraphrasing rapidly degrades detectability, while short or rigidly formatted text such as code offers little room for the signal. The move affects every Claude deployment worldwide, not only EU users, to avoid maintaining dual model versions.
Guardrails Filter Tackles Complex LLM Streaming and Tool Call Challenges to Protect Sensitive Data
Developers at Cloud.ru built Guardrails Filter to mask personal data such as phone numbers, emails, passport details and names before they reach large language models. The system replaces detected values with consistent placeholders like <PHONE_1> and maintains a mapping table so original data can be restored after the model responds. Simple replacement proved insufficient because identical values must receive the same placeholder across an entire conversation history, and the model receives the full message array on every request. Streaming responses using SSE create additional difficulties since placeholders can be split across multiple chunks, requiring buffering of 10-15 characters and state tracking for reasoning, content and tool_calls. The team also had to handle JSON-inside-JSON arguments for tool calls, different field names across providers, and edge cases such as escaped newlines matching email patterns. Separate implementations were written for OpenAI Chat Completions and Anthropic Messages APIs, resulting in roughly 1,500 lines of streaming code and more than 4,000 lines of tests to ensure agent pipelines remain intact.