T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Unpinned Global Installation of a Third-Party CLI
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17–23
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumComplete Code Snippet:
bash # Install using npm npm install -g mcporter # Or install using bun bun install -g mcporterRelated dependency declaration in
package.json, lines 27–29:json "dependencies": { "mcporter": ">=0.7.0" },Technical Analysis
The skill instructs users to install
mcporterglobally without specifying an exact reviewed version or requiring package integrity or provenance verification. The package manifest similarly uses the permissive version range>=0.7.0, which allows any later release to satisfy the dependency.Consequently, the code executed by users can differ from the version originally reviewed. A compromised package publisher account, malicious future release, or upstream package compromise could introduce arbitrary installation-time or runtime behavior. The global installation recommendation increases exposure because the resulting executable is placed in the user's command environment and may be invoked outside this skill.
No lockfile, checksum, cryptographic signature, registry restriction, or package-provenance validation is included. This finding identifies supply-chain risk; the audited files do not establish that the current
mcporterpackage is malicious.Attack Path
- An attacker compromises the upstream package, its publisher account, or its release process.
- The attacker publishes a malicious version later than
0.7.0. - A user follows the documented
npm install -g mcporterorbun install -g mcporterinstruction, or a package manager resolves the>=0.7.0dependency. - The malicious package executes installation hooks or runs when the
mcportercommand is invoked. - It operates with the privileges of the invoking user and can potentially inspect configuration, intercept MCP end ...[truncated 753 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
mcporterto an exact, reviewed version in both installation instructions andpackage.json; avoidlatest,>=, and other broad ranges. - Commit an appropriate lockfile and use deterministic, lockfile-enforcing installation commands.
- Prefer project-local execution over global installation to reduce command-environment exposure.
- Record and verify package integrity metadata, publisher identity, registry origin, and available package provenance or signatures before installation.
- Disable lifecycle scripts during installation where operationally possible, then explicitly review any scripts that are required.
- Perform dependency security and provenance review before upgrading the pinned version.
- Run the CLI with least privilege and avoid elevated installation or execution.
- Document how MCP credentials and endpoint configuration are stored, and restrict their filesystem permissions.
- Pin
