T09 · Insecure Skill Coding Practices
- Location
SKILL.md:154- Finding
Automatic Plaintext Persistence of Potentially Sensitive Information
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a coherent local memory skill, but it stores broad session-derived information automatically and can promote learned content into permanent agent instructions without clear user approval.
Install only if you are comfortable with an agent writing durable local memory. Before using it, require confirmation before saving personal, infrastructure, credential-adjacent, or project-confidential information; keep memory files out of source control; add deletion and review practices; and disable or manually approve any AGENTS.md promotion.
SKILL.md:154Automatic Plaintext Persistence of Potentially Sensitive Information
SKILL.md:193Untrusted Session Content Can Be Promoted into Persistent Agent Instructions
The workflow explicitly instructs the agent to log the session to a daily file after doing work, creating a broad sink for task context that may include sensitive prompts, outputs, decisions, and operational details. Because this skill is designed for cross-session recall, those logs can later leak prior-session context into unrelated tasks or to unauthorized readers of the workspace.
├── [Do work] │ ├── Capture insights → knowledge cards ├── Log session → daily log │ Session End
The README describes a mechanism where repeated lessons are promoted into permanent rules, creating a persistent memory channel that can carry untrusted or poisoned instructions across sessions. In an agent-memory skill, this is materially risky because incorrect, adversarial, or context-specific guidance can become durable behavior without explicit trust validation, causing long-lived prompt injection or policy drift.
- Semantic search finds relevant cards for the current task
- Agent captures lessons, corrections, and facts as new cards
- Periodically distills daily logs into curated cards
- Lessons that repeat 3+ times get promoted to permanent rules
## Production Tested
The core design explicitly retains broad categories of user-provided information, including corrections, preferences, and facts, without meaningful sensitivity filtering or data minimization. In a persistent memory system, this can lead to long-term storage and later reuse of secrets, personal data, or sensitive operational context that should not survive the session.
The skill persistently writes to MEMORY.md, memory/cards/*, and daily logs, but the description does not clearly warn users that conversation-derived information may be retained across sessions. That omission undermines informed consent and increases the chance that users disclose information assuming it is ephemeral.
The session rules direct the agent to write down user instructions and mistakes as durable memory, encouraging storage of conversation-derived content beyond the immediate task. Without limits, this creates a persistent channel for capturing sensitive or manipulative instructions that can influence future sessions.
The automatic capture rules tell the agent to preserve user corrections and non-obvious facts about people, projects, or infrastructure, which are exactly the kinds of details that may contain confidential business information or personal data. Automatic capture makes this more dangerous because it reduces friction and may store sensitive content even when the user did not intend long-term retention.
The manual trigger phrases include natural language like "remember this" and "save this," which can easily occur in ordinary conversation and cause unintended persistent writes. In a memory skill, that ambiguity is risky because it may store sensitive or low-quality data without clear user consent.
Promoting repeated lessons into AGENTS.md as permanent rules creates a persistent context-injection path where conversation-derived or poisoned content can become authoritative future behavior. This is especially risky because once embedded in a high-priority instruction source, the bad rule may override later user intent or safety expectations across sessions.
## Promotion Rules
When the same lesson appears 3+ times in cards:
- Promote it to AGENTS.md as a permanent rule
- Mark the original card as "promoted"
- This prevents the agent from re-learning the same lesson
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
Manual mount: sudo mount /mnt/nas Other shares: smbclient //YOUR_NAS_IP/ -N
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
{"currentPassword":"old","password":"new"}
Also: passwords with ! break curl due to bash history expansion. Fix: printf '{"password":"Foo!"}' | curl -d @-
## Workflow Card
The Human Context card contains prescriptive language preferences such as 'No em dashes. Ever.' and 'Be direct,' which impose a fixed communication style. Under the policy criteria, forcing a specific language/locale or equivalent communication constraint without user opt-in is a natural-language policy concern.