T09 · Insecure Skill Coding Practices
- Location
SKILL.md:75- Finding
Persistent Plaintext Storage of Sensitive Personal Profiles
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:75-82;references/file-contracts.md:1-93;references/bootstrap-questionnaire.md:9;references/templates.md:5-161
Vulnerability Type: Persistent plaintext storage of sensitive personal information
Risk Level: MediumVulnerable Code Snippets
SKILL.md:75-82:markdown ### 5. Maintain the user model carefully - Record stable traits, preferences, goals, and repeated patterns in durable files. - Separate stable identity from temporary mood, burnout, overload, or frustration. - For major changes to values, life direction, or self-definition, require repeated confirmation across multiple turns before rewriting stable sections. - When the user rejects your understanding, correct it explicitly and update the model. - Treat repeated behavior and repeated dilemmas as evidence, not just explicit self-description.references/file-contracts.md:1-93:markdown # File Contracts These files form the durable model of the user and should live in the agent workspace. ## Required Files ### `USER.md` Purpose: - Stable facts about the user - Work style, decision style, energy patterns, anti-patterns - Preferences that affect advice quality - Repeated friction patterns and helpful patterns Write here: - repeated stable traits - repeated friction patterns - repeated strengths - collaboration preferences - known constraints - open but important unknowns Do not write here: - one-off moods - transient scheduling details - unconfirmed identity shifts Suggested sections: - Basic facts - Current phase - Stable traits - Repeated strengths - Repeated failure modes - Collaboration preferences - Constraints - Known unknowns ### `IDENTITY.md` Purpose: - The user's higher-level self-model - Values, life view, meaning, and the kind of person they are trying to become - Identity-level anti-goals and de ...[truncated 5198 chars]- Remediation
View remediation
Remediation Suggestions
- Require explicit, informed opt-in before creating any durable profile file. Explain what will be stored, where it will be stored, and how long it will remain.
- Present proposed additions to the user before persistence, particularly for identity, behavioral, health-adjacent, relationship, or private-journal content.
- Apply data minimization: retain concise decision-relevant summaries rather than raw excerpts or complete imported artifacts.
- Explicitly prohibit storage of passwords, API keys, authentication tokens, government identifiers, payment information, medical records, and unnecessary private correspondence.
- Redact direct identifiers and sensitive third-party information before writing durable files.
- Create files with restrictive permissions, such as owner-only read and write access, where the host platform supports it.
- Use encrypted storage or a platform-provided protected memory facility when available.
- Define retention and expiration rules. Remove stale heartbeat items and periodically request confirmation that other personal-profile entries should remain stored.
- Provide clear commands or documented procedures to inspect, correct, export, and permanently delete the complete durable model.
- Warn users before processing journals, resumes, test results, or prior notes that summaries may be persisted.
- Treat all imported artifacts as untrusted data. Never convert instructions embedded in those artifacts into agent rules, decision rules, or durable behavioral directives.
- Document the workspace trust boundary and warn against storing profile files in shared directories or committing them to source-control repositories.
