Back to skill

Security audit

Monad Dev Tool Free

Security checks for vulnerabilities and agentic risk

Overview

This Monad development skill is mostly aligned with blockchain testnet work, but it needs review because it handles wallet private keys, sends contract data to an external service, and recommends an unverified pipe-to-shell installer.

Install only if you are comfortable with an agent running blockchain development commands, installing Foundry, writing project files, using testnet RPC/faucet services, and sending contract verification data to an external endpoint. Use test-only wallets, do not reuse valuable private keys, avoid printing keys in logs, review any remote installer before execution, and confirm exactly what source/build data is posted for verification.

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:182
Finding

Unverified Remote Installer Is Piped Directly into Bash

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 182
Vulnerability Type: Remote payload retrieval and execution
Risk Level: High

Complete Code Snippet:

bash
# Install Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup

Technical Analysis

The installation instructions download content from a mutable external URL and pass it directly to Bash. The downloaded script is therefore executed before the user or Agent can inspect it.

HTTPS provides transport protection but does not guarantee that the returned script remains identical to the version reviewed with this Skill. The project does not pin a release or provide a checksum, signature-verification procedure, or local validation step. If the website, DNS, CDN, TLS termination infrastructure, or upstream publishing process is compromised, the response can be replaced with arbitrary shell commands.

Installing Foundry is relevant to the declared blockchain-development functionality, but immediate execution of unverified remote content is not the minimum privilege or least-risk method necessary to install that dependency.

Attack Path

  1. An attacker compromises or gains control over the installer endpoint or part of its delivery infrastructure.
  2. The attacker changes the response from https://foundry.paradigm.xyz to a malicious shell payload.
  3. A user or AI Agent follows the Skill's environment-preparation instructions.
  4. curl retrieves the attacker-controlled response and streams it directly to Bash.
  5. Bash executes the payload with the permissions of the invoking user or Agent.
  6. The payload can access resources available to that account, including project files, Agent configuration, environment variables, and locally stored wallet material.

Impact Assessment

Successful exploitation permits arbitrary command execution under the invoking account. The attacker could read or alter accessible source code and co ...[truncated 492 chars]

Remediation
View remediation

Remediation Suggestions

  1. Do not pipe downloaded content directly into a shell.
  2. Pin Foundry to a specific trusted release rather than retrieving a mutable installer without version constraints.
  3. Download the installer or release artifact to a local file first:
    bash
    curl --fail --proto '=https' --tlsv1.2 \
      --output foundry-installer.sh \
      https://foundry.paradigm.xyz
    
  4. Verify the downloaded artifact using a vendor-published cryptographic signature or SHA-256 checksum obtained through a separately trusted channel.
  5. Inspect the saved script before executing it, and clearly require explicit user approval.
  6. Prefer a trusted operating-system package manager or signed release artifacts where supported.
  7. Execute installation using an unprivileged account and restrict filesystem and credential access during installation.
  8. Avoid running the installation from an Agent session that contains wallet keys or other sensitive environment variables.
  9. Document the exact expected artifact version and verification value so that later changes to the remote response cannot silently alter the executed payload.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (7)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill describes wallet generation and private-key persistence without strong secret-handling safeguards, while also exposing exec/write capabilities. In an agent context, instructions to persist private keys can lead to secrets being written to disk, logs, shell history, or project files, creating a real risk of credential compromise and wallet theft.

Content

No source excerpt is available for this finding.

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · SKILL.md (reported line 139)May include surrounding context.

部署完成后,验证合约以便在区块链浏览器上查看源码.

bash
# 使用验证 API(一次调用验证三大浏览器)
curl -X POST https://agents.devnads.com/v1/verify \
  -H "Content-Type: application/json" \
  -d '{
    "chainId": 10143,

Chaining Abuse

High
Category
Tool Misuse
Confidence
99% confidence
Finding

The instruction curl -L https://foundry.paradigm.xyz | bash is a classic remote download-and-execute chain. In an agent or automated environment, this bypasses integrity review and allows a compromised server, MITM, or replaced installer to achieve arbitrary code execution on the host.

Content

Scanner excerpt · SKILL.md (reported line 182)May include surrounding context.

bash
# 安装 Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup
# ...
# 生成钱包

External Transmission

Medium
Category
Data Exfiltration
Confidence
95% confidence
Finding

The skill instructs users to POST contract verification data to an external endpoint, which causes transmission of project metadata and potentially full standard JSON compiler input outside the local environment. In an agent setting, external transmission is security-relevant because source code, addresses, build metadata, or other sensitive development artifacts may be exfiltrated to an unvetted service.

Content

Scanner excerpt · SKILL.md (reported line 139)May include surrounding context.

部署完成后,验证合约以便在区块链浏览器上查看源码.

bash
# 使用验证 API(一次调用验证三大浏览器)
curl -X POST https://agents.devnads.com/v1/verify \
  -H "Content-Type: application/json" \
  -d '{
    "chainId": 10143,

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

Lines L159-L166 state that the skill is not appropriate for '运维部署管理' (operations/deployment management). However, the rest of the document explicitly positions the skill around contract deployment, verification, faucet use, and command execution for deployment workflows, including detailed deployment commands. This is an active contradiction in the documentation about the skill's intended use.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger text says to use the skill whenever code generation, programming assistance, debugging/testing, or deployment is needed. These are very broad, common requests that could match many unrelated developer conversations, and the description does not provide specific invocation phrases or clear exclusion boundaries beyond a generic capability-range statement.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The documentation says the skill is free and requires no additional API key, including for faucet and contract verification APIs. Elsewhere, the skill instructs use of external HTTP endpoints for verification and faucet operations, which may still involve external service dependencies and access conditions. While not necessarily false, the wording creates an intent-level mismatch by implying fully local/self-contained operation despite reliance on third-party services.

Content

No source excerpt is available for this finding.