Back to skill

Security audit

automated agentic perps trading on dex.clutch.market

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Clutch Perps trading assistant with approval gates, but users should treat its unpinned external MCP install as a supply-chain risk.

Before installing, verify the npm package and repository, prefer an exact reviewed version instead of @latest, and run it without administrator privileges. Do not approve trade execution unless the broker, venue, size, leverage, TP/SL, and risk cap match your intent.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:51
Finding
Unpinned Third-Party npm Package Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 51-64 **Vulnerability Type**: Unpinned remote npm dependency execution **Risk Level**: Medium The installation workflow instructs users to execute an npm package without pinning it to a reviewed version. The manual fallback explicitly selects the mutable `latest` release. ```bash npx @clutchmarkets/mcp-server init --client <your-client> ``` ```json { "mcpServers": { "clutch": { "command": "npx", "args": ["@clutchmarkets/mcp-server@latest"] } } } ``` ### Technical Analysis `npx` downloads and executes third-party package code with the privileges of the invoking user. Because neither workflow pins the package to an exact reviewed version or verifies an integrity digest, the code executed may differ from the code that was present when the Skill was audited. The explicit use of `@latest` makes the fallback configuration persistently dependent on whichever release the package registry currently designates as latest. Provenance links, optional metadata inspection commands, and the documented consent prompt improve transparency but do not establish package integrity or prevent execution of a compromised future release. ### Attack Path 1. An attacker compromises the npm publisher account, the package release process, or a transitive dependency. 2. The attacker publishes a malicious release of `@clutchmarkets/mcp-server`. 3. npm resolves the unversioned package or the explicit `@latest` selector to that release. 4. A user follows the Skill's installation instructions or starts the configured MCP server. 5. `npx` downloads and executes the malicious package under the user's local account. 6. The package can perform actions available to that account before the user can meaningfully inspect its runtime behavior. ### Impact Assessment Successful exploitation provides code execution with the privileges of the user runn ...[truncated 387 chars]
Remediation
## Remediation Suggestions 1. Pin the package to an exact, reviewed version in every command and configuration: ```bash npx --yes @clutchmarkets/mcp-server@<exact-reviewed-version> init --client <your-client> ``` 2. Replace `@latest` in the manual configuration with the same exact reviewed version. 3. Record and verify the expected package integrity digest or signed provenance before execution. 4. Establish an explicit dependency-upgrade process that reviews release changes and dependencies before changing the pinned version. 5. Recommend running the package with least privilege and without administrator or root permissions. 6. Preserve the existing explicit-consent requirement, but clearly state that consent does not replace version pinning and integrity verification. 7. Where practical, download and inspect the package artifact before execution or use a trusted lockfile and controlled package registry.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Vague Triggers

Medium
Confidence
91% confidence
Finding
The description says to use the skill when users ask for 'setup, live trade workflows, market checks, order planning, risk setup, or execution,' which is a wide set of natural-language triggers and does not provide negative examples or tighter activation constraints. Terms like 'market checks' and 'setup' are broad enough to overlap with general finance conversations, increasing the chance of unintended invocation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The skill instructs use of `npx @clutchmarkets/mcp-server` without pinning an exact version, which causes retrieval and execution of whatever package version is current at run time. In a trading skill that explicitly acknowledges `npx` as remote code execution, this materially increases supply-chain risk: a compromised maintainer account, malicious update, or poisoned latest release could execute arbitrary code on the user's machine before any trading workflow begins.

Static analysis

No suspicious patterns detected.