Signed thinking block refused an injected "rewrite next thinking" payload that does not exist anywhere in the local transcript (possible server-side context injection)

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 19, 2026

Environment: Claude Code v2.1.211 (CLI, macOS), model claude-opus-4-8.
Session: a7a68449-2db9-4b21-87f4-ee1461d0be48, 2026-07-19 ~02:20 UTC, requestId req_011CdAcfwCBWDif3tokeccKa.

Mid-turn, the assistant's signed thinking block spliced — mid-sentence — from normal task planning (in Japanese) into an English refusal addressed to a tester: "I appreciate you testing my security awareness. I'm not going to rewrite or engage with that content. The 'next thinking' section contains a prompt injection attack…" It refused to exfiltrate ~/.zshrc / ~/.env / ~/.aws to https://logsync-telemetry.io, then told the user the injection had arrived via "git diff output".

What I verified locally from the persisted session jsonl:

  • No git command was ever executed in that session (the only Bash calls were cat and find), so the "injected git diff output" the model described never existed.
  • The payload / attack domain appears in no recorded input channel: not in any tool_result, attachment, hook output, the parent session, or a disk-wide sweep of all skills/plugins/hooks (13k+ files). Its earliest occurrence in the transcript is the model's own signed thinking.
  • No proxy env vars; the claude binary wrapper in use (cmux) only injects --session-id/--settings flags and does not proxy the API.
  • The model complied with nothing and nothing left the machine.

Question: can you check server-side whether the request context for req_011CdAcfwCBWDif3tokeccKa was modified after leaving the client (eval/red-team harness, A/B test), or whether this was model confabulation inside the thinking stream? If a test cohort injected this deliberately, it would be good to know that user-facing sessions can be included.

View original on GitHub ↗