T09 · Insecure Skill Coding Practices
Warning
- Location
- SKILL.md:24
- Finding
- Unbounded Sensitive Data Collection and External Delivery## Vulnerability Details **File Location**: `SKILL.md`, lines 24–25 and 34–37 **Vulnerability Type**: Sensitive information exposure through insufficiently scoped collection and external transmission **Risk Level**: Medium **Vulnerable Code Snippet**: ```md 2. **Collect data** - Read `memory/YYYY-MM-DD.md` (today's journal) - Read conversation logs, task status (optional) 5. **Send notification** - Iterate through configured `channels` - Call corresponding message API per channel type - Supports parallel multi-channel delivery ``` ### Technical Analysis The skill instructs the agent to collect information from a daily journal and optionally from conversation logs and task records, then transmit the generated report through third-party messaging channels. It does not define boundaries for conversation-log collection, data minimization rules, secret detection, personal-data redaction, recipient verification, or a mandatory review step before transmission. Conversation logs and workspace memory can contain credentials, access tokens, private messages, internal project information, or personal data. Without explicit filtering and approval controls, such information may be reproduced in a generated report and sent outside the local workspace. This is an insecure workflow design rather than evidence of intentional data theft. Exploitation depends on sensitive content being present in the collected sources and subsequently included by the report-generation process. ### Attack Path 1. Sensitive information is written to the current journal, conversation history, or task records. 2. The daily-report workflow reads those sources. 3. The report generator summarizes or copies the sensitive information into the report. 4. The workflow iterates over the configured external messaging channels. 5. The generated report is transmitted without a required redacted preview or explicit approval. 6. A configured th ...[truncated 621 chars]
- Remediation
- ## Remediation Suggestions - Default collection to the current daily journal only. - Require explicit user authorization before accessing conversation logs or task records. - Define precise source, date, conversation, and field boundaries for every collection operation. - Scan generated content for credentials, tokens, private keys, personal data, and other sensitive material. - Redact or omit detected sensitive information before saving or transmitting the report. - Display a redacted report preview and the exact channel and recipient before external delivery. - Require explicit confirmation for each delivery unless the destination and disclosure policy were previously approved. - Apply channel-specific access controls and maintain an audit record of the sources read, redactions performed, and destinations used.
