Stolen Thoughts: Opaque Reasoning Blocks Could Be Replayed to Recover Secrets
Stolen Thoughts found that opaque reasoning blocks returned by Anthropic, OpenAI, and Google APIs could be accepted across sessions, users, or compatible models within a provider family. An attacker who first obtained another user's block could submit it to a weaker compatible model and jailbreak that model into transcribing hidden reasoning. In 6,708 public agent trajectories, the researchers reconstructed 315,320 blocks and found real sensitive artifacts in 328 sessions. They report that provider mitigations later made the demonstrated attacks non-reproducible.
Threat Analysis
- The attacker first needed a reasoning block. The work does not show arbitrary access to another tenant. The third-party path begins when published or otherwise obtainable agent logs expose the block.
- The weakness was portability, not broken encryption. Providers accepted opaque blocks across sessions, users, or compatible models within one provider family. After processing a captured block, a weaker model could be jailbroken into transcribing hidden reasoning.
- Public traces contained real secrets, with limits. The team reconstructed 315,320 blocks from 6,708 trajectories and found real sensitive artifacts in 328 sessions. Sixty-four of 704 genuine-session artifacts were absent from visible chat history. Other results included synthetic benchmark personas, and exact transcription fidelity could not always be proven without ground-truth plaintext.
- The reported attack is now mitigated. Anthropic, OpenAI, and Google acknowledged the disclosures. The researchers say provider changes made the Figure 1 attacks non-reproducible, though portable hidden state and public trace publication remain recurring architectural boundaries.
Applicable AIDEFEND Defenses (8)
What Defenders Should Do Now
- Stop publishing raw provider reasoning blocks in agent logs, traces, bug reports, examples, or datasets. Remove historical copies from public artifacts while preserving access-controlled evidence needed for investigation.
- Keep provider-authored blocks byte-for-byte in server-held state and reject client-supplied or altered blocks before continuation. Providers should also bind acceptance to the authenticated principal, session, conversation, route, model family, order, and expiry, then invalidate legacy blocks that do not carry the stronger binding.
- Move credentials and other high-sensitivity values out of prompts and model context. Give agents task-scoped handles and resolve them only inside the approved tool or network sink.
- Convert the paper's replay and transcription cases into signed release regressions. Before any decoder output is displayed or exported, detect credential and personal-data patterns, hold the complete output, and redact or deny matched content.
- Search public and internal trace stores for exposed blocks and verified secrets. Revoke or rotate only confirmed exposed passwords, keys, and other long-lived credentials; separately revoke affected access tokens, refresh tokens, sessions, and agent leases, then verify the result at every relying service.
2 additional considerations
Provider-wide replay detection and legacy invalidation
Decoder refusal training
Conclusion
Stolen Thoughts shows that opacity is not a security boundary when a reasoning block can be accepted outside its original context. AIDEFEND maps the strongest controls to the attack's actual prerequisites: keep complete reasoning server-side, preserve provider-authored blocks and reject client-supplied reuse, keep raw secrets out of model context, and turn the disclosed bypass into a release regression. Sensitive-output detection and a fail-closed release gate can stop recognizable plaintext from leaving, while separate credential and session revocation contain confirmed exposure. Provider-wide cryptographic binding, replay detection, legacy-block invalidation, and decoder refusal training remain necessary extensions for the provider-owned boundary.