T08 · Insecure Dependencies
- Location
SKILL.md:90- Finding
Unpinned Third-Party MCP Installation Enables Mutable Code Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 90-98
Vulnerability Type: Unpinned external dependency and remote code execution
Risk Level: HighVulnerable Code:
bash Install the read-only MCP in OpenClaw: openclaw mcp add image3 \ --command npx \ --arg -y \ --arg github:gpt-img-2/image3-prompt-mcp \ --include 'search_prompts,get_prompt,list_categories,build_prompt_brief' openclaw mcp doctor image3 --probeTechnical Analysis
The Skill instructs users to execute an MCP package directly from a mutable GitHub repository through
npx -y. The dependency is not pinned to an immutable commit, release version, or verified checksum. Consequently, the code executed at installation time may differ from the code that was reviewed during the Skill audit.The
-yargument suppresses package-installation confirmation. Although the documentation describes the MCP as read-only, the installation command itself does not enforce that property. The downloaded package executes with the permissions of the user or Agent process invokingnpx.This behavior is not required for the Skill's primary text-only prompt-authoring functionality. It introduces an executable supply-chain dependency and therefore exceeds the minimum privileges necessary for the core declared function.
Attack Path
- An attacker compromises the referenced GitHub repository, a maintainer account, or its dependency chain.
- The attacker modifies the repository content or dependency metadata while retaining the same repository identifier.
- A user or Agent follows the documented installation command.
npx -yretrieves the current mutable repository content without requiring interactive approval.- The attacker-controlled package executes under the invoking process's local privileges.
- The malicious process can access resources available to that account, subject to host sandboxing and operating-system ...[truncated 535 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the MCP to a reviewed, immutable commit SHA or cryptographically identified release.
- Publish and verify a checksum or signed provenance record before installation.
- Remove automatic
-yexecution so users can review the package and installation source. - Prefer a locally reviewed and vendored dependency where feasible.
- Run the MCP in a restricted sandbox with:
- Read-only filesystem access unless explicitly required.
- No access to unrelated environment variables or credentials.
- A strict outbound-network allowlist.
- Resource and process-execution limits.
- Document the exact permissions, endpoints, and data flows required by the MCP.
- Keep the local text-only workflow as the default and make installation an explicit, informed opt-in.
