T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:5
- Finding
- Unpinned Third-Party Installation Sources## Vulnerability Details **File Location**: `SKILL.md`, line 5 **Vulnerability Type**: Supply-chain risk from mutable and third-party dependency sources **Risk Level**: Medium ```json metadata: {"clawdbot":{"emoji":"🧲","requires":{"bins":["gifgrep"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/gifgrep","bins":["gifgrep"],"label":"Install gifgrep (brew)"},{"id":"go","kind":"go","module":"github.com/steipete/gifgrep/cmd/gifgrep@latest","bins":["gifgrep"],"label":"Install gifgrep (go)"}]}} ``` ### Technical Analysis The Go installation source uses the mutable `@latest` selector, so the installed source code can change after this Skill has been reviewed. The Homebrew installation also relies on the third-party tap `steipete/tap` without declaring a reviewed version or integrity checksum. Consequently, the security of installation depends on the continuing integrity of external repositories, release infrastructure, package metadata, and maintainer accounts. A future compromised or malicious upstream release could be installed without any corresponding change to this Skill file. The project contains no bundled scripts or evidence that the current upstream package is malicious; the finding concerns the unsafe dependency-pinning and trust model declared by the Skill. ### Attack Path 1. An attacker compromises an upstream repository, maintainer account, release workflow, Go module version, or third-party Homebrew tap. 2. The attacker publishes a modified `gifgrep` release or formula containing malicious installation or runtime behavior. 3. A user or Agent follows the Skill installation metadata and resolves `github.com/steipete/gifgrep/cmd/gifgrep@latest` or installs the formula from `steipete/tap`. 4. The package manager downloads and builds or installs the attacker-controlled content. 5. Installation hooks, build-time behavior, or the resulting executable runs with the permissions of the account performing the inst ...[truncated 803 chars]
- Remediation
- ## Remediation Suggestions - Replace `github.com/steipete/gifgrep/cmd/gifgrep@latest` with a specific, reviewed release version or immutable commit. - Verify the selected Go module through the Go checksum database and retain expected release hashes in trusted documentation or installation automation. - Pin the Homebrew installation to a reviewed version where supported, and verify the formula source, bottle checksum, and tap ownership before installation. - Prefer official, signed releases with published checksums or provenance attestations. - Configure automated dependency updates to require review rather than silently resolving a moving version. - Run installation and the resulting binary without administrative privileges and in a restricted environment with only the filesystem and network access required for GIF search and download operations. - Re-audit upstream changes before advancing the pinned version.
