T08 · Insecure Dependencies
- Location
SKILL.md:8- Finding
Unpinned npm Dependency Permits Unreviewed Supply-Chain Changes
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 8
Vulnerability Type: Unpinned third-party npm dependency
Risk Level: MediumVulnerable Code Snippet:
json "install": [{"id": "node", "kind": "node", "package": "mcporter", "bins": ["mcporter"], "label": "Install mcporter (npm)"}],Technical Analysis
The installation declaration references the npm package
mcporterwithout specifying an exact version or an integrity hash. Consequently, installation can resolve to whichever package release the configured npm registry serves at that time, rather than to a version that was reviewed with this Skill.If the package publisher, publisher account, or registry delivery path is compromised, a malicious package release could be installed without any modification to the audited
SKILL.md. The effective executable behavior may therefore change after review. The audit found no evidence that the current package is malicious; the vulnerability is the absence of controls that ensure a stable and verified dependency.Attack Path
- An attacker compromises the
mcporterpublisher account, gains control of the package, or compromises the dependency delivery path. - The attacker publishes a malicious release under the expected package name.
- A user installs this Skill's required dependency after the malicious release becomes the version selected by npm.
- The unpinned declaration resolves and installs the attacker-controlled release.
- Malicious code may execute during an npm lifecycle script or when the Agent subsequently invokes
mcporter. - The payload operates with the permissions of the user or Agent process that performed the installation or command invocation.
Impact Assessment
Successful exploitation could execute arbitrary code under the installing user's privileges. Depending on the host environment and available permissions, this could expose Agent-accessible files, environm ...[truncated 408 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
mcporterto a reviewed, exact version rather than allowing floating resolution. - Record and verify the package integrity digest through an npm lockfile or an equivalent integrity-verification mechanism.
- Configure installation to use an explicitly trusted npm registry and document the expected package publisher.
- Disable npm lifecycle scripts during installation when they are not required; otherwise, review all lifecycle scripts before approving an update.
- Perform dependency updates through a controlled review process that checks package provenance, release changes, transitive dependencies, and published artifacts.
- Run installation and subsequent tool execution in a least-privileged sandbox with restricted filesystem, credential, and network access.
- Document the reviewed package version and integrity value directly in the Skill's installation metadata or associated deployment configuration.
- Pin
