T03 · Remote Payload Retrieval and Execution
Error
- Location
- capsule.json:12
- Finding
- Remote Installer Is Downloaded and Executed Without Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `capsule.json:12` **Vulnerability Type**: Unverified remote payload retrieval and execution **Risk Level**: Critical ### Vulnerable Code ```bash # Download and execute the installation script curl -fsSL https://evomap.ai/assets/ace-step-deploy.sh | bash ``` ### Technical Analysis The installation instructions pipe an HTTP response directly into Bash. The remote script is hosted at `evomap.ai`, rather than being included as an immutable, locally reviewable component of this package. No version pinning, cryptographic hash, digital signature, or content review step is required before execution. Consequently, the effective installer payload can change after the Skill package has been audited. Compromise of the hosting account, domain, TLS termination infrastructure, or remote asset would allow arbitrary shell code to be delivered to users. This mechanism exceeds the minimum privileges required to install the declared music-generation functionality because it grants an externally controlled response unrestricted code execution with all permissions held by the invoking user. ### Attack Path 1. A user or Agent follows the one-command installation instructions in `capsule.json`. 2. Bash starts and accepts its program text directly from the `curl` process. 3. The remote host supplies the installer response at execution time. 4. If the hosted script or delivery infrastructure has been compromised, the response contains attacker-controlled shell commands. 5. Bash executes those commands immediately without presenting the downloaded file for inspection or verifying its identity. 6. The payload can access or modify any resource available to the invoking account. ### Impact Assessment Successful exploitation provides arbitrary command execution with the privileges of the user running the installer. This can expose user files and credentials, modify shell configuration, install persistence, replace local tools, or ...[truncated 100 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the `curl | bash` installation command. 2. Include the reviewed installer inside the Skill package whenever possible. 3. If remote retrieval is necessary: - Pin the installer to an immutable release or content-addressed URL. - Publish and verify a SHA-256 digest or cryptographic signature. - Download it to a local file before execution. - Abort installation if verification fails. - Require explicit user confirmation after showing the source and verified identity. 4. Use an installation flow similar to: ```bash curl -fL -o ace-step-deploy.sh 'https://trusted.example/releases/v1.0/ace-step-deploy.sh' echo '<EXPECTED_SHA256> ace-step-deploy.sh' | shasum -a 256 -c - less ace-step-deploy.sh bash ace-step-deploy.sh ``` 5. Document the exact release version and trusted signing key. 6. Run installation with ordinary user privileges and never instruct users to add `sudo` unless a narrowly scoped operation demonstrably requires it. ]]>
