T08 · Insecure Dependencies
- Location
README.md:83- Finding
Unpinned Third-Party Package Execution Through npx
- Content
View full analysis
for me` - Or use the command: `npx skills add ` ``` From `examples/精益创业/方法论清单.md:147-149`: ```markdown **OpenClaw:** - Conversational installation: `Install for me` - Or use the command: `npx skills add ` ``` ### Technical Analysis The installation instructions execute the `skills` npm package through `npx` without specifying a reviewed version or verifying its integrity. When the package is not already available locally, `npx` can resolve and download it from the configured npm registry before executing it. Because no exact version, integrity hash, lockfile, trusted publisher identity, or registry constraint is provided, the code that runs may differ from the version reviewed when these instructions were written. A compromised package release, registry account, dependency, or registry configuration could therefore introduce arbitrary executable behavior into the installation process. The GitHub repository supplied to the installer is also referenced by a mutable repository URL rather than an immutable commit identifier. The primary issue, however, is the unpinned `npx` package that launches the installation workflow. ### Attack Path 1. An attacker compromises the npm package, its publisher account, one of its transitive dependencies, or a registry used by the victim. 2. The attacker publishes or serves a malicious version of the unpinned `skills` package. 3. A user follows the documented command: ```bash npx skills add htt ...[truncated 1105 chars]- Remediation
View remediation
add https://github.com/CymChad/book-skill-generator ``` 2. Document the expected npm registry, exact package name, publisher, and reviewed version so users can verify package provenance. 3. Use package integrity verification where supported. Publish and document the expected package digest or integrity value. 4. Prefer an installer distributed through a trusted, versioned release process rather than executing the latest mutable registry release. 5. Reference an immutable Git commit or signed release tag for the Skill source instead of only a mutable repository URL. 6. Apply the corrected command consistently in: - `README.md` - `examples/精益创业/README.md` - `examples/精益创业/方法论清单.md` 7. Advise users to inspect the resolved package and installation source before execution and to run installation with the minimum necessary privileges. ]]>
