T02 · Agent Memory Poisoning
- Location
scripts/scan_repos.py:14- Finding
Untrusted README Content Is Persisted in Agent-Readable Memory
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This GitHub helper is purpose-related, but it needs Review because it persists untrusted repository text into an agent-readable file and asks the agent to modify the skill file for path changes.
Review before installing. Use it only on repository directories you trust, confirm before cloning or updating the knowledge base, avoid letting it edit SKILL.md for configuration, and inspect generated CLAUDE.md content because repository README text may be carried into future agent context.
scripts/scan_repos.py:14Untrusted README Content Is Persisted in Agent-Readable Memory
scripts/update_kb.py:10Knowledge-Base Update Follows Symbolic Links and Unconditionally Truncates the Target
The instruction to 'Update this SKILL.md path if needed' is a self-modification capability, which is dangerous because it allows runtime alteration of the skill's own trusted instructions and configuration. If influenced by a user-supplied path or adversarial context, this can permanently change future behavior, expand accessible locations, or weaken security constraints.
If `/Users/liuchen/Documents/github` does not exist:
1. Ask user for the correct repository root path.
2. Update this SKILL.md path if needed.
3. Initialize knowledge base at the new location.
## Scripts
The skill instructs reading and updating local files, including CLAUDE.md, but does not declare any explicit tool scope or permission boundary. In practice this can lead to overbroad file access and writes beyond the intended repository helper workflow, especially because the skill operates on user-provided paths and maintenance scripts.
The activation text is broad enough to trigger on many ordinary mentions of GitHub, repos, or repositories, which can invoke file and repository-management behaviors unexpectedly. Because the skill can inspect local paths and propose clone/sync operations, unintended activation increases the chance of unnecessary data access or risky actions in the wrong context.
The overview is written in Chinese while the rest of the skill is in English, implying a language constraint without any user opt-in or documented locale justification. This can violate language-choice policy because the skill does not state that responses should match user preference or offer alternatives.
No suspicious patterns detected.