T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Third-Party Homebrew Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 5
Vulnerability Type: Unpinned dependency from a third-party Homebrew tap
Risk Level: MediumAffected code:
yaml metadata: {"clawdbot":{"emoji":"💎","requires":{"bins":["obsidian-cli"]},"install":[{"id":"brew","kind":"brew","formula":"yakitrak/yakitrak/obsidian-cli","bins":["obsidian-cli"],"label":"Install obsidian-cli (brew)"}]}}Technical Analysis
The skill directs the environment to install
obsidian-clifrom the third-party Homebrew tapyakitrak/yakitrak. The dependency declaration does not pin a reviewed version, immutable source revision, package digest, or binary checksum. Consequently, the code installed when the skill is used may differ from the code that was available when the skill was audited.This creates a supply-chain trust boundary: control of the tap, formula, referenced release artifact, or associated maintainer account could allow an attacker to substitute malicious installation logic or an altered executable. There is no evidence in the reviewed files that the current dependency is malicious; the vulnerability is the absence of controls that ensure the installed component remains identical to a reviewed artifact.
Attack Path
- An attacker compromises the third-party Homebrew tap, its maintainer account, or an artifact location referenced by its formula.
- The attacker changes the formula or release artifact to install an attacker-controlled
obsidian-cliexecutable. - A user loads the skill in an environment where the required binary is absent and follows or triggers the declared Homebrew installation.
- Homebrew retrieves and installs the altered dependency without this skill independently validating an immutable version and checksum.
- The malicious executable runs when the documented
obsidian-clicommands are invoked. - Because the CLI is intended to locate and manipulate Obsidian vaults, the substitut ...[truncated 917 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a specific reviewed release rather than accepting the current state of a mutable third-party tap.
- Require an immutable SHA-256 checksum for the downloaded artifact and fail installation if verification does not succeed.
- Prefer an official, authenticated distribution channel maintained by the Obsidian project when one is available.
- If the third-party tap must be used, pin its repository to a reviewed commit and audit both the formula and every script or artifact it downloads.
- Record the expected upstream repository, version, artifact URL, checksum, and maintainer identity in the skill documentation.
- Run the CLI with ordinary user privileges and restrict its filesystem and network access to the minimum required for the selected vault.
- Require explicit user confirmation before installation and before destructive operations such as note deletion.
- Periodically re-audit the pinned dependency before upgrading it, rather than allowing automatic adoption of unreviewed releases.
