T08 · Insecure Dependencies
- Location
SKILL.md:23- Finding
Unpinned Global npm Package Installation Creates Supply-Chain Exposure
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 8 and 23-26
Vulnerability Type: Unpinned third-party dependency installed globally
Risk Level: MediumVulnerable Code
yaml install: npm install -g metrillmbash npm install -g metrillmTechnical Analysis
The Skill instructs users to install the latest available version of the
metrillmnpm package globally. It does not pin a reviewed version, specify an integrity hash, use a lockfile, or require package provenance verification.Because npm packages may run lifecycle scripts during installation, a compromised package release, compromised maintainer account, or maliciously replaced package could execute code with the permissions of the user running npm. The global installation also places the
metrillmexecutable in a shared command path, increasing the scope and duration of a compromised installation.The package name is consistent throughout the document, so there is no direct evidence of typosquatting or intentional malicious behavior. The vulnerability is the unsafe, unpinned dependency acquisition process.
Attack Path
- An attacker compromises the referenced npm package, its publisher account, or a future package release.
- A user follows the Skill instructions and runs
npm install -g metrillm. - npm retrieves the current package version without enforcing a reviewed version or integrity value.
- Malicious package lifecycle code can execute during installation with the invoking user's privileges.
- A malicious global
metrillmexecutable can remain available and execute again during subsequent benchmark commands.
Impact Assessment
A compromised dependency could read or modify files accessible to the invoking user, access environment variables and user-level credentials, execute arbitrary processes, and install a malicious global CLI. If the installation is run with elevated privileges, the impact c ...[truncated 197 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a specific reviewed version, for example:
bash npm install -g metrillm@<reviewed-version> - Document the expected package publisher, registry, version, and integrity or provenance information.
- Verify npm package provenance and published checksums before installation.
- Prefer a project-local dependency with a committed lockfile instead of a global installation.
- Disable lifecycle scripts when they are not required:
bash npm install --ignore-scripts metrillm@<reviewed-version> - Explicitly warn users not to run the installation with
sudoor an administrator account. - Periodically review the pinned package version before updating it.
- Pin the dependency to a specific reviewed version, for example:
