T08 · Insecure Dependencies
- Location
- SKILL.md:14
- Finding
- Unpinned npm Package Execution Through npx<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:14` and repeated throughout the command examples **Vulnerability Type**: Unpinned third-party package execution **Risk Level**: High ### Vulnerable Code ```markdown Run commands as `npx hyperframes ...` unless project instructions provide a wrapper. Obey the wrapper when present. The CLI requires Node.js 22 or newer and FFmpeg. ``` Representative commands from `SKILL.md:44-49`: ```bash npx hyperframes lint npx hyperframes check npx hyperframes preview --background npx hyperframes render --quality high --output out.mp4 test -s out.mp4 ffprobe -v error -show_format out.mp4 ``` The same unpinned invocation pattern is used throughout every reference file. ### Technical Analysis The Skill instructs the Agent to execute `npx hyperframes` without an exact package version, lockfile requirement, or integrity constraint. When no suitable local package is available, `npx` may resolve and download the current package published under that name. Consequently, the code executed at Skill runtime is not necessarily the code that existed when this Skill was reviewed. A compromised npm publisher account, malicious newly published release, or registry-level supply-chain incident could replace the effective implementation while the audited Markdown remains unchanged. This is particularly significant because the CLI is used for commands that read projects, launch browsers, access cloud credentials, upload files, and deploy cloud infrastructure. ### Attack Path 1. An attacker compromises the npm package publisher, publication workflow, or another relevant supply-chain component. 2. The attacker publishes a malicious release under the `hyperframes` package name. 3. An Agent follows the Skill and runs an unpinned `npx hyperframes` command. 4. `npx` resolves or downloads the attacker-controlled release. 5. Package lifecycle code or command-entry code executes with the permissions of the Agent process. 6. The mali ...[truncated 749 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin all executions to an audited exact version, for example: ```bash npx --yes hyperframes@1.2.3 ... ``` 2. Prefer installing the dependency in a project controlled by a committed lockfile and invoking the local binary: ```bash npm ci npx --no-install hyperframes ... ``` 3. Verify package integrity through lockfile integrity hashes and a trusted registry. 4. Disable npm lifecycle scripts during installation where compatible with the package: ```bash npm ci --ignore-scripts ``` 5. Review and approve upgrades before changing the pinned version. 6. Document the expected package scope, publisher, version, and checksum so similarly named or substituted packages cannot be accepted silently. ]]>
