T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Global npm Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:13
Vulnerability Type: Unpinned third-party dependency installed globally
Risk Level: MediumVulnerable code:
bash # Install npm install -g mmx-cliTechnical Analysis
The Skill instructs users or agents to install
mmx-cliglobally without pinning a reviewed version, validating package integrity, or identifying a trusted registry and publisher. As a result, the code installed when this instruction is followed may differ from the version assessed during the Skill audit.npm packages may execute lifecycle scripts during installation. The global installation scope increases the package's availability and influence beyond a single project. Although the documentation does not itself retrieve or execute a remote script directly, following this command delegates code selection and installation to the current npm registry and its dependency resolution process.
Attack Path
- An attacker compromises the
mmx-clipackage, one of its dependencies, the publisher account, or the registry configuration used by the victim. - The attacker publishes a malicious version or causes the package name to resolve to attacker-controlled content.
- A user or agent follows the Skill prerequisite and runs
npm install -g mmx-cli. - npm downloads the unresolved latest version and may execute its lifecycle scripts.
- Malicious code runs with the permissions of the account performing the installation and remains available through the globally installed command.
Impact Assessment
Successful exploitation could execute arbitrary code with the installing user's privileges. That code could read user-accessible files and credentials, modify user-owned configuration, make network requests, or alter the globally installed CLI. The documentation does not request administrator privileges, so privilege escalation to root is not established; the confirmed scope is th ...[truncated 67 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
mmx-clito a specific version that has been reviewed, such asmmx-cli@x.y.z. - Document the expected npm registry, exact package identity, and trusted publisher.
- Provide a package integrity hash or another verifiable release-signing mechanism where supported.
- Prefer a project-local dependency with a lockfile instead of a global installation.
- Disable lifecycle scripts during installation with
--ignore-scriptsunless the reviewed package explicitly requires them. - Establish a controlled update process that reviews new package versions before changing the documented pin.
- Pin
