T08 · Insecure Dependencies
- Location
SKILL.md:58- Finding
Unpinned npm Package Downloaded and Executed at Runtime
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 58–59 and 87
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable code:
json "command": "npx", "args": ["-y", "@nutrient-sdk/dws-mcp-server"],text - MCP server mode (`npx @nutrient-sdk/dws-mcp-server`) downloads the official Nutrient MCP server package from npm at runtime.Technical Analysis
The recommended MCP configuration invokes
npx -ywithout specifying an exact package version or verifying package integrity. Each installation can therefore download and execute whichever package release currently resolves under the@nutrient-sdk/dws-mcp-servername.The artifact does not contain a lockfile, integrity hash, vendored implementation, or exact version constraint that would make dependency resolution reproducible. Although the package is described as official, a compromised npm publisher account, malicious upstream release, or other supply-chain incident could change the code executed after this skill has been reviewed.
The
-yoption automatically accepts the installation, reducing the opportunity for users to inspect the resolved version before execution.Attack Path
- An attacker compromises the upstream npm publisher account, package distribution process, or a future package release.
- The attacker publishes a malicious version under
@nutrient-sdk/dws-mcp-server. - A user starts the MCP server using the documented
npx -yconfiguration. - npm resolves and downloads the mutable package version without an exact version or integrity pin.
- The malicious package executes locally with the privileges of the user running the MCP client.
- The package may access inherited environment variables, including
NUTRIENT_DWS_API_KEY, and files available through the configured sandbox or process permissions.
Impact Assessment
Successful exploitation could result in arbitrary c ...[truncated 668 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to an exact reviewed version, such as:
json "args": ["-y", "@nutrient-sdk/dws-mcp-server@X.Y.Z"] - Use a lockfile and npm integrity metadata where the MCP client deployment model permits it.
- Prefer installing the dependency through a controlled build process rather than downloading it whenever the MCP server starts.
- Verify package provenance, signatures, and integrity before installation.
- Upgrade only through a documented review process that examines dependency changes before deployment.
- Avoid automatic installation acceptance where practical, or validate the resolved package version before execution.
- Configure
SANDBOX_PATHto the narrowest directory required for the current task. - Provide the MCP process only the required API key and avoid exposing unrelated credentials through inherited environment variables.
- Run the MCP server under a dedicated, least-privileged operating-system account or isolated container.
- Monitor npm advisories and upstream repository releases for package compromise or unexpected ownership changes.
- Pin the dependency to an exact reviewed version, such as:
