T08 · Insecure Dependencies
Error
- Location
- SKILL.md:17
- Finding
- Downloaded UCloud CLI binaries are installed without integrity or authenticity verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:17-23` **Vulnerability Type**: Unverified executable dependency installation **Risk Level**: High ### Vulnerable Source Excerpt The following is an English translation of the complete relevant instruction segment: ```markdown If the `ucloud` CLI is not installed, unavailable, or older than `v0.3.1`, stop the current resource operation first. Check the operating system and architecture, and then install or upgrade the CLI after obtaining user consent. For Linux, first read `/etc/os-release` and use `uname -m`; for macOS, use `sw_vers` and `uname -m`. **Installation methods** - macOS: Download the binary for the architecture from `https://ucloud-infra.cn-bj.ufileos.com/cli/darwin_{amd64,arm64}/ucloud`. Unless the user specifies an installation path, it must be installed into a directory in `$PATH`; request authorization if permission is unavailable. - Linux: Download the binary for the architecture from `https://ucloud-infra.cn-bj.ufileos.com/cli/linux_{amd64,arm64}/ucloud`. Unless the user specifies an installation path, it must be installed into a directory in `$PATH`; request authorization if permission is unavailable. - Windows: Download the binary from `https://ucloud-infra.cn-bj.ufileos.com/cli/windows_amd64/ucloud.exe`. Unless the user specifies an installation path, it must be installed into a directory in `PATH`; request authorization if permission is unavailable. ``` ### Technical Analysis The Skill instructs the Agent to download an executable directly from a remote object-storage URL and install it in a searchable executable directory. It does not require verification of a cryptographic signature, a pinned SHA-256 digest, a signed release manifest, or an independently authenticated release source. HTTPS provides transport security but does not establish that the downloaded artifact is the exact binary reviewed or intended by the Skill author. A compromised hosting account, storage ...[truncated 1870 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin installation instructions to an explicit, reviewed UCloud CLI version rather than an unversioned mutable URL. 2. Publish an expected SHA-256 or stronger digest for every supported operating-system and architecture combination. 3. Obtain checksums from an independently authenticated release manifest rather than from the same mutable storage object as the binary. 4. Prefer cryptographic release signatures and verify them using a pinned vendor signing key. 5. Download the executable into a newly created private temporary directory rather than directly into `$PATH`. 6. Verify the digest and signature before making the file executable or moving it into its final location. 7. Abort installation on any verification failure, redirect, unexpected content type, architecture mismatch, or version mismatch. 8. Prefer an authenticated official package repository where one is available. 9. Display the exact version, source URL, expected digest, destination, and required privilege level before requesting installation consent. 10. Invoke the installed binary by its verified absolute path during initial validation to avoid executing a different binary through path precedence. ]]>
