T08 · Insecure Dependencies
- Location
SKILL.md:26- Finding
Unpinned Third-Party Package Is Downloaded and Executed Automatically
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 26–27
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: MediumComplete Code Snippet:
json "command": "npx", "args": ["-y", "@ryantenney/frinkiac-mcp"]Technical Analysis
The documented MCP configuration invokes
npxwith an unversioned npm package name. Because no exact version is specified, npm can resolve a newer package release each time the command is run. The-yoption automatically accepts the installation prompt, allowing the resolved package to be downloaded and executed without interactive confirmation.This creates a supply-chain risk because the code ultimately executed can change after the skill has been reviewed. Exploitation would require compromise or malicious control of the referenced npm package, its publisher account, or the relevant package-distribution path. The audit did not establish that the package is currently malicious.
Attack Path
- An attacker compromises the npm publisher account, package release process, or another relevant supply-chain component.
- The attacker publishes a malicious version under
@ryantenney/frinkiac-mcp. - A user applies the documented MCP configuration and starts the server.
npx -yresolves and downloads the mutable package version without prompting for approval.- The malicious package executes locally with the permissions of the user running the MCP server.
Impact Assessment
Successful exploitation could permit arbitrary code execution under the MCP server user's account. Depending on that account's privileges and environment, the malicious dependency could access files, environment variables, credentials available to the process, and network resources, or modify data writable by that user. The configuration itself does not request elevated privileges, so the direct impact is bounded by the invoking user's permissions.
- Remediation
View remediation
Remediation Suggestions
- Pin the package to an audited exact version, such as
@ryantenney/frinkiac-mcp@x.y.z, rather than relying on mutable version resolution. - Verify the selected package version, publisher identity, repository, and release provenance before deployment.
- Use a lockfile and npm integrity metadata where the MCP deployment mechanism supports them.
- Prefer installing the reviewed version through a controlled dependency-management process instead of downloading it implicitly at each startup.
- Remove
-ywhere practical so unexpected installation or resolution changes require explicit approval. - Run the MCP server with least privilege, restrict its filesystem and network access, and avoid exposing unnecessary secrets through environment variables.
- Monitor dependency advisories and review upgrades before changing the pinned version.
- Pin the package to an audited exact version, such as
