Skip to content
Artwork for AI Papers: A Deep Dive
AI Papers: A Deep Dive · August 28 · 16 min

The Coding Agent That Refused, Then Obeyed The Same Instruction

The Coding Agent That Refused, Then Obeyed The Same Instruction Source: When Context Gets Root: Privilege Escalation in LLM Harnesses Paper was published on August 27, 2026 This episode was AI-generated on August 28, 2026. The script was written by an AI language model and the host voices were synthesized by Eleven Labs. The producer is not affiliated with Anthropic or Eleven Labs. Researchers showed OpenAI's Codex a backdoor sitting in plain, unobfuscated Python and it refused to run it. Then they changed one thing about how the request reached the model — not the words, not the code — and the same model started the backdoor in seconds. This is the paper that explains why both decisions are correct behavior, why the permission reviewer approves it anyway, and why the fix isn't 'make the model more suspicious.' Key Takeaways Why the three published prompt-injection techniques scored zero out of thirteen on Claude Code, Codex and Kimi — and why imitating a user message actually makes an attack easier to catch How delegating to a sub-agent silently converts attacker text from tool output into a user message, because the harness rebuilds the context from scratch on every call Why the permission reviewer correctly rates the action high risk and approves it anyway — 'the user explicitly approved this exact action,' when the user typed nothing The origin level vs assigned level distinction that turns 'did the model get fooled?' into an auditable yes-or-no question about provenance The split-payload trick used against Claude Opus: two innocuous files, neither refusable alone, that no single checkpoint ever sees together The steelman: thirteen out of thirteen is thirteen objectives through one mechanism in a lab, and taint tracking has no off-the-shelf version because natural language has nothing to escape against 00:00 — Refused, then ran it in seconds The cold open: an agent reads a visible Python backdoor and refuses, then runs it after one change to the repository — with no forgery and no hidden payload. 01:30 — Why every published injection attack failed How system/user/tool labels work as the main defense against indirect prompt injection, and why three published attack techniques scored near-zero across six agents. 03:41 — Don't forge the badge — get one issued The delegation attack: the README asks the agent to hand the step to a sub-agent, and the harness rebuilds that instruction into the sub-agent's context as a user message. 06:10 — The notary that trusts a manufactured form The permission reviewer reads the transcript, correctly classifies the action as high risk, and approves it because a user-labeled sentence says the risk was accepted. 07:54 — Origin level, assigned level, and one gap The paper's formal contribution: content has a fixed origin level and a reassigned level, and escalation is simply the assigned level ending up above the origin. 09:55 — Delegation isn't the only door Persistent goals, scheduled tasks and skills reproduce the same escalation, plus the split-payload induction trick and the attacker-written sub-agent that survives the session. 13:01 — Where the headline outruns the evidence The critique: thirteen objectives is not thirteen breaches, escalation is not compromise, and the proposed fix — taint tracking — has no working implementation. 14:47 — Reading the letterhead, not the author Why the convenience machinery and the trust machinery are currently the same machinery, and the one thing to check before pointing an agent at code you didn't write. Recommended Reading Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection — The paper that named indirect prompt injection — the 'baseline' attack class the episode says now fails at 0/13, making it the right starting point for understanding why the delegation trick was needed at all. The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions — OpenAI's account of training models to weight system > user > tool text differently — the exact defense the episode praises for working, and the exact assumption the harness breaks when it reprints tool content into the user slot. Defeating Prompt Injections by Design (CaMeL) — A concrete attempt at the 'parameterized query for prompts' that Finn argues doesn't exist, using capability-based taint tracking to keep untrusted data from ever becoming control flow. AgentDojo: A Dynamic Environment to Evaluate Attacks and Defenses for LLM Agents — Directly addresses Finn's critique that '13/13 in a lab on repos the authors built' isn't a threat model, by offering a standardized benchmark for measuring agent attacks and defenses against real utility costs.

0:00-16:23

transcript

No transcript — this publisher did not publish one.

show notes

The Coding Agent That Refused, Then Obeyed The Same Instruction

Source: When Context Gets Root: Privilege Escalation in LLM Harnesses

Paper was published on August 27, 2026

This episode was AI-generated on August 28, 2026. The script was written by an AI language model and the host voices were synthesized by Eleven Labs. The producer is not affiliated with Anthropic or Eleven Labs.

Researchers showed OpenAI's Codex a backdoor sitting in plain, unobfuscated Python and it refused to run it. Then they changed one thing about how the request reached the model — not the words, not the code — and the same model started the backdoor in seconds. This is the paper that explains why both decisions are correct behavior, why the permission reviewer approves it anyway, and why the fix isn't 'make the model more suspicious.'

Key Takeaways

  • Why the three published prompt-injection techniques scored zero out of thirteen on Claude Code, Codex and Kimi — and why imitating a user message actually makes an attack easier to catch
  • How delegating to a sub-agent silently converts attacker text from tool output into a user message, because the harness rebuilds the context from scratch on every call
  • Why the permission reviewer correctly rates the action high risk and approves it anyway — 'the user explicitly approved this exact action,' when the user typed nothing
  • The origin level vs assigned level distinction that turns 'did the model get fooled?' into an auditable yes-or-no question about provenance
  • The split-payload trick used against Claude Opus: two innocuous files, neither refusable alone, that no single checkpoint ever sees together
  • The steelman: thirteen out of thirteen is thirteen objectives through one mechanism in a lab, and taint tracking has no off-the-shelf version because natural language has nothing to escape against
  • 00:00 — Refused, then ran it in seconds
    The cold open: an agent reads a visible Python backdoor and refuses, then runs it after one change to the repository — with no forgery and no hidden payload.
  • 01:30 — Why every published injection attack failed
    How system/user/tool labels work as the main defense against indirect prompt injection, and why three published attack techniques scored near-zero across six agents.
  • 03:41 — Don't forge the badge — get one issued
    The delegation attack: the README asks the agent to hand the step to a sub-agent, and the harness rebuilds that instruction into the sub-agent's context as a user message.
  • 06:10 — The notary that trusts a manufactured form
    The permission reviewer reads the transcript, correctly classifies the action as high risk, and approves it because a user-labeled sentence says the risk was accepted.
  • 07:54 — Origin level, assigned level, and one gap
    The paper's formal contribution: content has a fixed origin level and a reassigned level, and escalation is simply the assigned level ending up above the origin.
  • 09:55 — Delegation isn't the only door
    Persistent goals, scheduled tasks and skills reproduce the same escalation, plus the split-payload induction trick and the attacker-written sub-agent that survives the session.
  • 13:01 — Where the headline outruns the evidence
    The critique: thirteen objectives is not thirteen breaches, escalation is not compromise, and the proposed fix — taint tracking — has no working implementation.
  • 14:47 — Reading the letterhead, not the author
    Why the convenience machinery and the trust machinery are currently the same machinery, and the one thing to check before pointing an agent at code you didn't write.

Recommended Reading

links5