T08 · Insecure Dependencies
- Location
README.md:56- Finding
Unpinned Remote Installer and Mutable Skill Source
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 56–66
Vulnerability Type: Supply-chain risk caused by unpinned remote dependencies
Risk Level: MediumVulnerable Code
markdown ## Install ```bash npx clawhub@latest install howie-ge/tax-plain-englishOr clone and drop the folder into your skills directory:
bash git clone https://github.com/howie-ge/tax-plain-english cp -r tax-plain-english ~/.openclaw/skills/text ### Technical Analysis Both documented installation methods rely on mutable remote resources. The `npx clawhub@latest` command downloads and executes whichever package version is tagged as `latest` at installation time. The documentation does not pin an audited version, require an integrity hash, or provide a signature-verification procedure. Depending on npm package behavior, installation may also execute package lifecycle code. The Git alternative clones the repository's default branch without checking out a specific commit or signed release. It then copies the downloaded content directly into the Agent's trusted skill directory. Consequently, the files installed by a user may differ from those reviewed in this audit. No evidence indicates that the currently audited project contains a malicious dependency or payload. The vulnerability is the absence of controls ensuring that future downloaded content is identical to the audited content. ### Attack Path 1. An attacker compromises the npm publisher account, the `clawhub` package, the skill publisher account, or the referenced Git repository. 2. The attacker publishes a modified package release or changes the repository's default branch. 3. A user follows the documented `npx ...@latest` or unpinned `git clone` installation command. 4. The installation retrieves attacker-controlled content rather than the audited version. 5. In the npm path, malicious package lifecycle behavior may execute with the instal ...[truncated 767 chars]- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith a specific, audited package version. - Pin the Git installation instructions to an immutable commit hash or signed release tag.
- Publish SHA-256 checksums for release archives and document how users must verify them before installation.
- Use package provenance or cryptographic release signatures and verify the publisher identity.
- Recommend downloading and reviewing package contents before executing an installer.
- Avoid installation paths that automatically run lifecycle scripts where practical; otherwise, explicitly document that behavior.
- Add a lockfile or release manifest identifying the exact reviewed versions and content hashes.
- Establish a release process that audits all changed skill instructions and dependencies before updating the recommended version.
- Replace
