T09 · Insecure Skill Coding Practices
- Location
SKILL.md:48- Finding
Unbounded Plaintext Persistence of Potentially Sensitive Conversation Data
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 48-58
Vulnerability Type: Plaintext sensitive-data storage without filtering or retention controls
Risk Level: MediumRelevant Skill Instructions
The following is an English rendering of the relevant source instructions:
markdown ### 1. Hot Memory (SESSION-STATE.md) Active working memory that survives context compression and restarts. Parameters: current task, key context, pending actions, and recent decisions. Output: a session-level state file that the Agent reads before every response. Follow the WAL protocol: user input triggers a write, and state is written before replying. ### 2. Curated Archive (MEMORY.md + daily/) Human-readable long-term memory. The workspace contains MEMORY.md and memory/YYYY-MM-DD.md daily logs. At the end of a session, important content is migrated from SESSION-STATE.md to MEMORY.md, and a daily log is created or updated. ### 3. WAL Protocol Trigger conditions include when the user expresses a preference, makes a decision, provides a deadline, or corrects the Agent. Write the information to SESSION-STATE.md before replying to the user.Technical Analysis
The Skill broadly directs the Agent to persist user-supplied details in
SESSION-STATE.md, then migrate important content intoMEMORY.mdand dated archive files. These files are explicitly described as human-readable local files.No instruction requires the Agent to:
- Obtain consent before retaining conversation data.
- Detect and reject passwords, API keys, tokens, private keys, personal information, or other secrets.
- Apply restrictive file permissions.
- Encrypt stored memory.
- exclude memory files from source control and backups.
- Expire or delete stored information after a retention period.
- Allow the user to inspect and erase retained information.
Consequently, a user who accidentally includes a secret in a prefe ...[truncated 1545 chars]
- Remediation
View remediation
Remediation Suggestions
- Require explicit user consent before enabling persistent memory.
- Use a structured allowlist of fields that may be retained rather than storing arbitrary free-form conversation text.
- Prohibit storage of passwords, authentication tokens, private keys, recovery codes, financial data, and other sensitive information.
- Apply secret-detection and personal-data filtering before every write.
- Store only concise summaries and redact unnecessary values.
- Apply restrictive file permissions, such as owner-only access where supported.
- Add
SESSION-STATE.md,MEMORY.md, andmemory/to source-control ignore rules by default. - Define a short retention period and provide commands for inspection, correction, and secure deletion.
- Avoid copying data between files unless migration is necessary, and securely remove superseded copies.
- Encrypt memory at rest when it must contain confidential information.
