T08 · Insecure Dependencies
- Location
SKILL.md:7- Finding
Unpinned Global Installation of a Third-Party npm Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 7–12 and 18–22
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumVulnerable Code:
yaml requires: bins: ["clawflows"] install: - id: node kind: node package: clawflows bins: ["clawflows"] label: "Install ClawFlows CLI (npm)"bash npm i -g clawflowsTechnical Analysis
The skill directs users to install the latest available version of the third-party
clawflowsnpm package globally. No exact package version, lockfile, checksum, signature, or other integrity constraint is specified. The skill's ownversion: 1.0.0field does not constrain the npm dependency version.npm packages may execute lifecycle scripts during installation. Consequently, an unpinned package release can introduce new executable behavior after this skill has been reviewed. Global installation also makes the command available system-wide for the current environment and may increase the scope of any malicious or defective package behavior.
Attack Path
- An attacker compromises the npm package, its publisher account, or its release process.
- The attacker publishes a malicious version under the existing
clawflowspackage name. - A user follows the documented
npm i -g clawflowsinstruction. - npm retrieves the current package version without enforcing an audited version or digest.
- Malicious package code or an applicable lifecycle script executes with the permissions of the user running npm.
- The globally installed executable remains available for later invocations.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the invoking user's privileges. Accessible files, credentials, environment variables, and network resources would be limited by that user's operating-system permissions. The global installation may also modify shared user-level CLI state. T ...[truncated 85 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to an exact, reviewed npm version rather than installing the latest release.
- Record and verify the package integrity digest through a lockfile or equivalent integrity mechanism.
- Prefer a project-local installation over a global installation when global availability is unnecessary.
- Review the package contents and publisher identity before approving version updates.
- Disable npm lifecycle scripts during installation where the package does not require them.
- Perform dependency updates through a controlled review process with provenance and change verification.
