T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:9
- Finding
- Unpinned and Unverifiable Executable npm Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 9–13 **Vulnerability Type**: Supply-chain risk from an unpinned executable dependency **Risk Level**: Medium **Complete Code Snippet**: ```yaml install: - kind: node package: youtube-skillforge bins: [skillforge] label: "Install SkillForge CLI (npm)" ``` ### Technical Analysis The installation metadata instructs the host to install the executable npm package `youtube-skillforge` without specifying an exact version or an integrity hash. Consequently, future installations may resolve to package contents that differ from those reviewed when this Skill was published. The dependency's implementation is not included in the audited project. Its source code, npm lifecycle scripts, transitive dependencies, and runtime behavior therefore could not be verified against the documentation in `SKILL.md`. In particular, claims concerning user consent, filesystem boundaries, credential handling, network behavior, and stdio-only MCP transport cannot be confirmed from the supplied artifact. This creates a supply-chain trust boundary in which the effective executable payload is controlled by the package registry release available at installation time. Exploitation would require compromise or malicious control of the package, its publisher account, registry resolution, or a transitive dependency; the audit does not establish that such compromise has occurred. ### Attack Path 1. An attacker compromises the `youtube-skillforge` publisher, package, release process, registry entry, or a dependency included in a subsequently resolved release. 2. The attacker publishes a modified package version containing a malicious npm lifecycle script or CLI implementation. 3. Because the Skill declares no exact version or integrity constraint, a host installs the attacker-controlled release. 4. A lifecycle script may execute during installation, or the malicious code executes wh ...[truncated 906 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `youtube-skillforge` to a reviewed, exact version rather than allowing unconstrained registry resolution. 2. Record and verify the package's integrity hash through a lockfile or equivalent trusted installation metadata. 3. Include the executable source code and lockfile in the reviewed project, or publish a verifiable link between the Skill version, source commit, and package artifact. 4. Audit npm lifecycle scripts and the complete transitive dependency tree before distribution. 5. Disable npm lifecycle scripts during installation where they are unnecessary, and document any scripts that are strictly required. 6. Verify and document the expected npm registry, package scope, and publisher identity to reduce dependency-confusion and account-takeover risk. 7. Execute installation and the CLI with least privilege, preferably in a sandbox that restricts filesystem, credential, and network access. 8. Use automated dependency monitoring, provenance verification, and repeatable release procedures so changes to the installed payload require renewed review.
