T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:5
- Finding
- Unpinned Third-Party CLI Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 5 and 14 **Vulnerability Type**: Supply-chain risk caused by a mutable dependency reference **Risk Level**: Medium ### Vulnerable Code ```text metadata: {"clawdbot":{"emoji":"📣","requires":{"bins":["meta"]},"install":[{"id":"go","kind":"go","module":"github.com/bilalbayram/metacli/cmd/meta@latest","bins":["meta"],"label":"Install meta (go)"}]}} ``` ```bash go install github.com/bilalbayram/metacli/cmd/meta@latest ``` ### Technical Analysis The Skill directs users or agents to download, compile, and install an executable from a third-party GitHub repository using the mutable `@latest` version. The project does not pin the dependency to a reviewed version or immutable commit, vendor its source, specify an expected binary checksum, or otherwise establish the provenance of the executable installed in the future. This does not prove that the current upstream package is malicious. However, it creates an unsafe supply-chain boundary because the effective executable can change after this Skill has been reviewed. A malicious release, compromised maintainer account, or compromised upstream repository could therefore introduce arbitrary behavior without requiring any modification to the audited `SKILL.md`. ### Attack Path 1. An attacker compromises the upstream repository, a maintainer account, or its release process. 2. The attacker publishes a modified version that resolves through `@latest`. 3. A user or agent follows the Skill and runs the documented `go install` command. 4. Go retrieves and compiles the attacker-controlled source and installs it as the local `meta` executable. 5. The user invokes the executable for authentication or Meta account operations. 6. The compromised executable can run with the user's local privileges and access credentials or API data supplied to it. ### Impact Assessment Successful exploitation permits arbitrary code executio ...[truncated 653 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `@latest` with a reviewed, explicitly pinned semantic version or, preferably, an immutable commit identifier. 2. Record and verify expected source or binary checksums before installation. 3. Verify upstream release provenance, including signed tags or artifacts where available. 4. Vendor the reviewed source or distribute a reproducibly built binary from a trusted internal artifact repository. 5. Establish a controlled dependency-update process in which new versions are reviewed and tested before changing the pin. 6. Run the CLI with least privilege and isolate its configuration and credentials from unrelated user files. 7. Grant only the minimum Meta OAuth scopes required for the intended operation and rotate credentials if an installed version is later found to be compromised.
