T02 · Agent Memory Poisoning
- Location
SKILL.md:117- Finding
Persistent Agent Self-Modification Through Untrusted Execution Feedback
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly matches its paper-comparison purpose, but it includes under-scoped persistence/self-modification instructions and a script boundary issue that can read files outside the chosen paper folder through symlinks.
Review before installing. Use this only on trusted paper folders, avoid folders containing symlinks, and expect it to create or update summ.md, paper_summ_state.json, and extracted_text. Do not allow the diary or SKILL.md PR self-evolution steps unless you explicitly want persistent changes to the skill and will review them manually.
SKILL.md:117Persistent Agent Self-Modification Through Untrusted Execution Feedback
scripts/paper_summ.py:68Paper-Folder Boundary Bypass Through Symbolic Links
Referenced artifact was not completely inspected
three executions, refine it into a formal rule and submit a PR to modify this `SKILL.md`.
The skill directs the agent to read and write files and to execute a bundled script, but it declares no explicit tool or permission scope. That creates an authorization ambiguity where an agent may perform filesystem modifications without a clear least-privilege boundary or user-visible consent model.
The self-evolution section instructs the agent to append to diary logs and submit a PR modifying SKILL.md, which exceeds the stated paper-comparison purpose and introduces persistent repository changes. This can be exploited to cause unauthorized self-modification, alter future behavior, or create a covert persistence channel in the repo.
These instructions tell the agent to append to diary files and modify SKILL.md via PRs without any user opt-in, causing persistent changes outside the task's output scope. Such behavior is dangerous because it can mutate repository state, introduce unreviewed prompt changes, and persist data unrelated to the user's immediate request.
The default prompt is broad and underspecified: it tells the agent to use the skill to compare papers in a folder and produce a summary document, but it does not define activation boundaries, file scope limits, or safety constraints for what may be read and synthesized. In an agent setting, ambiguous triggering can cause overbroad data access or unintended invocation on unrelated folder contents, which increases the risk of confidentiality leakage or misuse of adjacent files.
The README states that the final summ.md should preferentially be written in Chinese unless the user requests another language. This imposes a language default on users rather than offering a neutral choice or requiring explicit opt-in, which matches the locale/language policy concern for natural-language instructions.
The skill instructs writing summ.md, state, and extracted text directly into the user's paper folder without clearly warning that existing data may be modified or cluttered. While aligned with the task, silent writes to user directories can still cause accidental overwrites, confusion, or unwanted repository changes.
The instruction 'Prefer Chinese output unless the user asks for another language' creates a default locale/language constraint rather than asking the user for their preference first. The policy allows language constraints when the user is given a choice or explicitly opts in, which is not the case here.
The display name and description are in Chinese while the default prompt is in English, implying a language expectation without documenting user choice or locale handling. This may create an implicit language policy or inconsistent user experience without opt-in.
No suspicious patterns detected.