T09 · Insecure Skill Coding Practices
- Location
SKILL.md:96- Finding
Raw Private Communications Are Persisted Without Defined Security Controls
- Content
View full analysis
--.jsonl` (NOT into the KB's people/orgs — this is training data, filed under raw/). ``` From `SKILL.md:136`: ```markdown - Raw outbound samples (the training data): `kb/raw/style---.jsonl`. ``` From `references/style-learning.md:15`: ```markdown | Email | Sent folder | `gog gmail messages search "from:me" -j --include-body --max 50` + filters | 30-50 messages | ``` ### Technical Analysis The skill retrieves complete outbound message bodies from connected email and messaging services and explicitly persists them as JSONL files. These messages may contain personal information, confidential business discussions, recipient details, contractual information, authentication links, or other sensitive content. The specification does not define: - File permission restrictions. - Encryption at rest. - Redaction or data minimization. - A retention period. - Secure deletion after training. - Isolation from other skills or processes with knowledge-base access. - Handling requirements for credentials, tokens, or sensitive links found inside message bodies. Although the skill includes a consent mechanism for sample collection, consent alone does not protect the resulting files. Persisting complete message bodies indefinitely creates a larger exposure surface than is necessary to generate a writing-style model. ### Attack Path 1. A user grants consent for style learning. 2. The skill invokes a connected service and retrieves outbound messages, including full message bodies. 3. The messages are written to `kb/raw/style---.jsonl`. 4. The ...[truncated 1333 chars]- Remediation
View remediation
