T08 · Insecure Dependencies
Error
- Location
- Skill.MD:10
- Finding
- Unverified Third-Party MCP Dependency and Credential Intermediary## Vulnerability Details **File Location**: `Skill.MD`, lines 10-14 and 23-28 **Vulnerability Type**: Third-party supply-chain and credential-handling risk **Risk Level**: High ### Vulnerable Code Snippet ```yaml compatibility: tools: - zuckerbot MCP server (npm: zuckerbot-mcp@0.2.7) auth: - Facebook OAuth (via zuckerbot.ai developer page) - ZuckerBot API key (generated post-OAuth) ``` ```markdown Before any tool can be called, the user must: 1. Connect their Facebook account at **zuckerbot.ai** (OAuth flow) 2. Generate an API key from the developer page 3. Provide the API key — ZuckerBot stores credentials, so this is a one-time step per session If the user hasn't authenticated yet, prompt them to visit zuckerbot.ai before proceeding. ``` ### Technical Analysis The Skill delegates privileged Meta advertising operations to the external `zuckerbot.ai` service and the npm package `zuckerbot-mcp@0.2.7`. Pinning a package version reduces unexpected version drift, but the documentation does not provide a package integrity hash, verified publisher identity, official source repository, lockfile, reproducible installation procedure, or other mechanism for detecting package substitution. The external service also acts as an authentication intermediary. Users are instructed to connect their Facebook account through its OAuth flow, generate an API key, and provide that key to MCP operations. The statement that ZuckerBot stores credentials is not accompanied by information about OAuth scopes, encryption, retention, revocation, logging, or access-control boundaries. This dependency and intermediary are relevant to the declared advertising functionality, so external access is not inherently unauthorized. However, the documented controls are insufficient for a component capable of managing campaigns and spending. ### Attack Path 1. A user follows the Skill's instructions and visits `zuckerbot.ai`. 2. ...[truncated 1033 chars]
- Remediation
- ## Remediation Suggestions - Identify and verify the official npm publisher, source repository, and service operator. - Provide a cryptographic integrity hash or lockfile for the MCP package and use reproducible installation procedures. - Document every requested Meta OAuth scope and justify it against the operations offered by the Skill. - Request only minimum necessary permissions and avoid account-wide or administrative access where campaign-specific access is sufficient. - Document credential encryption, storage location, retention, log-redaction, rotation, deletion, and incident-response practices. - Provide clear procedures for revoking both the ZuckerBot API key and Meta OAuth authorization. - Require TLS certificate validation for all service traffic and fail closed on authentication or integrity errors. - Subject dependency updates and backend changes to security review before deployment.
