T09 · Insecure Skill Coding Practices
- Location
references/starter-patterns.md:9- Finding
Unfiltered User Data May Be Persisted in Agent Memory
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent agent-reliability toolkit, but some recommended memory and self-improvement patterns can persist sensitive user content and promote future agent rules without enough review controls.
Review this skill carefully before installing. The audit script appears low risk, but do not adopt the WAL or auto-promotion patterns as written in a real workspace. Require explicit user approval before retaining personal or sensitive information, redact secrets and private links, set retention/deletion rules, and make all SOUL.md or AGENTS.md changes human-reviewed rather than automatic.
references/starter-patterns.md:9Unfiltered User Data May Be Persisted in Agent Memory
references/advanced-patterns.md:154User-Influenced Learnings Can Be Promoted into Persistent Agent Instructions
Code or instructions that leak agent conversation context to external services, potentially exposing sensitive user interactions.
When context is getting long:
Suggested thresholds:
The skill description uses broad activation language such as "my agent is unreliable" and "how do I make this more robust," which can match many ordinary conversations and cause the skill to be invoked outside a clearly scoped hardening context. In agent systems that auto-select skills from descriptions, this can lead to over-triggering, unnecessary workflow changes, or accidental insertion of prescriptive operational behavior into unrelated tasks.
The pattern explicitly instructs the agent to auto-promote repeated learnings into persistent files like SOUL.md/AGENTS.md as permanent rules. That creates a persistent context injection path: if bad, low-quality, or adversarially induced 'learnings' are logged often enough, they can become long-lived instructions that influence future behavior beyond the original task. In a reliability-focused agent skill, this is more dangerous because the mechanism is presented as a normal hardening practice and may be broadly adopted without strong trust or review controls.
Auto-Promotion Rule: 3+ occurrences across 2+ tasks in 30 days → promote to SOUL.md/AGENTS.md as permanent rule.
Recommended logging destinations:
The WAL guidance instructs the agent to write to memory whenever a message contains broad categories like proper nouns, preferences, decisions, or exact values, without requiring relevance, consent, sensitivity checks, or data-minimization constraints. In a production hardening skill, this can normalize over-collection and persistence of user data, causing privacy leakage, retention of secrets, or unintended cross-task influence if the memory store is later reused.
The embedded prompt strengthens the risky behavior by using absolute activation language: 'When the human's message contains ANY of these, WRITE to daily memory BEFORE responding.' That wording removes operator judgment and encourages automatic storage of potentially sensitive content simply because it matches a category, which is especially dangerous in a reusable skill intended for broad deployment across agent frameworks.
No suspicious patterns detected.