T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Unpinned Third-Party Installation Artifacts
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17-26 and 181-188
Vulnerability Type: Supply-chain risk from mutable, unverified dependencies
Risk Level: MediumVulnerable Code
Lines 17-26:
yaml - kind: brew tap: dedene/tap formula: kmi bins: [kmi] - kind: go package: github.com/dedene/kmi-irm-cli/cmd/kmi bins: [kmi] - kind: binary url: https://github.com/dedene/kmi-irm-cli/releases/latest bins: [kmi]Lines 181-188:
bash # macOS/Linux brew install dedene/tap/kmi # Windows - download from GitHub Releases # https://github.com/dedene/kmi-irm-cli/releasesTechnical Analysis
The Skill defines installation methods that rely on mutable third-party sources without pinning an audited version, commit, artifact digest, or cryptographic signature. In particular:
- The Go package does not specify a module version or immutable commit.
- The binary source references the mutable
releases/latestendpoint. - The custom Homebrew tap can update its formula and downloaded artifacts after this Skill has been reviewed.
- No SHA-256 checksum, signature, provenance attestation, or verification procedure is provided.
Consequently, the code eventually installed under the trusted
kmicommand name can differ from the code that existed when the Skill was audited. This creates a supply-chain boundary in which compromise of the upstream repository, release credentials, GitHub account, Homebrew tap, or artifact hosting process could introduce attacker-controlled executable code.Attack Path
- An attacker compromises an upstream publishing account, repository, release workflow, Homebrew tap, or associated artifact.
- The attacker publishes a modified release, Go source revision, or Homebrew formula under the expected project identity.
- A user or Agent follows the installation metadata or documented installa ...[truncated 1096 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the CLI to a specific audited semantic version and, where possible, an immutable source commit.
- Replace the mutable
releases/latestURL with a version-specific direct artifact URL. - Publish SHA-256 checksums for every platform artifact and require checksum verification before installation or execution.
- Sign release artifacts and document signature verification using a trusted mechanism such as Sigstore or GPG.
- Pin the Go installation to an explicit version, for example
github.com/dedene/kmi-irm-cli/cmd/kmi@vX.Y.Z. - Pin or otherwise verify the Homebrew formula and the artifact digest it installs.
- Use protected release workflows, least-privilege publishing credentials, branch protection, and provenance attestations.
- Update the Skill only after reviewing each new pinned release rather than automatically following mutable upstream content.
