T09 · Insecure Skill Coding Practices
- Location
setup.md:58- Finding
Plaintext Persistent Memory May Contain Sensitive Personal Information
- Content
View full analysis
Vulnerability Details
File Location:
setup.md:58-65; related behavior inmemory-template.md:17-23, 53andSKILL.md:116-120
Vulnerability Type: Plaintext storage of sensitive personal information
Risk Level: MediumEvidence
markdown Keep `~/new-york/memory.md` lightweight and useful: - activation preference for New York topics - current mode and target region - major deadlines, open loops, and dependencies - persistent family, school, housing, transit, and weather constraints - which official portals or local agencies already matter for this user Do not store credentials, account numbers, SSNs, full street addresses, immigration-status details, or payment details unless the user explicitly asks for that behavior.The memory template also permits the collection of personal context:
markdown ## Current Situation - Mode: visitor / moving / resident / business - Main region: - City or suburb: - County / ZIP / district if known: ## Constraints - Timeline: - Budget pressure: - Family or school needs: - Vehicle, transit, and commute realities: - Winter, flood, insurance, or health sensitivities:It further states:
markdown - Keep the default memory coarse. Do not store full street addresses or sensitive identifiers unless the user explicitly asks for saved continuity at that level.Technical Analysis
The Skill uses
~/new-york/memory.mdas persistent cross-session storage. This is an ordinary Markdown file, and the reviewed instructions do not require encryption, restrictive file permissions, retention limits, or secure deletion.Although the default behavior encourages coarse data collection,
setup.md:65andmemory-template.md:53create an exception that permits storage of credentials, account numbers, Social Security numbers, full addresses, immigration details, payment details, or other sensitive identifiers when requested by the user. ...[truncated 2159 chars]- Remediation
View remediation
Remediation Suggestions
- Remove the exception that permits sensitive data storage upon user request.
- Unconditionally prohibit storage of credentials, authentication tokens, Social Security numbers, account numbers, payment data, immigration records, full street addresses, and detailed medical information.
- Restrict persistent memory to coarse, low-sensitivity planning context such as region, broad timeline, and general transportation preferences.
- Make
setup.md,memory-template.md, andSKILL.mdconsistent about prohibited data. - Require restrictive permissions for the memory directory and file, such as user-only access where the host platform supports it.
- Define retention and deletion controls, including a user-facing mechanism to inspect, edit, pause, or erase stored memory.
- Warn users that local plaintext memory may be included in backups or synchronization systems.
- If sensitive continuity is an essential feature, use an approved encrypted secret or data store rather than Markdown.
