T08 · Insecure Dependencies
- Location
SKILL.md:51- Finding
Unpinned Global Installation of a Third-Party npm Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:51-55; duplicated inreferences/setup.md:26-31
Vulnerability Type: Unpinned and globally installed third-party dependency
Risk Level: MediumVulnerable code from
SKILL.md:bash If you don't have mcporter (OpenClaw's MCP client) installed yet, you can install it with: npm install -g mcporterVulnerable code from
references/setup.md:bash mcporter is OpenClaw's MCP client. If you don't have it installed: npm install -g mcporter Verify: mcporter --versionTechnical Analysis
The setup instructions install the latest version of the
mcporternpm package globally without pinning a reviewed version or verifying package integrity. npm installations can execute package lifecycle scripts with the privileges of the user running npm. Global installation also makes the package available broadly in the user's environment.Because no exact version, integrity hash, trusted publisher verification procedure, or lockfile is provided, the effective code installed by users can change after this skill has been audited. A compromised package release, maintainer account, transitive dependency, or registry response could therefore introduce arbitrary executable behavior.
This finding does not establish that
mcporteris malicious. The vulnerability is the unsafe dependency acquisition pattern documented by the project.Attack Path
- An attacker compromises the npm package, its publisher account, or one of its install-time dependencies.
- The attacker publishes a malicious version under the package name used by the documentation.
- A user follows the documented
npm install -g mcportercommand. - npm retrieves the current package release rather than a specifically reviewed version.
- Malicious lifecycle code executes under the installing user's privileges.
- The malicious package can inspect files, environment variab ...[truncated 826 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
mcporterto an exact, reviewed version rather than installing the latest release:bash npm install -g mcporter@EXACT_REVIEWED_VERSION - Document the expected package publisher, official npm registry URL, and verified package provenance.
- Publish and verify an integrity hash or signed release artifact where supported.
- Review the package and its transitive dependencies before recommending installation.
- Prefer a project-local, lockfile-controlled installation over a global installation where operationally feasible.
- Disable install scripts during acquisition when they are unnecessary, then explicitly review any required lifecycle scripts.
- Add a documented upgrade process so new versions are security-reviewed before changing the recommended pinned version.
- Pin
