T08 · Insecure Dependencies
- Location
README.md:44- Finding
Unpinned Remote Skill Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
README.md:44,README.md:157, andSKILL.md:21
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code Snippets
README.md:44andREADME.md:157:bash npx skills add https://github.com/BovmantH/openclaw-model-failover-guard.git --skill model-failover-guardSKILL.md:21:bash npx skills add BovmantH/openclaw-model-failover-guard --skill model-failover-guardTechnical Analysis
The documented installation commands invoke
npxand retrieve the Skill from a mutable third-party source without pinning it to an immutable commit hash or verified release artifact. No checksum, signature, lock file, or integrity-verification procedure is provided.Consequently, the code installed when a user follows these instructions may differ from the code reviewed during this audit. Changes to the repository's default branch, compromise of the repository owner, compromise of the package used through
npx, or transfer of the upstream project could introduce malicious code after review.This is a supply-chain weakness rather than evidence that the currently audited scripts are malicious. The reviewed
failover.pydid not contain an embedded remote payload or intentionally malicious behavior.Attack Path
- An attacker compromises the upstream repository, its maintainer account, or another component involved in the
npxinstallation process. - The attacker modifies the mutable repository branch or distributed package to include malicious Skill instructions or executable scripts.
- A user follows the documented unpinned installation command.
npxretrieves the current upstream content rather than the specific content covered by this audit.- The altered Skill is installed and may subsequently execute with the privileges of the user running OpenClaw or the Skill.
- Depending on the injected paylo ...[truncated 894 chars]
- An attacker compromises the upstream repository, its maintainer account, or another component involved in the
- Remediation
View remediation
Remediation Suggestions
-
Pin the Skill source to a reviewed, immutable Git commit hash rather than a mutable default branch.
-
Pin the
skillsinstaller package to an exact trusted version instead of allowingnpxto resolve a changing version. -
Publish versioned release archives and provide SHA-256 or stronger checksums.
-
Sign releases and document how users must verify the signature before installation.
-
Prefer an installation process equivalent to:
bash npx skills@<exact-trusted-version> add \ https://github.com/BovmantH/openclaw-model-failover-guard.git#<reviewed-commit-hash> \ --skill model-failover-guard -
Add the reviewed commit identifier and expected integrity digest to both
README.mdandSKILL.md. -
Establish a release-review process so that each published version is audited and mapped to its immutable source commit.
-
