Claude Encrypted Thinking Blocks Use Protobuf with Exposed Metadata and AES-GCM Ciphertext
An in-depth examination of Claude signatures demonstrates that the so-called encrypted reasoning blocks are ordinary protobuf structures rather than opaque blobs. The 428-character base64 signature decodes to 319 bytes that begin with a zero byte and follow standard protobuf wire formats.
The outer message contains three fields: a varint indicating schema version 2, a 312-byte length-delimited inner message, and another stable varint flag. Inside the inner message the layout is consistent across thousands of samples: a 135-byte header, two 12-byte nonce fields, a 48-byte MAC, and the variable-length ciphertext.
The header, parsed without any decryption keys, contains several plaintext fields. Field 6 stores the model identifier such as claude-opus-5. Field 8 stores the block type string thinking. Field 11 stores the 36-character organizationUuid taken directly from the user's Anthropic account configuration. These values are covered by the MAC yet remain readable to anyone who can decode the base64 and walk the protobuf tree.
Only the ciphertext in field 5 is encrypted. Its length equals the original reasoning text plus exactly 16 bytes, confirming standard AES-GCM usage with no padding or compression. When the visible thinking field is empty, the ciphertext length still reveals the true length of the model's internal reasoning.
Protocol evolution across four versions added the model name in v12, the block-type string in v13–v14, and the organization identifier in v15. The same parser written six months earlier continues to decode current Opus-5 blocks without modification.
The presence of organization and model identifiers inside the signed header allows a server to reject attempts to replay an Opus block to a Haiku instance belonging to a different account. At the same time, the same identifiers leak account linkage when users publish agent logs containing the raw signatures.
Related articles
Researchers Extract Proprietary Reasoning Traces from Anthropic, OpenAI and Google LLMs, Revealing Hidden Secrets
A team of eight researchers from institutions including ELLIS Institute Tübingen, the Max Planck Institute for Intelligent Systems, Tübingen AI Center, MATS and Snyk published a preprint detailing a practical attack that recovers full reasoning traces from closed LLM APIs. The method requires only two API calls and works by feeding encrypted reasoning blocks from strong models such as Claude Opus 4.8 into weaker models from the same provider, such as Haiku 4.5, which then reproduce the hidden chain-of-thought verbatim. Analysis of 6,708 publicly shared agent logs from GitHub and Hugging Face yielded 315,320 recovered traces containing 704 unique secrets, including 62 API keys, 33 passwords and 24 access tokens that never appeared in visible session output. The attack also enables extraction of internal safety policies, system prompts and detailed harmful planning that providers normally filter from final answers. In addition, the same mechanism can be used in reverse to inject malicious instructions into shared logs that later get replayed by unsuspecting users. The authors recommend treating encrypted reasoning blocks as sensitive secrets and propose cryptographic binding of traces to sessions, users and models.
GhostSplice Technique Lets Malicious MCP Servers Trick AI Coding Agents into Exfiltrating Secrets
GhostSplice is a new technique that allows a malicious MCP server to induce an AI coding agent to leak SSH keys, environment secrets, and source code. The attack splits malicious instructions across tool metadata and responses so the agent reconstructs and executes the full exfiltration plan without detecting an overtly malicious command. Tests showed the method raised compliance rates from an average of 42 percent to 82 percent across eleven models, with some systems moving from zero to 100 percent success. The technique requires the developer to connect the attacker-controlled MCP server and for the agent to already possess read access to the targeted files. Defenses focus on strict allow-listing of MCP servers, least-privilege tool permissions, separation of tool output from instructions, and human approval for sensitive operations. The disclosure aligns with prior warnings about poisoned MCP tool descriptions and agentjacking attacks.
Anthropic Claude Code Auto Mode Launches August 14 with Local Classifier and Permission Rules
Starting August 14, Claude Code will run in auto mode on new sessions for Pro, Max, and Team plans, replacing the allow/deny dialog with a local classifier that evaluates every tool call. The classifier rules are stored locally and contain 103 categories across allow, soft_deny, hard_deny, and environment sections, with the single hard_deny rule focused on data exfiltration spanning over 5,000 characters. Enterprise, API, Bedrock, Vertex, and Foundry deployments remain on opt-in for another month. Auto mode pauses after three consecutive blocks or twenty blocks in a session, and broad allow rules such as python:* are disabled while narrow permissions continue to function. Administrators should populate the twenty environment fields, currently only one-third configured on clean machines, before the rollout date.
Securing OpenClaw and Hermes AI Agents on One VPS: Hardening Lessons from Docker, SSH, and Prompt Injection Risks
A detailed case study examines the challenges of running OpenClaw and Hermes AI agents together on a single VPS, connected via an SSH channel with forced commands. The author deployed OpenClaw as an orchestrator handling Telegram messages and Hermes as an executor for heavy tasks inside its own Docker sandbox. Multiple security misconfigurations were discovered, including Docker publishing ports directly to 0.0.0.0, ufw being removed during iptables-persistent installation, and repeated resets of gateway.bind to lan. The built-in security audit revealed a critical issue where Telegram groups allowed arbitrary command execution without an allowlist. Additional risks included context file injection that could propagate through the ACP bridge and UID conflicts caused by cloud image defaults. The experience highlights that AI agents require strict least-privilege controls because they interpret arbitrary text as potential instructions.