T02 · Agent Memory Poisoning
- Location
SKILL.md:29- Finding
Persistent Instruction Poisoning Through an Unvalidated Anchor Ledger
- Content
View full analysis
- **source**: - **instruction**: - **verbatim**: - **priority**: P0 | P1 | P2 - **scope**: global | session | task: | channel: - **createdAt**: - **expiresAt**: - **status**: active | paused | expired | superseded - **signature**: - **supersedes**: ``` ## Workflow ### 1) Capture - Parse latest user message for candidate anchor statements - Keep only instruction/constraint content; remove examples/chatter - Assign default values: - priority: P1 (unless user says critical/highest -> P0) - scope: session (unless user explicitly asks global/task scope) - expiresAt: session end (unless user explicitly sets never/date) ### 2) Confirm for Broad Anchors - If scope is `global` or priority is `P0`, ask a one-line confirmation before persisting - Do not auto-promote P2/P1 to P0 without explicit user intent ### 3) Persist - Append anchor entry to ledger - If new anchor conflicts with old same-scope anchor, mark old one `superseded` - Never rewrite history silently; keep audit trail ### 4) Rehydrate (each turn and after compaction) - Load active anchors (status=active and not expired) - Build an in-memory `ANCHOR_SET` sorted by priority and recency - Inject `ANCHOR_SET` into planning phase before tool execution ``` ### Technical Analysis The skill directs the agent to extract user-controlled instructi ...[truncated 2980 chars]- Remediation
View remediation
