T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned npm Package Is Downloaded and Executed Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 12-15 and 37-52
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: MediumThe skill declares
@hyuga/tenkenwithout a version or integrity constraint:yaml install: - kind: node package: "@hyuga/tenken" bins: [tenken]It then instructs users or agents to download and execute the package through
npx:markdown ## How to run ```bash npx @hyuga/tenkenScan a specific path:
bash npx @hyuga/tenken path/to/skillsMachine-readable output, for when you need to act on individual findings:
bash npx @hyuga/tenken --format jsontext ### Technical Analysis No version, lockfile, or package integrity hash constrains the dependency. Consequently, `npx @hyuga/tenken` can resolve and execute whichever package release the npm registry currently selects. The executable source is not included in the audited project, so its behavior cannot be independently verified from this artifact. This creates a time-of-check/time-of-use supply-chain risk: the code executed by a future user may differ from the package code available when the skill was reviewed. A compromised publisher account, malicious future release, or compromised transitive dependency could introduce arbitrary behavior. npm lifecycle scripts may also execute during package installation unless explicitly disabled. ### Attack Path 1. An attacker compromises the npm publisher, release process, or relevant dependency chain for `@hyuga/tenken`. 2. The attacker publishes a malicious release that becomes the version selected by the unpinned package reference. 3. A user or agent follows the skill instructions and runs `npx @hyuga/tenken`. 4. `npx` retrieves the current package from the registry and executes its installation lifecycle or command-line code. 5. The malicious code runs with the privileges of the invoking user a ...[truncated 683 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the package to a specific, independently reviewed version, for example:
bash npx --ignore-scripts @hyuga/tenken@<audited-exact-version> - Prefer installing through a committed lockfile that records exact transitive versions and registry integrity hashes.
- Disable npm lifecycle scripts where the package does not require them. If scripts are required, audit each script before execution.
- Verify the package source, publisher identity, release provenance, and transitive dependency tree before approving a version.
- Consider vendoring the reviewed executable source into the project or using a trusted internal package registry.
- Run the tool with least privilege in an isolated environment without unnecessary credentials, secrets, or write access.
- Add automated dependency monitoring and require a new security review before updating the pinned version.
- Pin the package to a specific, independently reviewed version, for example:
