T09 · Insecure Skill Coding Practices
- Location
SKILL.md:17- Finding
Session Transcripts Sent to a Third-Party Embedding Provider Without Privacy Safeguards
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17–24
Vulnerability Type: External processing of potentially sensitive session data through an insecure default configuration
Risk Level: MediumVulnerable Code Snippet:
json { "memorySearch": { "enabled": true, "provider": "voyage", "sources": ["memory", "sessions"], "indexMode": "hot", "minScore": 0.3, "maxResults": 20 } }The associated provider documentation at lines 123–129 confirms that Voyage is an API-backed provider:
markdown ### Provider errors? - Voyage: Set `VOYAGE_API_KEY` in environment - OpenAI: Set `OPENAI_API_KEY` in environment - Use `local` provider if no API keys availableTechnical Analysis
The recommended configuration enables real-time indexing of both persistent memory and historical session transcripts while selecting Voyage, an external embedding provider. As a result, transcript content may cross the local trust boundary for embedding generation.
Session transcripts can contain personal information, credentials, authentication tokens, proprietary material, internal decisions, or other confidential data. The Skill does not require explicit consent before enabling remote transcript processing, identify the data transmitted, require secret redaction, limit which sessions are indexed, or establish retention and access-control requirements. Although a local provider is mentioned as an alternative, it is not the recommended privacy-preserving default.
This issue does not grant operating-system privileges or execute arbitrary code. It creates a confidentiality and data-governance risk affecting any content included in the configured
sessionsandmemorysources.Attack Path
- A user copies the recommended configuration into
clawdbot.jsonormoltbot.json. - The memory subsystem enables hot indexing with
sourcesset to bothmemoryand `sessi ...[truncated 1070 chars]
- A user copies the recommended configuration into
- Remediation
View remediation
Remediation Suggestions
-
Use a privacy-preserving default configuration:
json { "memorySearch": { "enabled": true, "provider": "local", "sources": ["memory"], "indexMode": "hot", "minScore": 0.3, "maxResults": 20 } } -
Require explicit, informed opt-in before enabling the
sessionssource with any remote provider. -
Clearly document which data is transmitted, the destination provider, applicable retention behavior, and relevant access controls.
-
Add secret detection and redaction for credentials, tokens, private keys, personal data, and other sensitive values before remote embedding requests.
-
Permit users to select specific sessions, directories, or data classes rather than indexing all available transcript history.
-
Recommend least-retention settings and provide procedures to remove indexed data from both local indexes and remote systems where supported.
-
Warn users not to place credentials or highly sensitive information in indexed memory files or sessions.
-
Retain remote providers as optional configurations for users who have reviewed and accepted the associated privacy and compliance implications.
-
