Back to skill

Security audit

Setup Solidity Contracts

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Solidity setup guide, but it tells users or agents to run a mutable remote installer directly through Bash.

Review this skill before installing. The Solidity guidance is otherwise straightforward, but do not run the Foundry `curl | bash` installer unless you are comfortable executing third-party shell code; prefer a pinned, verified Foundry release or inspect the installer first.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:39
Finding
Unverified Remote Installer Piped Directly to Bash<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 39 **Vulnerability Type**: `T03: Remote Payload Retrieval and Execution` **Risk Level**: High ### Vulnerable Code ```bash curl -L https://foundry.paradigm.xyz | bash ``` ### Technical Analysis The installation instructions download a mutable response from an external URL and immediately execute it with Bash. The response is not pinned to a specific version, saved for inspection, or verified using a cryptographic checksum or signature. HTTPS authenticates the connection to the responding server but does not guarantee that the retrieved script is immutable or safe. Compromise of the distribution host, a redirect destination, the upstream deployment process, or the relevant network trust infrastructure could cause attacker-controlled shell commands to be returned and executed. Direct remote execution is not required for the Skill's declared purpose of setting up a Solidity project. A version-pinned and cryptographically verified Foundry release would provide the necessary functionality with substantially lower supply-chain risk. ### Attack Path 1. An attacker compromises the remote installer host, its deployment pipeline, a redirect target, or another relevant distribution component. 2. The attacker changes the response from `https://foundry.paradigm.xyz` to include malicious shell commands. 3. A user or Agent follows the Skill's Foundry installation instructions. 4. `curl -L` retrieves the attacker-controlled response, including any redirected content. 5. The shell pipeline passes the response directly to Bash without inspection or integrity verification. 6. Bash executes the payload with the privileges and environment of the invoking account. 7. The payload can access data available to that account and modify resources writable by it. ### Impact Assessment Successful exploitation provides arbitrary command execution under the invoking user's privileges. The resulting scope can includ ...[truncated 672 chars]
Remediation
<![CDATA[ ## Remediation Suggestions Replace the `curl | bash` pipeline with a controlled installation procedure: 1. Select and pin a reviewed Foundry release version. 2. Download the corresponding release artifact from the official release channel to a local file. 3. Obtain the expected checksum or signature through an authenticated, documented channel. 4. Verify the artifact cryptographically before extracting or executing it. 5. Abort installation if verification fails. 6. Install only into a user-controlled directory and avoid elevated privileges unless they are demonstrably necessary. 7. Present the resolved URL, version, and verification result to the user before execution. 8. Periodically review and deliberately update the pinned version rather than automatically consuming mutable installer content. If the official installation script must be offered as an alternative, download it to a file first, clearly warn that it executes third-party code, and require explicit user review and approval before running it. Merely separating `curl` and `bash` without integrity verification does not fully resolve the supply-chain risk. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

External Script Fetching

High
Category
Supply Chain
Content
- Install Foundry

```bash
curl -L https://foundry.paradigm.xyz | bash
foundryup
```
Confidence
98% confidence
Finding
Piping a remote script directly into `bash` executes code from the network without prior verification, integrity checking, or meaningful user review. If the remote host, transport path, or served script is compromised, users following the skill could run arbitrary attacker-controlled code on their machines.

Chaining Abuse

High
Category
Tool Misuse
Content
- Install Foundry

```bash
curl -L https://foundry.paradigm.xyz | bash
foundryup
```
Confidence
99% confidence
Finding
The `| bash` construct removes the opportunity for inspection and compounds the danger of remote script fetching by immediately executing whatever bytes are returned. In a developer setup skill, this is especially risky because users are likely to copy-paste commands verbatim into privileged local environments.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Static analysis

No suspicious patterns detected.