T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:25
- Finding
- Unverified Remote Installer Downloaded and Executed by Bash<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 25–28 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash # macOS /bin/bash -c "$(curl -fsSL https://dp-public.oss-cn-beijing.aliyuncs.com/bohrctl/1.0.0/install_bohr_mac_curl.sh)" # Linux /bin/bash -c "$(curl -fsSL https://dp-public.oss-cn-beijing.aliyuncs.com/bohrctl/1.0.0/install_bohr_linux_curl.sh)" ``` ### Technical Analysis The documented installation procedure retrieves a shell script from an external object-storage URL and immediately passes the response to Bash. No cryptographic signature, pinned digest, checksum verification, or manual inspection step is required before execution. Although installing the Bohrium CLI supports the declared dataset-management functionality, executing mutable remote content directly is not the minimum safe mechanism for installing it. The code reviewed during the Skill audit is not necessarily the code later returned by these URLs. Compromise of the storage account, installer publishing pipeline, DNS resolution, or applicable TLS trust infrastructure could therefore change the effective payload without modifying this Skill package. The use of HTTPS provides transport encryption and server authentication, but it does not establish the integrity or provenance of the installer as a specific reviewed artifact. ### Attack Path 1. A user or agent follows the prerequisite installation instructions. 2. An attacker compromises the external storage account, installer publishing process, or another component capable of controlling the response. 3. `curl` retrieves the attacker-controlled shell script. 4. Command substitution supplies the downloaded response directly to `/bin/bash`. 5. Bash executes the payload with the permissions of the user running the installation. 6. The payload can access files and credentials available to that user, modify the local environment, install persistence, or retri ...[truncated 420 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Do not pipe or substitute a network response directly into a shell. 2. Distribute a versioned installer artifact and publish a SHA-256 digest or cryptographic signature through an independently protected channel. 3. Download the artifact to a local file, verify its digest or signature, and execute it only after successful verification. 4. Prefer installation through a trusted package manager that verifies signed repository metadata. 5. Pin the installer to an immutable, content-addressed release rather than relying only on a version-like URL path. 6. Document the expected signer, digest-verification process, and minimum permissions needed during installation. 7. Avoid elevated execution unless the CLI installation strictly requires it. ]]>
