Encrypted LLM reasoning traces are decodable — scrub your logs

A shared per-family key let weak models transcribe a stronger one's hidden reasoning; 182 secrets sat in 315K public traces. APIs patched, old logs aren't.

Nowline AUG 20 1:00 AM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • How the replay attack worked

    Providers returned encrypted chain-of-thought blocks that turned out to be interchangeable across sessions, users, and models in one family. Feed a frontier model's block into a jailbroken weaker sibling — Claude Haiku 4.5 was the demo — and it transcribes the hidden reasoning back to you verbatim.

  • 182 secrets pulled from public logs

    Researchers decoded 315,320 reasoning blocks scraped from public repos and gists, recovering 182 credentials and 367 PII artifacts. A single ~7,000-trace sample held 62 unique API keys, plus dozens of passwords and emails — all sitting in "encrypted" fields people assumed were opaque.

  • The API side is already patched

    OpenAI, Anthropic, and Google acknowledged the report and the extraction attack no longer reproduces; Anthropic's fix removed the assistant-turn-prefix feature in its Claude 4.6 models. The catch: the mitigation stops new attacks, it does nothing about traces you've already published.

  • Scrub your logs before you share them

    Strip reasoning and opaque-field blobs before you post an agent transcript, and don't commit raw API logs even when the visible text looks clean — the base64 reasoning payload is where the secrets live, not the answer.

  • Then rotate — don't just delete

    Rotate every credential a leaked session could have touched, not only the keys you can see in plaintext, and grep your repos and gists for base64 blobs in reasoning fields while you're at it.