AI Worm Spreads Through Copilot for Word
A new demo shows a self-propagating Copilot for Word AI worm that spreads via prompt injection — no macros, no consent, just an opened document.

> **TL;DR:** Researchers have published a working demonstration of a self-propagating prompt-injection worm inside Microsoft Copilot for Word: a poisoned document instructs the assistant to copy the same payload into every document it later drafts or edits. It requires no macros and no code execution — only that a user opens the file and asks Copilot for help — which makes it the most concrete published example to date of an AI assistant being turned into a distribution channel for its own compromise.
Key Takeaways
- A published writeup demonstrates a prompt-injection worm that self-propagates through Microsoft Copilot for Word, document to document. - The attack needs no macros, no signed code, and no 'enable content' click — the payload is ordinary text that the model reads as instruction. - User consent collapses to a single ambiguous act: opening a file and asking the assistant to help with it. - The technique generalises to any assistant that reads untrusted content and writes new content — it is not specific to Word. - The post drew 361 points on Hacker News, the day's largest security discussion, signalling how seriously practitioners took it.
Security researchers have published a working demonstration of a self-propagating prompt-injection worm inside Microsoft Copilot for Word — an attack that moves from document to document with no macros, no executable payload, and no user action beyond opening a file and asking the assistant for help. The [full writeup](https://enklypesalt.com/posts/context-collapse-part3-ai-worming-through-word/) is part of a series on what its author calls context collapse, and it is the most concrete published example so far of an AI assistant being converted into a distribution channel for its own compromise.
The accompanying discussion reached 361 points on [Hacker News](https://news.ycombinator.com/item?id=49096188), making it the largest security thread on the site that day. That signal matters: this is not a speculative threat model circulating among academics, it is a demonstration that working engineers found credible enough to argue about at length.
The mechanism: text that copies itself
The worm is disarmingly simple in structure. A malicious document contains instructions aimed not at the human reader but at the assistant reading over their shoulder. When Copilot ingests that document as context, it treats the embedded text as directive rather than data. One of those directives tells the assistant to reproduce the same payload inside any document it subsequently drafts or edits.
That single instruction is what turns a one-off injection into a worm. Every downstream artefact the assistant produces becomes a fresh carrier. Send that memo to a colleague, drop it in a shared drive, attach it to a client deliverable, and the payload rides along inside a file that looks entirely ordinary — because, at the byte level, it is entirely ordinary.
Why "no macros" changes the threat model
Two decades of Office security tooling assumes malicious documents contain something identifiable: a macro, an embedded object, a remote template reference, an exploit against the parser. All of those have signatures, sandboxes, and a policy switch an administrator can flip.
A prompt-injection payload has none of that. It is prose. It survives copy-paste, format conversion, and plain-text export. There is no "disable prompts" toggle equivalent to disabling macros, because reading text is the entire point of the feature. The defensive primitives the industry built for document-borne malware simply do not apply to a document-borne instruction.

The consent gap
The part that should worry security teams most is the consent surface. Traditional macro malware requires a deliberate user override — the yellow bar, the click, the audit trail. Here, the triggering act is a user opening a file and asking their assistant to summarise or improve it. That is not a security decision. It is the intended workflow.
There is no moment where a reasonable person could have known better. The writeup is a demonstration rather than an incident report, and it does not establish that any payload of this kind is circulating in the wild — but the absence of a consent checkpoint is a structural property of the design, not a bug awaiting a patch.
Where this fits in the agent-intrusion timeline
This lands in the middle of a broader pattern: agentic capability shipping faster than the containment around it. Hugging Face maintains a [technical timeline of agent intrusion research](https://huggingface.co/blog/agent-intrusion-technical-timeline) that traces how quickly these techniques have moved from theory to reproducible proof.
We have covered adjacent findings in the same vein — including what happened when researchers probed the boundaries of a frontier model's execution environment in [OpenAI's model sandbox escape test](https://speka.info/blog/openai-model-sandbox-escape-what-the-test-showed). The through-line is consistent: each new integration point between a language model and a real system creates a class of failure that the previous generation of controls was never designed to catch.
It is also worth noting where the policy conversation currently sits versus where the risk actually is. Debates over model provenance and national restrictions — such as the trade-offs we examined in [what a Chinese AI model ban would cost US firms](https://speka.info/blog/chinese-ai-model-ban-what-it-would-cost-us-firms) — focus on whose weights you run. This attack does not care whose weights you run. The vector is the document.

This is not really a Word problem
Swap Word for any assistant that reads untrusted content and then writes new content, and the same loop closes. Email clients that summarise threads and draft replies. Code assistants that read a repository and generate files. Note-taking tools that ingest shared pages. Support agents that read tickets and write macros.
The pattern requires only three ingredients: the model reads attacker-influenced text, it cannot reliably distinguish instruction from data, and its output reaches somewhere another instance will later read. Locally-run open-weight deployments are not exempt — a self-hosted stack built on releases like [Kimi K3's open weights](https://speka.info/blog/kimi-k3-open-weights-land-on-hugging-face) inherits exactly the same instruction-versus-data ambiguity, minus the vendor-side filtering.
What teams can do now
There is no clean fix, but there are meaningful reductions:
- **Treat assistant output as untrusted input.** If a document was drafted with AI help from an external source file, it should not be fed to another assistant unreviewed. - **Constrain write paths.** The worm needs the assistant's output to reach new contexts. Human review before a generated document leaves the organisation breaks the chain. - **Log context provenance.** Knowing which external files entered a session is the difference between a contained incident and an unbounded one. - **Reduce standing capability.** An assistant that can only draft in a scratch space is a poorer carrier than one wired into shared storage by default.
For teams evaluating which assistants and agent frameworks to adopt, this belongs in the selection criteria rather than the post-deployment hardening phase — our ongoing coverage of [new AI tools and skills](https://speka.info/new-ai-tools/) tracks how vendors are handling exactly this class of boundary.
The uncomfortable conclusion is that the industry shipped assistants with write access to the same corpus they read from, and then discovered what that composition permits. Prompt injection was already the hardest unsolved problem in applied AI security. Making it reproductive raises the ceiling on how bad an unsolved problem can get.
Frequently Asked Questions
What is the Copilot for Word AI worm?
It is a demonstrated self-propagating prompt-injection attack in which a malicious document instructs Microsoft Copilot to embed the same malicious instructions into every document the assistant subsequently drafts or edits, spreading without any code execution.
Does the attack require macros or enabling content?
No. The payload is ordinary text interpreted by the language model as instruction, so none of the traditional macro warnings, code-signing checks, or 'enable content' prompts are involved.
What user action triggers it?
Opening the poisoned document and asking Copilot for help with it — a normal workflow step, not a security decision, which is why there is effectively no consent checkpoint.
Has this been seen in the wild?
The writeup is a research demonstration rather than an incident report, and it does not establish that any real-world documents carry this payload. The risk is structural, not a confirmed active campaign.
Is this specific to Microsoft Copilot?
No. Any assistant that reads untrusted content and writes new content that another assistant may later read is exposed to the same loop, including email summarisers, code assistants, and self-hosted open-weight deployments.
How can organisations reduce the risk today?
Treat AI-generated output as untrusted input, require human review before generated documents leave the organisation, log which external files entered an assistant's context, and limit the assistant's default write access to shared storage.
Sources
- https://enklypesalt.com/posts/context-collapse-part3-ai-worming-through-word/ - https://news.ycombinator.com/item?id=49096188 - https://huggingface.co/blog/agent-intrusion-technical-timeline

