T08 · Insecure Dependencies
- Location
videos/powermatrix-geo-not-volume/README.md:19- Finding
Unpinned npm Package Download and Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
videos/powermatrix-geo-not-volume/README.md:19-25
Vulnerability Type: Uncontrolled third-party package execution
Risk Level: MediumVulnerable Code
markdown The HyperFrames CLI could not be fetched in this environment because npm DNS resolution failed. Once the CLI is available, run from this folder: ~~~bash npx hyperframes lint npx hyperframes inspect --samples 15 --at 1.5,5.5,11.5,19,26.5 npx hyperframes preview --port 3017 npx hyperframes render --output powermatrix-geo-not-volume.mp4 --quality standard ~~~Technical Analysis
The documented commands invoke
hyperframesthroughnpxwithout specifying an audited package version, requiring a lockfile, or verifying package integrity. If the package is not already installed locally,npxmay retrieve it from the configured npm registry and immediately execute its command-line entry point.This creates a supply-chain boundary in which the code executed by the user can change after the Skill has been reviewed. A compromised package release, package-name takeover, malicious registry configuration, or dependency compromise could introduce arbitrary installation or runtime code.
The HyperFrames rendering tool is supplementary to the included video asset and is not required for the Skill's core GEO audit and report-generation functionality. Consequently, automatic remote package retrieval exceeds the minimum privileges and dependency surface needed for the core workflow.
Attack Path
- An attacker compromises the
hyperframesnpm package, one of its transitive dependencies, or the registry used by the victim. - A user follows the README instructions and runs an unversioned
npx hyperframescommand. npxdownloads the currently resolved package when no verified local installation is available.- npm installation hooks or the package's CLI entry point execute under the user's account.
...[truncated 777 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin HyperFrames to a reviewed exact version rather than invoking an unversioned package name.
- Add an npm manifest and lockfile containing integrity metadata, and commit both to the project.
- Install dependencies in a separate, explicit setup step and use
npx --no-install hyperframes ...during rendering. - Disable lifecycle scripts during installation where compatible with the package, or review all required lifecycle scripts before allowing them.
- Document the expected official package name, publisher, registry, version, and checksum.
- Run the renderer in a restricted container or sandbox with no credentials, minimal filesystem mounts, and only necessary network access.
- Keep the optional video-rendering dependency isolated from the core GEO workflow.
