T08 · Insecure Dependencies
Warning
- Location
- README.md:22
- Finding
- Unpinned Third-Party Package Execution Through npx## Vulnerability Details **File Location**: `README.md`, lines 22–26 **Vulnerability Type**: Unpinned third-party dependency execution **Risk Level**: Medium The documented optional installation method executes a remotely resolved npm package without pinning its version or verifying its integrity. ```bash ### Option B: Via skills CLI ```bash npx skills add dexhunter/seedance2-skill ``` ``` ### Technical Analysis The command `npx skills add dexhunter/seedance2-skill` resolves and executes the `skills` package through the npm ecosystem. No exact package version, lockfile, integrity digest, or verified binary source is specified. Because package resolution occurs at installation time, the code executed by users can differ from the code available when this project was audited. If the package, publisher account, registry resolution path, or a transitive dependency is compromised, malicious package code or lifecycle scripts could execute on the user's system. This is a supply-chain weakness rather than evidence that the currently resolved package is malicious. The project also provides a manual-copy installation method that does not introduce this execution path. ### Attack Path 1. An attacker compromises the npm package, its publisher account, a dependency, or another relevant package-resolution component. 2. The attacker publishes a malicious version containing executable package logic or lifecycle behavior. 3. A user follows the optional installation instructions and runs: ```bash npx skills add dexhunter/seedance2-skill ``` 4. `npx` resolves and downloads the unpinned package version available at that time. 5. The malicious package code executes with the privileges of the user running the command. 6. Subject to those privileges and local security controls, the payload could access user-readable files, modify user-owned configuration, invoke network services, or install additional components. ### ...[truncated 602 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the CLI to an exact, reviewed version rather than allowing dynamic resolution: ```bash npx --yes skills@<reviewed-exact-version> add dexhunter/seedance2-skill ``` 2. Verify the selected package version and its transitive dependency tree before recommending it. 3. Record and validate an integrity digest where the installation workflow supports it. 4. Document the expected package publisher, official registry location, and source repository so users can detect name confusion or publisher changes. 5. Disable or avoid unnecessary package lifecycle scripts where feasible. 6. Retain the manual-copy method as the recommended default because it does not require executing a remotely resolved installer. 7. Advise users not to run the installation command with administrator or root privileges. 8. Periodically re-audit the pinned package before updating the documented version.
