T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned CLI Installation from a Third-Party Homebrew Tap
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 5
Vulnerability Type: Supply-chain risk from an unpinned third-party dependency
Risk Level: MediumVulnerable Code Snippet:
yaml metadata: {"clawdbot":{"emoji":"🎮","requires":{"bins":["gog"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/gogcli","bins":["gog"],"label":"Install gog (brew)"}]}}Technical Analysis
The skill directs the environment to install
gogclifrom the third-party Homebrew tapsteipete/tap. The dependency declaration does not pin an immutable release, commit, binary digest, or formula checksum. Consequently, the code installed under thegogcommand can change independently of the reviewed skill package.This is particularly sensitive because the documented CLI is authorized to interact with Gmail, Calendar, Drive, Contacts, Sheets, and Docs. Although the audited project contains no embedded executable code or demonstrated malicious behavior, compromise of the tap, its release infrastructure, or the referenced package could substitute a malicious CLI while preserving the expected executable name.
Attack Path
- An attacker compromises or gains control of the third-party Homebrew tap or an associated release artifact.
- The attacker modifies the formula or distributed binary while retaining the expected
gogpackage and executable names. - A user follows the skill installation metadata or later upgrades the unpinned package.
- Homebrew installs or executes the attacker-controlled package under the user's account.
- When the user configures OAuth or invokes
gog, the substituted CLI can access data supplied to the command, attempt to capture OAuth credentials or tokens available to it, and perform actions using the user's granted authorization.
Impact Assessment
Successful exploitation could execute code with the privileges of the user running Homebrew and the CLI. If the malicious p ...[truncated 577 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to an immutable, reviewed version or source commit rather than tracking a mutable tap formula.
- Verify downloaded artifacts with a trusted SHA-256 digest or cryptographic signature before installation.
- Prefer an official, authenticated distribution channel with published provenance and reproducible release artifacts.
- Record the reviewed package version and integrity value in the skill metadata or installation procedure.
- Restrict OAuth authorization to only the services and scopes required for each task instead of granting all documented services by default.
- Review tap ownership, formula contents, transitive dependencies, and release provenance before installation or upgrade.
- Run the CLI without administrative privileges and isolate it where practical to limit access to unrelated local credentials and files.
- Require explicit review before dependency upgrades so upstream changes do not silently alter the audited execution path.
