T08 · Insecure Dependencies
- Location
SKILL.md:239- Finding
Unpinned and Unverified Third-Party Plugin Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:239-252; additional affected installation flow inreferences/plugin-connect.md:134-145
Vulnerability Type: T08: Insecure Dependencies
Risk Level: HighVulnerable Code
SKILL.md:239-252:markdown | Plugin | Install | |--------|---------| | Gmail / Outlook / IMAP | `marlinjai/email-mcp` | | Google Calendar | `nspady/google-calendar-mcp` | | Twitter / X | `nirholas/XActions` | | Bluesky | `brianellin/bsky-mcp-server` | | Instagram | `mcpware/instagram-mcp` | | WhatsApp | `jlucaso1/whatsapp-mcp-ts` | | Telegram | `chigwell/telegram-mcp` | | Slack | `korotovsky/slack-mcp-server` | | Discord | `SaseQ/discord-mcp` | | Reddit | `Arindam200/reddit-mcp` | | iMessage / SMS (macOS) | `carterlasalle/mac_messages_mcp` | | Facebook Pages | `HagaiHen/facebook-mcp-server` | | Mastodon | build on API | | Signal | build on `AsamK/signal-cli` |references/plugin-connect.md:134-145:markdown ## Step 5: Additional channels (optional) "Want to reach people on more channels? Each one makes campaigns more effective." | Channel | Method | Notes | |---------|--------|-------| | LinkedIn | `openclaw plugins install arun-8687/linkedin-cli` | Connection requests, InMails, DMs | | Slack | MCP UUID `597f662f-36de-437e-836e-5a81013cbfbe` | Team DMs, internal notifications | | WhatsApp | Community MCP (self-hosted) | Guide install | | Calendly | MCP UUID `d778b2f9-25f4-42a2-87ab-dbaa896deb1b` | Scheduling link generation | | Twitter/X | ClawHub | Public engagement (follow/like/comment) | For each selected channel, the agent executes install + auth directly.Technical Analysis
The skill instructs the agent to install and authenticate multiple third-party community plugins directly. The dependency references do not specify immutable versions, release digests, commit hashes, cryptographic signatures, or an audited package m ...[truncated 2237 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace mutable repository identifiers with an audited allowlist of immutable package versions or commit hashes.
- Verify cryptographic signatures or publisher-provided checksums before installation.
- Maintain a lockfile or signed manifest recording the exact approved source, version, digest, runtime, and permissions for every plugin.
- Require explicit user approval after presenting the plugin publisher, immutable version, requested scopes, and security implications.
- Review plugin source code and transitive dependencies before adding an integration to the allowlist.
- Run each plugin in a restricted sandbox with narrowly scoped filesystem, network, process, and environment-variable access.
- Issue separate least-privilege credentials for each integration and request only the OAuth scopes needed for the selected feature.
- Prevent plugins from reading unrelated service tokens, OpenClaw memory, or knowledge-base content.
- Revalidate signatures and hashes during upgrades rather than automatically installing the newest release.
- Document an incident-response process for revoking tokens and removing compromised plugins.
