T08 · Insecure Dependencies
- Location
SKILL.md:47- Finding
Unpinned Global npm Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 47–51
Vulnerability Type: Unpinned third-party dependency
Risk Level: MediumVulnerable Code
bash ### 1. Install mcporter npm install -g mcporterThe skill metadata also declares the same dependency without a version constraint:
yaml requires: bins: - mcporter install: - kind: node package: mcporter bins: [mcporter]Technical Analysis
The installation command retrieves the current
mcporterpackage release from npm without specifying an exact reviewed version or verifying its integrity. The metadata declaration likewise omits a version.Consequently, the effective code installed when a user activates the skill can differ from the code available when the skill was audited. npm package installation may execute package lifecycle scripts, while subsequent use executes the installed package with the user's permissions. Global installation also makes the mutable dependency available throughout the user's environment.
This is a supply-chain exposure rather than evidence that the currently published package is malicious. Exploitation requires compromise of the package, its publisher account, or the relevant package-distribution path.
Attack Path
- An attacker compromises the
mcporternpm package, its publisher account, or its distribution path. - The attacker publishes a malicious release under the same package name.
- A user follows the skill instructions and runs
npm install -g mcporter, which resolves the unpinned malicious release. - Malicious code executes through installation lifecycle behavior or when the installed CLI is invoked.
- The code runs with the installing user's privileges and may access that user's files and credentials, including AutoSend OAuth tokens stored at
~/.mcporter/autosend/tokens.json.
Impact Assessment
Successful exploitation could provide arb ...[truncated 530 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
mcporterto a reviewed exact version in both the installation command and skill metadata, for example:bash npm install -g mcporter@<reviewed-exact-version> - Where the skill framework supports it, add an exact version constraint and integrity digest to the dependency declaration.
- Prefer a project-local installation backed by a committed lockfile over global installation.
- Install only from the expected official registry and verify package provenance, publisher identity, signatures or attestations, and integrity metadata.
- Review new dependency versions before updating the pin, including package lifecycle scripts and transitive dependency changes.
- Run the tool with least privilege and restrict access to
~/.mcporter/autosend/tokens.jsonusing appropriate filesystem permissions. Never perform the installation as an elevated user unless explicitly required and independently justified.
- Pin
