T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:16
- Finding
- Unpinned Remote Dependencies Executed Through npx## Vulnerability Details **File Location**: `SKILL.md:16-18`, `README.md:24-32` **Vulnerability Type**: T08: Insecure Dependencies **Risk Level**: Medium ### Vulnerable Code `SKILL.md:16-18`: ```bash npx clawhub@latest install full-stack-feature ``` `README.md:24-32`: ```bash npx add https://github.com/wpank/ai/tree/main/skills/meta/full-stack-feature ``` ```bash npx clawhub@latest install full-stack-feature ``` ### Technical Analysis The documented installation procedures use `npx` to download and execute remote npm packages without immutable version or integrity constraints. In particular, `clawhub@latest` explicitly selects a mutable package release. The `npx add` command also invokes a remotely resolved npm package while passing a GitHub source located on a mutable branch. No exact package version, Git commit hash, package-lock constraint, integrity checksum, or cryptographic signature is provided. Consequently, the code executed by these commands can change after this skill has been reviewed. If the npm package, publisher account, release process, or referenced GitHub repository is compromised, an attacker could distribute modified installer code to subsequent users. This is a supply-chain risk rather than evidence that the currently referenced packages are malicious. ### Attack Path 1. An attacker compromises the npm publisher account, package release pipeline, or GitHub repository referenced by the documentation. 2. The attacker publishes a malicious package version selected by `@latest`, modifies the mutable repository branch, or otherwise alters a remotely resolved installer dependency. 3. A user follows one of the documented installation commands. 4. `npx` downloads the changed package and executes its command or applicable lifecycle behavior with the user's privileges. 5. The malicious installer can perform actions available to that user, such as modifying project or user files, reading acc ...[truncated 748 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `clawhub@latest` with an explicitly reviewed, immutable package version. 2. Pin repository-based installation to a specific Git commit rather than a mutable branch such as `main`. 3. Publish and verify integrity checksums or cryptographic signatures for distributed artifacts. 4. Document the expected package publisher, source repository, version, and checksum so users can verify provenance before installation. 5. Prefer a reviewed local or manual installation method when feasible. 6. In CI environments, use lockfiles, approved registries, dependency allowlists, and restricted credentials. 7. Run installation in a sandbox or least-privileged environment without unrelated secrets. 8. Review installer and lifecycle scripts for every dependency update before changing the pinned version.
