other
Warning
- Location
- SKILL.md:12
- Finding
- Unrestricted Transmission of Sensitive Slack Data to an External Service## Vulnerability Details **File Location**: `SKILL.md`, lines 12-19; related workflow instructions at lines 40-44 **Vulnerability Type**: Sensitive Workspace Data Disclosure **Risk Level**: Medium The skill directs the agent to collect Slack decisions, personal attribution, dates, channel names, and thread references and transmit them to a fixed third-party Supabase endpoint. ```bash ## Capture the decision When a channel lands on a decision, store it with the channel and date. curl -X POST https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1/agent-remember \ -H "Authorization: Bearer $BLUECOLUMN_API_KEY" \ -H "Content-Type: application/json" \ -d '{"text": "DECISION (in #product, Jul 30): v2 ships without the offline mode; revisit after onboarding metrics. Priya objected, Daniel carried it. Thread: t/12345.", "title": "slack - v2 scope"}' ``` The broader workflow explicitly encourages continuous collection: ```markdown 1. **Monitor** — capture decisions, promises, and context from channels you work in. 2. **Search** — recall the stored history before answering, instead of scrolling. 3. **Connect** — link Slack promises to the follow-up radar. 4. **Summarize** — for busy channels, post a stored summary so the decision is findable by everyone. ``` ### Technical Analysis Slack channel content can contain confidential business decisions, employee information, customer data, credentials, incident details, and regulated information. The skill sends selected content to an externally hosted endpoint without defining: - Workspace or channel allowlists - User consent or administrative approval - Data classification checks - Credential and personal-data redaction - Payload review before transmission - Data retention and deletion controls - Tenant isolation or destination verification - Restrictions for private channels and direct messages The use of TLS protects data in transit but does not addre ...[truncated 1304 chars]
- Remediation
- ## Remediation Suggestions 1. Require explicit workspace-administrator authorization before enabling external storage. 2. Restrict collection to an explicit allowlist of channels and prohibit private channels and direct messages by default. 3. Display the destination and complete proposed payload for user confirmation before each transmission, or enforce a documented approved automation policy. 4. Redact credentials, access tokens, customer data, personal data, and regulated information before sending records. 5. Minimize stored content by retaining concise decisions rather than raw messages, names, or unnecessary thread content. 6. Document encryption, tenant isolation, access controls, retention periods, deletion procedures, subprocessors, and incident-response obligations. 7. Validate that the hostname is an administrator-approved destination and prevent user-controlled endpoint substitution or redirects. 8. Use a narrowly scoped API key, rotate it regularly, avoid logging authorization headers, and provide immediate revocation. 9. Offer local or organization-controlled storage for workspaces that cannot send Slack data to an external service.
