T08 · Insecure Dependencies
Error
- Location
- SKILL.md:12
- Finding
- Unpinned HyperFrames Package Execution and Mutable Catalog Dependencies## Vulnerability Details **File Location**: `SKILL.md:12`, `SKILL.md:167`, `SKILL.md:489-518` **Vulnerability Type**: Unpinned third-party package execution and mutable supply-chain content **Risk Level**: High ### Vulnerable Code ```text > **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update slideshow`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. ``` ```text - **Search the live catalog before hand-building any named visual.** For every look, effect, chart, treatment or transition a slide needs — "CRT scanlines", "glitch", "bar chart race", "shimmer sweep", "terminal window" — run `npx hyperframes catalog --query "<the visual, in plain English>" --json` and read the top results before you author the slide's clips. The search needs **nothing installed**: no project, no prior `add`, no account. It ranks the whole hosted registry (~400 blocks and components) from any directory. `npx hyperframes add <name>` drops the block's source into the deck, where you customize it in place. ``` ```bash npx hyperframes present <project-dir> npx hyperframes lint npx hyperframes check ``` ### Technical Analysis The Skill repeatedly invokes `npx hyperframes` without specifying an audited package version, lockfile, package digest, or requirement to use an already-installed binary. Depending on the local npm configuration and package availability, `npx` can resolve and execute package code obtained from the configured registry. The mandatory update instruction is particularly sensitive because it asks the Agent to replace the currently reviewed Skill and related domain Skills before relying on them. Consequently, the effective instructions and executable dependency content can differ from the content that underwent this audit. The catalog workflow also retrieves mutable host ...[truncated 1835 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `hyperframes` to a reviewed exact version, for example through a locked project dependency rather than an unqualified `npx` resolution. 2. Use `npx --no-install hyperframes ...` or invoke a verified local binary so the command fails rather than downloading an unexpected package. 3. Commit and enforce an npm lockfile with integrity hashes. 4. Verify package provenance, signatures, and registry integrity before installation or execution. 5. Do not automatically update the Skill before use. Present the proposed version and changes for review, then require explicit approval before replacement. 6. Pin catalog components to immutable versions or content hashes. 7. Review downloaded catalog source before incorporating it into a deliverable. 8. Run package and catalog operations in a sandbox with restricted filesystem access, minimal environment variables, and constrained network access. 9. Separate validation from mutation: lint and check commands should not update Skills, install dependencies, or alter unrelated project files.
