T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:5
- Finding
- Unpinned Executable Installed from a Third-Party Homebrew Tap## Vulnerability Details **File Location**: `SKILL.md`, line 5 **Vulnerability Type**: Unpinned third-party dependency **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"clawdbot":{"emoji":"🧾","requires":{"bins":["summarize"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/summarize","bins":["summarize"],"label":"Install summarize (brew)"}]}} ``` ### Technical Analysis The skill instructs the environment to install the `summarize` executable from the third-party Homebrew tap `steipete/tap`. The dependency is not pinned to an immutable version, commit, checksum, or signed artifact. Consequently, the executable retrieved during installation may differ from the component that existed when this skill was audited. This creates a supply-chain trust boundary: control of the tap, its formula, or the referenced release assets could allow an attacker to substitute malicious code. The project does not provide an integrity digest, signature-verification procedure, or other mechanism that would detect such substitution before installation. The use of a third-party tap is not itself evidence that the current package is malicious. The risk arises from mutable external package resolution without integrity pinning. ### Attack Path 1. An attacker compromises the Homebrew tap, its maintainer account, the formula repository, or a mutable release asset referenced by the formula. 2. The attacker modifies the formula or upstream artifact so that it installs an attacker-controlled executable. 3. An agent or user loads the skill and follows its documented Homebrew installation action. 4. Homebrew resolves the unpinned formula and retrieves the modified package content. 5. The malicious executable runs when the skill invokes `summarize`, inheriting the installing user's privileges and accessible environment. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the user ...[truncated 710 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to an immutable, reviewed version rather than resolving the latest tap formula. 2. Verify downloaded artifacts using a published SHA-256 checksum or a trusted cryptographic signature before execution. 3. Prefer an authenticated official distribution channel with documented release provenance. 4. If the Homebrew tap must remain in use, pin its repository to a reviewed commit and verify that the formula references immutable release assets. 5. Record the expected package version and integrity value in the skill metadata so future audits can reproduce the installed artifact. 6. Run the executable with least privilege and expose only the provider credential required for the selected operation. 7. Periodically review the tap ownership, formula changes, upstream artifact provenance, and signing practices.
