T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:13
- Finding
- Unpinned npm Package Execution Through npx## Vulnerability Details **File Location**: `SKILL.md`, lines 13-19 **Vulnerability Type**: Supply-chain exposure caused by executing an unpinned package **Risk Level**: Medium **Vulnerable Code Snippet**: ```markdown Before relying on this workflow, run: ```bash npx hyperframes skills update general-video ``` A successful no-op means the skill is current. Surface an update failure instead of continuing from memory. ``` Additional unpinned `npx hyperframes` commands appear at `SKILL.md:35-37`, `SKILL.md:98`, `SKILL.md:117-118`, and `SKILL.md:140`. ### Technical Analysis The Skill requires users or agents to execute `hyperframes` through `npx` without specifying an exact package version, verifying package integrity, or requiring an already-installed local binary. Depending on the npm and `npx` configuration, if the package is not available locally, `npx` can download and execute the current registry version. This creates a supply-chain trust boundary that extends beyond the audited project. The effective executable can change after this Skill has been reviewed. A compromised package publisher account, malicious package release, registry compromise, or dependency-chain compromise could therefore introduce arbitrary executable code. The update command is particularly significant because it is presented as a prerequisite that must run before relying on the workflow. Other commands for project initialization, catalog access, linting, and validation repeat the same unpinned execution pattern. ### Attack Path 1. An attacker compromises the `hyperframes` package, one of its executable dependencies, or the package publisher account. 2. The attacker publishes a malicious version that retains the expected CLI interface. 3. A user or agent loads this Skill and follows its mandatory update instruction. 4. `npx hyperframes skills update general-video` resolves the mutable package version from the configured npm registry whe ...[truncated 937 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `hyperframes` to an audited exact version rather than resolving a mutable release: ```bash npx --yes hyperframes@X.Y.Z skills update general-video ``` 2. Prefer installing the dependency through a committed lockfile and invoking the verified local binary: ```bash npx --no-install hyperframes skills update general-video ``` 3. Enforce package integrity through npm lockfile integrity metadata, a controlled registry, or an internal artifact repository. 4. Disable or review dependency lifecycle scripts where operationally feasible. 5. Apply the same pinning and local-only execution policy to every `npx hyperframes` command in `SKILL.md`. 6. Run the CLI in a sandbox with access restricted to the target project and only the network destinations required for the declared workflow. 7. Document the expected package name, exact approved version, publisher, and integrity digest so package substitution or dependency confusion can be detected.
