Cases › security breach › LR-2026-0489
Persistent memory compromise found in Claude Code
Confirmed Why: Cisco's own report · Cisco · 1 independent report
Status: fix reported
No source states: loss or records, could do, deployer, industry.
Severity minor: Test scope: the quoted sentence describes a benign proof-of-concept injection in one evaluation, and no third party is stated as touched.
Researchers at Cisco demonstrated a proof-of-concept attack on Claude Code, an AI coding agent that reads persistent memory files. Its memory files are loaded into the system prompt and treated as trusted user instructions. The attack entered through an npm postinstall hook that ran during a package installation the user approved. The payload overwrote project memory files and the global hooks configuration, and appended a shell alias that re-enabled auto-memory at each launch. In the demonstration, the poisoned agent recommended storing an API key in a committed source file and gave no security warnings. The researchers reported the findings to Anthropic, which, as of Claude Code v2.1.50, removed user memories from the system prompt. Anthropic stated that users are ultimately responsible for vetting dependencies.
What happened
What was done
“Anthropic removed user memories from the system prompt as of Claude Code v2.1.50.”
Same developer, same risk, after the fix: LR-2026-0086 · LR-2026-0089 · LR-2026-0578
Risks
Primary50 incidents
Rising: 6 vs 2.8 a week
Read from the sources; not yet reviewed by a person.
Controls
HarnessDid not exist Memory hardening
Control failure chain
L1 · ModelAnthropicModel provider
No source mentions a control at this layer.
Model version not linked to a model card.
L2 · HarnessClaude CodeAgent framework vendor
Other controls for this risk at this layer, not mentioned in the sources: Outside content treated as data, not instructions, Prompt-injection detection, Confirmation after untrusted input, Validation of tool inputs and outputs, Tool allow-list.
L3 · ApplicationDeployer not namedDeployer
No source mentions a control at this layer.
Other controls for this risk at this layer, not mentioned in the sources: Human approval for high-impact actions, Least-privilege access for the agent, Segmentation of agent components, Alerts on unusual tool use.
L4 · Infrastructure / targetOrganisation hit
No source mentions a control at this layer.
EffectiveNot effectiveNot effective (bypassed)Did not existNot stated in sourcesNot yet checkedAttacker's ownOrder: model · harness · application · target
Controls for this risk: result in this incident
| Control | Part of the system | Result |
|---|---|---|
| Memory hardening | L2 Harness | Did not exist |
| Tool allow-list | L2 Harness | Not stated in sources |
| Confirmation after untrusted input | L2 Harness | Not stated in sources |
| Outside content treated as data, not instructions | L2 Harness | Not stated in sources |
| Prompt-injection detection | L2 Harness | Not stated in sources |
| Validation of tool inputs and outputs | L2 Harness | Not stated in sources |
| Least-privilege access for the agent | L3 Application | Not stated in sources |
| Human approval for high-impact actions | L3 Application | Not stated in sources |
| Segmentation of agent components | L3 Application | Not stated in sources |
| Alerts on unusual tool use | L3 Application | Not stated in sources |
Similar incidents
Evidence
No source states: what the AI was doing, what it reached or did, how it was caught, when it happened, when it was found, how many records were exposed, the direct loss, a count of the other parties affected, any court case, the cause, what set it off.
Show the full account: 3 items from the primary sources
What happened, in order
Not dated in the sources:
- Researchers discovered the memory persistence method.
- Researchers reported the findings to Anthropic.
- Anthropic shipped a mitigation in Claude Code v2.1.50 that removes user memories from the system prompt.
Show every field, with its source and grade
The AI system
What happened
Impact
Notes on gaps
Responsibility is not assigned: the post reports Anthropic's position that the user is trusted and responsible for dependencies, which is not adopted as a finding.
LR-2026-0489 · version 1 · published 2026-11-01 after automatic checks; not yet checked field by field by a person · JSON