T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:80
- Finding
- Unpinned Global Installation of a Third-Party npm Package## Vulnerability Details **File Location**: `SKILL.md:80` **Vulnerability Type**: Unpinned third-party dependency installed globally **Risk Level**: Medium ### Vulnerable Code ```markdown - MCP server: `npm install -g @636865636b73756d/mcp-v1` ``` ### Technical Analysis The documentation directs users to globally install the mutable latest release of the third-party npm package `@636865636b73756d/mcp-v1`. It does not specify an exact reviewed version, integrity hash, lockfile, provenance verification, or lifecycle-script restrictions. npm packages can execute lifecycle scripts during installation. Consequently, compromise of the package, its publisher account, or its dependency chain could cause attacker-controlled code to execute when a user follows this instruction. The global `-g` installation also creates broader and more persistent system modifications than are necessary to use the separately documented HTTPS API. This finding concerns the unsafe dependency-installation instruction. The audited project does not itself contain the npm package or evidence proving that its current contents are malicious. ### Attack Path 1. An attacker compromises the npm publisher account, package release process, or a transitive dependency. 2. The attacker publishes a malicious release under the package name or introduces a malicious installation hook. 3. A user follows the documented `npm install -g` command. 4. npm resolves the unpinned package to the attacker-controlled release. 5. Malicious lifecycle code executes with the invoking user's privileges. 6. The package may install globally accessible files that remain available after the installation command completes. ### Impact Assessment Successful exploitation could run arbitrary code with the privileges of the account executing npm. Potential effects include reading or modifying files accessible to that account, accessing environment variables or developer credentials, ma ...[truncated 327 chars]
- Remediation
- ## Remediation Suggestions - Replace the mutable package reference with an exact, reviewed version rather than relying on the latest release. - Publish and verify package provenance and integrity information. - Maintain the dependency in a project lockfile where practical. - Prefer a local, least-privilege installation over `npm install -g`. - Disable npm lifecycle scripts with `--ignore-scripts` when they are not required. - Review the package and its transitive dependencies before recommending installation. - Document the authoritative npm publisher, source repository, expected package checksum, and update-review process. - Prefer direct access to the documented HTTPS API when installation of the MCP package is unnecessary.
