T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:65
- Finding
- Unverified Remote Foundry Installer Is Piped Directly into a Shell<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 65 and 149 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High **Complete Code Snippets**: `SKILL.md:62-66` ```text 1. **Anvil availability**: The tool will return a clear error if Anvil is not installed. If you see `TESTNET_ANVIL_NOT_FOUND`, tell the user: ``` Anvil (Foundry) is required but not installed. Install: curl -L https://foundry.paradigm.xyz | bash && foundryup ``` ``` `SKILL.md:149` ```markdown | `TESTNET_ANVIL_NOT_FOUND` | "Anvil (Foundry) is not installed." | Install: `curl -L https://foundry.paradigm.xyz \| bash && foundryup` | ``` ### Technical Analysis The installation command downloads content from an external URL and immediately passes the response to `bash`. It does not pin an installer version, inspect the downloaded script, or verify a cryptographic checksum or signature. Installing Anvil is a legitimate prerequisite for the declared local-testnet functionality. However, direct execution of mutable remote content is not necessary and exceeds the minimum-risk installation approach. The behavior creates a time-of-check/time-of-use supply-chain boundary: the code executed by a future user may differ from the content available when this skill was audited. The apparent association of the domain with Foundry does not remove this risk. Compromise of the hosting endpoint, delivery infrastructure, DNS resolution, TLS trust path, or upstream publishing credentials could substitute arbitrary shell commands. ### Attack Path 1. A user invokes the skill on a system where Anvil is unavailable. 2. The skill returns or recommends the documented installation command. 3. The user runs `curl -L https://foundry.paradigm.xyz | bash && foundryup`. 4. `curl` follows redirects and retrieves the current response from the remote service. 5. The respo ...[truncated 1082 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all `curl | bash` installation instructions. 2. Direct users to Foundry's official installation documentation and require explicit review before executing any installer. 3. Prefer a version-pinned release artifact from the official release repository. 4. Download the artifact as a separate step and verify a publisher-provided cryptographic checksum or signature before execution. 5. Display the exact version, source URL, expected digest, and destination path. 6. Run the installer without `sudo` and with ordinary user privileges unless a specific operation demonstrably requires elevation. 7. Fail safely if integrity verification cannot be completed rather than falling back to executing mutable remote content. 8. Apply the corrected guidance consistently to both the prerequisite workflow and error-handling table. ]]>
