T09 · Insecure Skill Coding Practices
Warning
- Location
- SKILL.md:16
- Finding
- Remote Embedding Provider May Process Sensitive Memory and Session Data## Vulnerability Details **File Location**: `SKILL.md`, lines 16–27; related provider and source descriptions at lines 65–82 **Vulnerability Type**: Privacy-sensitive configuration with unsafe remote-provider defaults **Risk Level**: Medium ### Vulnerable Configuration ```json { "memorySearch": { "enabled": true, "provider": "voyage", "sources": ["memory", "sessions"], "indexMode": "hot", "minScore": 0.3, "maxResults": 20 } } ``` The related documentation describes the selected provider and sources as follows: ```markdown ### Provider Options - `voyage` — Voyage AI embeddings (recommended) - `openai` — OpenAI embeddings - `local` — Local embeddings (no API needed) ### Source Options - `memory` — MEMORY.md + memory/*.md files - `sessions` — Past conversation transcripts - `both` — Full context (recommended) ``` ### Technical Analysis The recommended quick-start configuration enables a remote embedding provider while indexing both persistent memory and previous session transcripts. These data sources may contain personal information, confidential project context, credentials pasted into conversations, internal identifiers, or other sensitive material. Processing text with a remote embedding provider ordinarily requires sending the selected content to that provider. The documentation does not warn users about this data flow, require explicit consent before enabling session indexing, recommend reviewing provider retention and privacy policies, or instruct users to redact sensitive data. Although a local provider is mentioned, it is not the recommended privacy-preserving default. This is categorized as `T09: Insecure Skill Coding Practices` because the unsafe configuration guidance can expose sensitive information through insufficiently protected data handling. There is no evidence that the Skill intentionally steals data or that it contains executable malicious code. ...[truncated 1473 chars]
- Remediation
- ## Remediation Suggestions 1. Make `local` the default embedding provider, particularly when indexing session transcripts or persistent memory. 2. Require explicit user opt-in before sending either `memory` or `sessions` content to a remote provider. 3. Add a prominent warning that remote providers receive content required to create embeddings. 4. Recommend excluding session transcripts by default and enabling only the minimum sources required. 5. Instruct users to remove secrets, credentials, regulated data, and unnecessary personal information before indexing. 6. Document how to review provider retention, training-use, regional-processing, deletion, and access-control policies. 7. Provide a privacy-oriented configuration such as: ```json { "memorySearch": { "enabled": true, "provider": "local", "sources": ["memory"], "indexMode": "hot", "minScore": 0.3, "maxResults": 20 } } ``` 8. If a remote provider is necessary, recommend narrowly scoped credentials, source-level filtering, encryption in transit, retention controls, and periodic deletion of obsolete indexed material.
