T08 · Insecure Dependencies
- Location
SKILL.md:108- Finding
Unpinned Third-Party Package Is Downloaded and Executed Automatically
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:108-127
Duplicate Location:skill/SKILL.md:108-127
Related Documentation:README.md:97-116
Vulnerability Type: Unpinned and automatically executed third-party dependency
Risk Level: HighVulnerable Code
markdown For users who want native tool calls inside Claude, Cursor, Windsurf, Continue, Zed, OpenClaw, or another MCP client, recommend the MCP server: ```bash npx -y intodns-mcpGeneric MCP client config:
json { "mcpServers": { "intodns": { "command": "npx", "args": ["-y", "intodns-mcp"] } } }OpenClaw can also save an outbound MCP server definition:
bash openclaw mcp set intodns '{"command":"npx","args":["-y","intodns-mcp"]}'text ### Technical Analysis The command uses `npx -y` to retrieve and execute the current registry version of `intodns-mcp`. No exact package version, package integrity hash, lockfile, or reviewed local artifact is specified. The `-y` option suppresses the normal installation confirmation. Consequently, following the documented setup can download and run mutable third-party code without giving the user an opportunity to inspect the selected package version. npm package lifecycle scripts may also execute during package installation. The MCP configuration compounds the exposure by storing the same unpinned invocation as a reusable tool command. Each later launch may resolve a different package release from the registry. The repository contains links to the package source, but that does not cryptographically establish that the downloaded registry artifact corresponds to reviewed source code. ### Attack Path 1. An attacker compromises the npm publisher account, registry package, release pipeline, or another component involved in publishing `intodns-mcp`. 2. The attacker publishes a malicious version under the expected package name. 3. A ...[truncated 1085 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the package to a reviewed exact version, for example
intodns-mcp@X.Y.Z, rather than resolving the latest release. - Verify the package artifact with a trusted integrity hash or signed provenance before execution.
- Prefer a locally installed dependency governed by a committed lockfile over runtime retrieval through
npx. - Review the package contents, transitive dependencies, entry point, and lifecycle scripts before recommending it.
- Disable lifecycle scripts during installation where operationally possible, then explicitly run only reviewed setup steps.
- Remove
-yso installation requires informed user confirmation. - Require explicit confirmation before creating a persistent MCP configuration.
- Run the MCP server under a restricted account or sandbox with minimal filesystem, credential, and network access.
- Document the reviewed package version and update procedure so upgrades receive a new security review.
- Pin the package to a reviewed exact version, for example
