Back to skill

Security audit

Slack Integration

Security checks for vulnerabilities and agentic risk

Overview

This Slack skill is a coherent integration, but it gives an agent broad Slack posting, search, user lookup, and file-upload abilities without enough confirmation and privacy guardrails.

Review this before installing in a real workspace. Grant only the Slack scopes you need, avoid broad search/read scopes unless necessary, require explicit confirmation before posting, deleting, searching, or uploading files, and treat all bot tokens as secrets that must not be pasted into prompts, logs, screenshots, or shared docs.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

Ssd 3

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The examples expose personally identifiable information such as names, email addresses, job titles, timezones, and Slack user IDs, while the setup section includes credential-like secrets. In a messaging/search skill, this is more dangerous because the documented outputs normalize returning sensitive workspace data verbatim and can lead to overexposure of internal identities, message metadata, and secrets.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill advertises sensitive capabilities without prominent warnings that they may expose workspace metadata, personal information, message contents, or local files to Slack. Users may invoke these operations without understanding the privacy and data-handling consequences, especially because the skill can act on local file paths and search internal communications.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The description states 'All in English,' which imposes a language constraint as a policy decision rather than offering a choice. The document does not explain a justified regional requirement or provide an opt-in mechanism for language selection.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger model allows any 'reasonable paraphrase' to invoke capabilities, including privacy- and action-impacting operations like message search, user lookup, file upload, and message posting. Broad activation increases the risk of unintended execution from ambiguous prompts or prompt injection routed through natural-language interpretation.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 201)May include surrounding context.

md
You must create a Slack App with a Bot Token before using this skill.

1. Go to **https://api.slack.com/apps** and click **Create New App** → **From scratch**.
2. Give the app a name (e.g., "OpenClaw Integration"), pick your workspace, and click **Create App**.
3. Under **Features**, click **OAuth & Permissions** in the left sidebar.
4. Scroll to **Bot Token Scopes** and add these scopes depending on which capabilities you need:

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 394)May include surrounding context.

md
You must create a Slack App with a Bot Token before using this skill.

1. Go to **https://api.slack.com/apps** and click **Create New App** → **From scratch**.
2. Give the app a name (e.g., "OpenClaw Integration"), pick your workspace, and click **Create App**.
3. Under **Features**, click **OAuth & Permissions** in the left sidebar.
4. Scroll to **Bot Token Scopes** and add these scopes depending on which capabilities you need:

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

The skill is explicitly designed to transmit data to Slack's external API, including message content and authorization credentials. External transmission is expected for this integration, but it remains security-relevant because user prompts, local file contents, and workspace data may leave the local environment and be disclosed to a third-party service.

Content

Scanner excerpt · SKILL.md (reported line 247)May include surrounding context.

bash
# Always include the Authorization header with the Bot Token
curl -s -X POST 'https://slack.com/api/chat.postMessage' \
  -H 'Authorization: Bearer xoxb-your-token' \
  -H 'Content-Type: application/json; charset=utf-8' \
  -d '{

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · SKILL.md (reported line 392)May include surrounding context.

md
### Step-by-Step Setup

**Step 1: Create a Slack App**

1. Go to https://api.slack.com/apps and click **Create New App**
2. Select **From scratch** (not "From an app manifest")

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The installation example includes realistic-looking Slack bot credentials and a signing secret in plaintext. Even if illustrative, publishing credential-shaped values normalizes unsafe handling, risks accidental reuse, and can lead operators to expose secrets in docs, prompts, screenshots, or logs.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The capabilities section says the skill 'performs only the capability requested; it never combines unrelated operations,' yet multiple documented behaviors require auxiliary actions such as validating a channel, looking up a user by email, or resolving IDs before sending or scheduling messages. Those helper operations are part of the actual workflow, so the statement is stricter than what the rest of the document describes.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The installation guide shows realistic secret values without an explicit admonition that they are examples only and must never be shared. This encourages unsafe credential practices and increases the chance of secrets being copied into insecure places or mistaken for valid defaults.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.