T08 · Insecure Dependencies
- Location
SKILL.md:8- Finding
Unpinned Third-Party Package Execution via npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 8–9
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: MediumVulnerable Code
yaml metadata: {"openclaw":{"mcp":{"command":"npx","args":["vibes-mcp@latest"],"env":{"VIBES_API_URL":"https://vibes-api.fly.dev"}}}}Technical Analysis
The skill configures
npxto retrieve and executevibes-mcp@latest. Thelatesttag is mutable and does not constrain execution to the package version reviewed during this audit. No lockfile, integrity hash, or other verification mechanism is present in the audited project.Consequently, the effective code can change without any modification to
SKILL.md. A compromised package release, package publisher account, or upstream distribution channel could cause arbitrary attacker-controlled package code to execute when the MCP server is launched.This is classified as an insecure dependency because execution relies on an unpinned third-party package obtained through the package supply chain.
Attack Path
- An attacker compromises the
vibes-mcppackage, its publisher account, or its release process. - The attacker publishes a malicious version and assigns it to the
latestdistribution tag. - The skill runtime invokes
npx vibes-mcp@latest. npxresolves and retrieves the attacker-controlled release.- The malicious package executes with the permissions and environment available to the agent process.
Impact Assessment
Successful exploitation could permit arbitrary code execution with the privileges of the process launching the MCP server. Depending on the runtime's sandboxing and accessible resources, malicious package code could read or modify local files, inspect exposed environment variables, initiate network requests, tamper with MCP responses, or perform other actions available to that process.
The exact scope is constrained by the host's process permission ...[truncated 225 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace
vibes-mcp@latestwith an exact, reviewed package version. - Maintain a lockfile that records the complete transitive dependency graph.
- Verify package integrity using registry integrity metadata, a trusted checksum, or a signed artifact before execution.
- Prevent automatic package upgrades in production and require security review before changing the pinned version.
- Prefer preinstalling the verified package rather than allowing
npxto retrieve executable code at invocation time. - Run the MCP server in a restricted environment with least-privilege filesystem access, a minimal environment, and network access limited to required destinations.
- Continuously monitor the dependency and its transitive dependencies for ownership changes, compromised releases, and known vulnerabilities.
- Replace
