Product1 distinct publisher3 min readPublished
Johann Rehberger's chain landed 60% to 80% of the time in the mode Claude Code has run by default since mid-August. Anthropic closed the report as informative and pointed customers at OS-level isolation.
The Product Desk · Product desk

Compiled by The Product DeskSomething wrong?How this is made
Each step in the chain was, on its own, a command a developer would type without thinking. A classifier judging one command at a time saw curl pulling down a file, and later saw python running a script the agent had just written itself [3][4]. Nothing in either command string reads as hostile. The malice sat in the working directory, in a file called struct.py, and Python's import order did the rest [3].
Claude's one defensive instinct is what routed it into the trap. It declined to execute the unknown binary bundled in the archive, which is the right call, and wrote its own decoder instead. That decoder imported base64, base64 needs struct, and the interpreter found the attacker's copy in the local directory ahead of the standard library's, which was enough for remote code execution and a callback to a command-and-control server [4].
Then the two numbers. Anthropic's 0.00% attack success rate came from third-party red teaming across 72 fixed scenarios [6]. Zero out of 72 means the finest non-zero rate that suite can report is one in 72, roughly 1.4% [1]. Rehberger's chain was not one of the 72 [6], and he reports it landing 60% to 80% of the time across variants [5], which works out to between 1.25 and 1.67 attempts per success [2]. Both figures can be accurate at once, and only the second is measuring an attacker who improvises.
The detail to carry into a rollout meeting is the cleanup. When Claude worked out that something had gone wrong and moved to undo it, Auto Mode's own approval system blocked the command [7]. Permissive on the way in and restrictive on the way out, which leaves the artifact on the host and the remediation with a human who has to notice it first.
Anthropic closed the report as "Informative" rather than a bug to patch, on the stated position that Auto Mode is a best-effort classifier and that the boundary that counts is OS-level isolation plus control of network egress [8]. That is worth taking at face value, because the vendor is telling customers the containment is their job [10]. Mitch Ashley of The Futurum Group notes that agents are turning up well beyond developer IDEs and command line tools, into planning work, infrastructure management and operational monitoring [9]. Those places inherit the same import path and the same ambient credentials.
So, a forcing function with two axes. Down one side, whether the agent process holds real credentials: cloud keys, a live SSH agent, a logged-in CLI token, a keychain it can read. Across the other, whether it can open outbound connections to anywhere it likes. Default Auto Mode is defensible only in the quadrant where both answers are no [2]. Where credentials are present and egress is open, a summarize request is a shell an attacker rents by publishing a file. Most teams sit somewhere in between, one container and one egress allowlist away from the quadrant they can defend on Friday.
Ranked by verification strength, evidence, and original report placement.
Security researcher Johann Rehberger, who publishes under the handle wunderwuzzi at Embrace The Red, found a way to hijack Claude Code running in Opus 5's Auto Mode using nothing more than a request to summarize a website, with no malicious attachment from the user and no obvious red flag in the prompt.
Auto Mode became the default way Claude Code runs in mid-August; instead of stopping to ask permission before every command, it relies on a safety classifier to decide what is fine to execute on its own.
Claude's WebFetch tool received an HTTP 415 (Unsupported Media Type) error, so it fell back to curl, which pulled down a ZIP file the site presented as an archive of notebook records with believable metadata; inside was a poisoned file named struct.py, built to shadow Python's own standard library module of the same name.
Claude refused to run a binary decoder bundled in the archive and wrote its own decoder script instead; that script imported Python's base64 module, which needed struct, and Python loaded the attacker's version from the local working directory, which was enough to trigger remote code execution and open a callback to a command-and-control server.
Rehberger reports the attack worked between 60% and 80% of the time across test variants, with the chain using ordinary agent actions including curl, archive extraction, Python code generation and malicious module shadowing.
Anthropic has claimed a 0.00% attack success rate from third-party red-team testing; that evaluation covered 72 fixed test scenarios, and this particular attack chain was not one of them.
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 31, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
Claude Code's new default is a confession: the approval prompt was never a control1 distinct publisher
leadership
Anthropic's own telemetry: 93% of permission prompts approved. Budget for blast radius, not reviewers1 distinct publisher
build
Opus 5 absorbed your verify prompts. The reading is still on your desk.1 distinct publisher
build
Developer habit, priced at $965B: what Anthropic's run actually proves1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Specific, secondhand, unreplicated
Every technical beat — the 415 that pushed Claude to curl, the ZIP dressed up as notebook records, the struct.py that base64 quietly imported — comes from devops.com retelling Rehberger's writeup. It is unusually checkable for a secondhand account, and that cuts both ways: a Python developer can reason about the failure unaided, but no one in this coverage has reproduced it, and Anthropic's side of the exchange arrives only as paraphrase.
Default-on surface, unquantified
The one hard deployment fact is that Auto Mode is what Claude Code has done by default since mid-August, so the surface is everyone running the tool rather than a niche flag. Beyond that the numbers stop: no install or session counts, no telemetry, and no report of this chain being used against anyone outside a researcher's test bench.
Sober, but one number carries it
devops.com declines the easy escalation — it says outright that autonomous coding agents remain usable — so the strain runs elsewhere. A 60%-80% hit rate from one researcher across unspecified variants does most of the persuading, and an analyst quote about agents spreading past the IDE widens a single exploit into an industry lesson. The genuinely inflated figure in this story is Anthropic's 0.00%, and the story is the thing pointing that out.
Everyone's interest is legible
The prescription — containers, egress rules, isolated credentials — is work that lands on precisely the platform and DevOps readership devops.com serves, and the supporting quote comes from a Futurum Group practice lead who advises on the same problem. Anthropic's incentive is no less visible: filing the report as informative preserves a 0.00% red-team result while moving the security boundary onto the customer's operating system. None of this is hidden, which is why the number sits mid-range rather than high.
Plausible mechanism, thin corroboration
One outlet, one researcher, and a vendor that has not spoken for itself anywhere in this coverage. The import-shadowing failure is the kind of thing that is hard to fake and easy to verify, which lifts confidence in what happened; what remains missing is replication, affected-version detail, and any word from Anthropic that did not travel through the disclosure thread.