T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned Third-Party CLI Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 15-23 and line 243
Vulnerability Type: Unpinned third-party executable dependency
Risk Level: MediumThe skill directs the environment to install the
irailexecutable from mutable third-party Homebrew and Go sources without specifying an immutable version, commit, checksum, or signature.yaml metadata: author: dedene version: "1.1.0" openclaw: requires: bins: - irail anyBins: - jq install: - kind: brew tap: dedene/tap formula: irail bins: [irail] - kind: go package: github.com/dedene/irail-cli/cmd/irail bins: [irail]The installation section repeats the mutable Homebrew installation command:
bash brew install dedene/tap/irailTechnical Analysis
The skill package contains documentation only and does not include the implementation of the executable it invokes. Consequently, the behavior reviewed in
SKILL.mdcannot guarantee the behavior of the subsequently installedirailbinary.Neither installation method identifies an immutable release:
- The Homebrew formula is obtained from the mutable third-party tap
dedene/tap. - The Go package path has no version or commit suffix.
- No checksum, cryptographic signature, provenance attestation, or expected artifact digest is documented.
- The skill metadata version (
1.1.0) does not pin or verify the installed dependency version.
If an upstream repository, release process, maintainer account, or package-distribution channel is compromised, a modified dependency could be delivered after this skill has already passed review.
Attack Path
- An attacker compromises the upstream Homebrew tap, Go repository, maintainer credentials, or release pipeline.
- The attacker publishes a modified formula, source revision, or dependency containing malicious inst ...[truncated 1238 chars]
- The Homebrew formula is obtained from the mutable third-party tap
- Remediation
View remediation
Remediation Suggestions
- Pin the Go dependency to an immutable, reviewed version or commit rather than using an unversioned package path.
- Pin the Homebrew formula to a reviewed release and avoid relying solely on the mutable head of a third-party tap.
- Publish and verify cryptographic checksums or signatures for downloaded artifacts before execution.
- Prefer reproducible, signed releases with provenance attestations from a trusted build pipeline.
- Ensure the dependency version declared by the installation mechanism matches the skill metadata version.
- Document the expected binary version and verify it after installation, for example by checking
irail --version. - Run installation and normal CLI operations with least privilege in a restricted environment; do not install as an administrator unless strictly necessary.
- Periodically review the pinned upstream revision and update it only after source and release-artifact verification.
