T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:17
- Finding
- Unpinned Third-Party CLI Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 17 and 32 **Vulnerability Type**: Unpinned and mutable third-party dependency **Risk Level**: Medium ### Vulnerable Code ```yaml "module": "github.com/ossianhempel/things3-cli/cmd/things@latest", ``` ```markdown - Install (recommended, Apple Silicon): `GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest` ``` ### Technical Analysis The installation instructions retrieve and compile the `things3-cli` dependency using the mutable `@latest` version selector. Consequently, the code installed in the future may differ from the version that was available when this Skill was reviewed. Although the dependency path is consistent with the declared project homepage, the Skill does not pin a reviewed release or commit and does not require checksum or signature verification. A compromised upstream repository, maintainer account, Go module distribution path, or future malicious release could therefore cause attacker-controlled code to be installed and executed. This is a supply-chain weakness rather than evidence that the current upstream project is malicious. ### Attack Path 1. An attacker compromises the upstream repository, maintainer account, release process, or module distribution channel. 2. The attacker publishes a malicious version that becomes the version resolved by `@latest`. 3. A user follows the documented installation command or the Skill framework processes the installation metadata. 4. Go retrieves and builds the attacker-controlled source. 5. The resulting `things` executable runs with the privileges of the invoking user. 6. The executable can access data and resources available to that user, potentially including additional protected data if Full Disk Access has also been granted. ### Impact Assessment Successful exploitation permits arbitrary native-code execution with the privileges of the user installing or invoking the CLI. This may exp ...[truncated 249 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Replace `@latest` with a specific reviewed semantic version or immutable commit identifier. - Document the expected version in both installation metadata and user-facing setup instructions. - Verify release checksums or cryptographic signatures before installation where supported. - Use a dependency update process that reviews upstream changes before changing the pinned version. - Consider distributing a reproducibly built and signed binary from a trusted release process. - Avoid automatically upgrading the dependency without explicit user approval and security review. ]]>
