Skip to content
Agentsstrong signalverified

A rumor of a bug is now enough for an agent to write the exploit

Anil Madhavapeddy fixed a path traversal issue in an OCaml library and opened the patch in public, the way maintainers have done for years. About 10 minutes later his own web server was logging probes for that exact pattern. His own agent had already built a working exploit from nothing but a rough description of where to look. The embargo model assumes that keeping the details quiet buys time, and that assumption has stopped holding.

By Redakcija WebAiRadarPublished 3 min readwritten by a model

Anil Madhavapeddy, a professor of computer science at Cambridge and one of the maintainers of the OCaml compiler, released cohttp 6.3.0 on August 22 with a fix for a path traversal issue. He opened the pull request publicly so more people would look at it, which until recently was ordinary practice. Within about 10 minutes his live web server was fielding probes for percent-encoded traversal sequences, which means automated watchers are reading public repositories and turning a patch into a target.

The hint was the whole exploit

The report reached Madhavapeddy privately through a Slack channel, and it had itself been found by Claude Fable. Before reading the patch closely he pointed his own agent at the affected code and asked it to investigate path normalization. Claude Fable refused the task under its security block. That block lifts inside Project Glasswing, which is open to 150 organizations across fifteen countries, and Madhavapeddy has no access to it, because the program does not reach small maintainers. DeepSeek V4 Pro took the job and independently surfaced several related issues.

The agent then wrote an exploit and probed a local server with it in under a minute. That is the part that breaks the old process. What the embargo protects is the patch, but the thing worth protecting was the direction to search in, and a direction fits in one sentence.

The measurements were already pointing here

Fang and colleagues showed the shape of this in 2024. Given a CVE description, their GPT-4 agent exploited 87% of a 15-vulnerability benchmark. Without the description it managed 7%. A description is not a proof of concept; it is a paragraph of prose.

The tracking of mean time to exploit that Madhavapeddy cites now sits at minus seven days, which means exploitation precedes the patch. The same figure was around 63 days in 2018 and 2019, and it crossed zero in 2024.

  • The advisory for marimo's CVE-2026-39987 drew a first exploitation attempt after nine hours, with no public proof of concept in existence.
  • For Langflow's CVE-2026-33017 the same gap was 20 hours.
  • Nick Craig-Wood, who maintains rclone, received about 20 security disclosures through GitHub in the project's first 10 years, and more than 40 in the last month alone.
  • By his own count about 75% of that recent traffic contained something that needed looking at, so it is not noise that can be filed away.

What a maintainer can actually do about it

Madhavapeddy sets out three directions and none of them is comfortable. Developing the fix somewhere genuinely private is the obvious one, but GitHub's temporary private forks cut continuous integration off from the work, accept only a single merging pull request, and require an admin to enroll each reviewer by hand. For a project whose reviewers show up when they happen to be free, that is not a workflow.

The second is to drop embargoes and ship continuously, the way the Linux kernel defers a fix by at most seven days, and by fourteen in exceptional cases. The obstacle is packaging. A library ends up embedded in downstream products the maintainer does not control, so a fast release upstream is still slow where the code actually runs.

The third is to mitigate at the protocol layer while the real fix goes through review. This bug had a one-rule mitigation, normalizing percent-encoded path separators in the request URL, and that rule was deployable the minute the report arrived. Commercial networks do this routinely; Cloudflare pushed managed rules for Log4Shell back in 2021. Open source has no comparable channel for distributing such a rule.

The same clock now applies to anyone shipping dependencies

The window between a public patch and a working exploit is now shorter than most deployment pipelines. A dependency bump that used to be next sprint's chore belongs in the same category as rotating a leaked key.

Two habits follow from that. Advisory feeds are worth watching for the libraries that are actually deployed, not the ones on a list of intentions. And a mitigation has to be deployable without waiting for the fixed release, because on this timeline the fixed release is the slow path.

We had to deal with over 40 in the last month!
Nick Craig-Wood, rclone maintainer

Sources

Corrections

  • An earlier version said the security block on Claude Fable lifts only for organizations inside Project Glasswing. After checking the primary source the text has been corrected to what the source says: Madhavapeddy has no access to that programme, which is open to 150 organizations across fifteen countries but does not reach small maintainers. A limit that had been left out has also been added, that the Linux kernel defers a fix by at most seven days and by fourteen in exceptional cases.

BrandsClaude

Related

OPENCLAW2026.9.2Swarm runs unless you switch it off
Agentsmedium signal

OpenClaw 2026.9.2 turns Swarm on by default and makes sessions visible to other agents

The open personal assistant shipped 2026.9.2 on September 5, 2026, and two of its lines describe defaults rather than features. Swarm, which runs several sub-agents at once, is now on unless it is switched off, and session tools now show every session instead of only the calling agent's. The same release makes GPT-6 Astra selectable, applies most settings changes without restarting the Gateway, and moves plugin icons into the package. Plugin authors get a date: the deprecated prompt-context aliases become eligible for removal on or after September 8, 2026.

OpenClawverified

CLAUDE CODE 2.1.2614 defaultskeys, auto mode, gateway login, rm checks
Agentsmedium signal

Claude Code 2.1.261 changes what Ctrl+W does and stops auto-approving diagram-renderer links

The release that landed on September 4, 2026 is mostly fixes, but four entries change behavior that was already there. The prompt's word-editing keys now match Bash, and the setting that used to select a keybinding style has no effect at all. Auto mode now treats a link that packs your content into a public diagram renderer's URL as an upload to that site, so it is no longer approved without you. Two new settings raise how much command output reaches the model inline, up to 128,000 characters.

Anthropicverified

Agentsstrong signal

GitHub Copilot switches GPT-6 Astra on by itself and leaves Claude Fable 5.1 off

GPT-6 Astra became generally available in GitHub Copilot on September 4, 2026, for the Pro+, Max, Business, and Enterprise plans. Claude Fable 5.1 reached the same four plans three days earlier. The two arrived with opposite administrator defaults: Astra is enabled automatically under default model enablement, while the Fable 5.1 policy is off until someone turns it on. Fable 5.1 is also the one that retains prompts and outputs, and the zero-retention exemption runs only to the end of the calendar year.

GitHubverified