Back to skill

Security audit

Uniswap Lp Strategy

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed LP strategy analysis helper with no embedded execution, persistence, or transaction authority, though its install instructions should be treated with normal supply-chain caution.

Install only from a source and publisher you trust, preferably using pinned package versions or a fixed Git commit instead of latest/main. Treat the output as financial analysis, verify pool data and risk assumptions independently, and confirm any separate manage-liquidity action before moving funds.

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
README.md:7
Finding
Unpinned Remote Packages and Mutable Installation Sources## Vulnerability Details **File Location**: `README.md`, lines 7-19 **Vulnerability Type**: Supply-chain risk from unpinned third-party installers and mutable remote sources **Risk Level**: Medium **Vulnerable Code Snippet**: ```markdown ## Installation Install into Claude Code or Cursor with: ```bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/lp-strategy ``` Or via Clawhub: ```bash npx clawhub@latest install lp-strategy ``` ``` ### Technical Analysis The documented installation procedures invoke third-party packages through `npx` without fixed package versions, integrity hashes, or signature verification. The command using `clawhub@latest` explicitly resolves to a mutable package release. The alternative installation command retrieves content from the mutable Git `main` branch instead of a reviewed commit SHA. Consequently, the code and installation behavior executed by future users may differ from the version reviewed during this audit. Although the audited skill files contain no embedded executable payload, the documented installation process crosses a remote supply-chain trust boundary and may execute attacker-controlled package lifecycle or installer code if an upstream registry account, package, repository, maintainer account, or distribution channel is compromised. ### Attack Path 1. An attacker compromises the `clawhub` or `skills` package, its publishing account, the referenced GitHub repository, or a relevant maintainer account. 2. The attacker publishes a malicious release selected by `@latest`, modifies installer behavior, or changes content on the referenced `main` branch. 3. A user follows the README and runs one of the documented `npx` installation commands. 4. `npx` downloads and executes the current remote package or installer without verifying it against a version or digest reviewed by the user. 5. The malicious installer executes with the privileges o ...[truncated 1042 chars]
Remediation
## Remediation Suggestions 1. Pin every `npx` package to a specific, reviewed version rather than using an implicit version or `@latest`. 2. Replace the GitHub `main` branch reference with an immutable, reviewed commit SHA or signed release tag. 3. Publish expected integrity hashes or signatures and require users or installation tooling to verify downloaded artifacts before execution. 4. Use package-locking and registry integrity metadata where supported. 5. Document the files, commands, lifecycle scripts, network access, and permissions used by the installer. 6. Recommend installation from an unprivileged account and explicitly warn users not to run the commands with administrator or root privileges. 7. Review and pin transitive dependencies used by the installer, and establish a controlled process for updating those pins after security review.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
Findings (4)

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding
The README instructs users to run `npx skills add ...` without pinning a specific package version, which means execution depends on whatever version is current at install time. If the upstream package is compromised, typo-squatted, or publishes a malicious update, users could execute attacker-controlled code during installation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding
The command `npx clawhub@latest install lp-strategy` uses a moving `latest` tag, which is effectively unpinned and can change over time. A compromised publisher account or malicious release could cause arbitrary code execution on user systems at install time.

External Model or Provider Selection

Medium
Category
Excessive Agency
Content
---
name: lp-strategy
description: Comprehensive LP strategy comparison for a token pair — evaluates all versions, fee tiers, range widths, and rebalance approaches side-by-side with APY, IL, gas costs, and risk ratings. Use when the user wants to compare LP options or see a detailed analysis of all strategies.
model: opus
allowed-tools: [Task(subagent_type:lp-strategist), Task(subagent_type:pool-researcher)]
---
Confidence
90% confidence
Finding
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.

Vague Triggers

Medium
Confidence
88% confidence
Finding
The trigger examples "Give me a full breakdown of LP options" and "I want to understand the tradeoffs before LPing" are relatively broad natural-language requests and the file does not provide exclusion conditions or negative examples. In a manifest/markdown skill description, this can make invocation boundaries unclear and increase the chance of unintended activation.

Static analysis

No suspicious patterns detected.