
The best-documented demonstration came from the security firm PromptArmor, which published it in January 2026, days after Cowork's research preview launched. Anthropic's own account of the same weakness comes from its write-up on containing Claude, which credits "a third-party disclosure" without naming it. The mechanism in both matches, and the fix is Anthropic's own account. 231
How the attack worked
A victim puts a file in the folder Cowork can see. In PromptArmor's demonstration it was a Word document disguised as a Claude "Skill", with instructions hidden in tiny white text. When the user asked Cowork to analyze their files with it, Claude ran a curl command that uploaded the largest local file to Anthropic's Files API, using an API key the attacker had embedded. The key belonged to the attacker, so the file landed in the attacker's account, where they could read it. No human approval was needed. 2
PromptArmor ran this against Claude Haiku and reported a separate test where Opus 4.5 was also manipulated. 2
Anthropic describes the same flow: the malicious file carried hidden instructions and an attacker's key, Claude read other workspace files and uploaded them, and the network proxy let it through. The proxy checked only the destination. It saw api.anthropic.com, an approved address, and passed the request. Anthropic's summary is that the sandbox worked, and the data left anyway. 1
The destination was right. The account was wrong. A familiar address offered a capability, uploading to any account, that a list of domains could not tell apart from the uploads Cowork legitimately makes.
The fix checked the credential as well as the address
Anthropic says it added a proxy inside Cowork's virtual machine that forwards API requests only when they carry the machine's own provisioned session token. An attacker-supplied key is rejected, and a route using headers that trigger server-side fetches is blocked. It runs inside the machine because only the machine knows whether a request came from Cowork or from some other API client. 1
This is the vendor's description of its mitigation. Neither source offers an independent test showing every related route is closed. 1
What other teams can take from it
Anthropic's lesson is to treat an allowlist as a grant of capabilities, not a filter on addresses. For a team giving an agent network access:
- List what each allowed service can do, not only where it is. A cloud API that accepts uploads is an upload channel.
- Check whose identity a request uses. A request to your own vendor can still carry someone else's key.
- Keep the agent's credentials out of reach of files it reads, and reject keys that arrive from file content.
- Ask what the agent can read before any request leaves.
Anthropic also notes a tradeoff: the virtual machine that isolates Cowork can make activity inside it less visible to an organization's security software, so containment and monitoring have to be designed together. 1
References
- How we contain Claude across products. (n.d.). Anthropic. https://www.anthropic.com/research/how-we-contain-claude
- Claude Cowork Exfiltrates Files. (n.d.). PromptArmor. https://www.promptarmor.com/resources/claude-cowork-exfiltrates-files
- Claude Cowork Exfiltrates Files. (2026, January 14). Simon Willison’s Weblog. https://simonwillison.net/2026/Jan/14/claude-cowork-exfiltrates-files/