T08 · Insecure Dependencies
- Location
SKILL.md:136- Finding
Unpinned Third-Party MCP Package Is Downloaded and Executed Automatically
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:136-140; duplicated inreferences/listenhub-guide.md:3-7
Vulnerability Type: Supply-chain risk caused by unpinned dependency execution
Risk Level: MediumVulnerable Code
SKILL.md:136-140:bash ### 1. Install MCP Server ```bash npx -y @marswave/listenhub-mcp-servertext `references/listenhub-guide.md:3-7`: ```bash ## Installation ```bash npx -y @marswave/listenhub-mcp-servertext ### Technical Analysis The documented installation command instructs users to run an unversioned third-party npm package through `npx`. Because no exact version is specified, npm resolves the package version from the configured registry at installation time. The `-y` option automatically accepts the installation prompt, reducing the opportunity for the user to inspect the resolved package before execution. An npm package executed through `npx` may run package entry points and lifecycle behavior with the privileges of the account invoking the command. The project does not provide a lockfile, integrity hash, verified artifact, trusted-source policy, or reviewed version for this dependency. Consequently, the code executed during installation can differ from the code available when the Skill was audited. This is particularly relevant because the MCP server is subsequently intended to process user-provided text for text-to-speech operations. A compromised dependency could potentially access that content as well as resources exposed to the local process. ### Attack Path 1. An attacker compromises the npm package, its publisher account, the configured package registry, or a future package release. 2. The attacker publishes a malicious version under `@marswave/listenhub-mcp-server`. 3. A user follows the Skill instructions and runs: ```bash npx -y @marswave/listenhub-mcp-server ``` 4. `npx` resolves and downloads the mutable package ver ...[truncated 1215 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to an exact reviewed version rather than resolving the latest release:
bash npx -y @marswave/listenhub-mcp-server@<reviewed-exact-version> - Record the dependency in a package manifest and commit a lockfile with integrity metadata. Use
npm cior an equivalent reproducible installation mechanism. - Verify package provenance, publisher identity, registry source, signatures, and integrity hashes before execution.
- Remove automatic confirmation where practical and require users or administrators to approve the resolved package and version explicitly.
- Review new package versions before updating the pinned version.
- Run the MCP server in a restricted environment with:
- A dedicated, unprivileged operating-system account.
- Minimal filesystem access.
- No unnecessary environment variables or credentials.
- Restricted outbound network access.
- Resource and process limits.
- Clearly disclose that user-provided text is processed through an external MCP component and avoid sending confidential content unless its handling and retention policies have been verified.
- Update both
SKILL.mdandreferences/listenhub-guide.mdso the duplicated installation instructions consistently use the hardened installation method.
- Pin the dependency to an exact reviewed version rather than resolving the latest release:
