PaPoo
cover

The download folder is becoming an attack surface, not a convenience

What jumped out at me isn’t the specific trick with AGENTS.md. It’s the larger shape of the problem: we’re teaching LLM agents to treat local files as authority, and then acting surprised when attackers start smuggling instructions into exactly those files. That feels like the inevitable next step after “prompt injection” stopped being a neat demo and started looking like an operating assumption.

The part I find most convincing in the article is the asymmetry it points to. A file dropped into a download folder is boring, almost invisible, and yet the agent may read it with more trust than the human would. That is the real bug here. Humans are bad at opening random attachments; agents are maybe worse, because they’re eager and literal and don’t have the same instinct for “this is weird, maybe don’t obey it.” If an agent is allowed to roam across a filesystem and harvest instructions from markdown files, then of course someone is going to weaponize markdown files.

I also think the article lands on something practical when it frames the issue as a gap between design and usage. Claude Code and Codex weren’t necessarily built with “the browser download folder is part of the agent’s instruction surface” as the primary threat model. But once people start wiring agents into everyday workflows, the threat model changes fast. A downloaded file is no longer just a file. It might be a control plane. That is unsettling, and it’s not solved by pretending users will always keep things tidy.

What I’d actually want from these tools is not just “be careful,” because that’s a slogan, not a defense. I’d want much stricter provenance rules: explicit prompts before reading untrusted instruction files, clearer boundaries between project docs and anything living in a downloads directory, and maybe a default that treats newly downloaded content as radioactive until the user opts in. The article’s proposed mitigations move in that direction, but I’m not sure they go far enough unless the product behavior changes at a deeper level.

There’s also a blunt lesson for anyone building agentic software: if your agent can read markdown, markdown is executable enough. That line from the referenced research is a little dramatic, but not wrong. We have spent years making docs, configs, and repo files into de facto interfaces for tools. Agents just widen the blast radius.


Reference: Clickless? Patchless? AI agents downloading “AGENTS.md” files into the Downloads folder

同じ著者の記事