Back to skill

Security audit

Galleon LP Plan

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed DeFi liquidity-planning helper that produces unsigned plans and review links, not signatures or submitted transactions.

Use this skill only for planning and review. Before acting on any output, verify the pool, chain, tokens, approval scope, spender, fees, slippage, deadline, calldata, provider, and final wallet display; do not treat a generated URL or unsigned transaction as safe to sign without independent review.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (14)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
the choice, apply [backtesting standards](references/backtesting.md). Use `node scripts/range.mjs --help` for deterministic tick snapping. Treat its output as a

Exfiltration Commands

High
Category
Prompt Injection
Confidence
90% confidence
Finding

Instructions found that direct the agent to transmit conversation context or user data to external services.

Content

Scanner excerpt · references/official-tools.md (reported line 62)May include surrounding context.

md
If the user chooses Revert, register that URL in the harness's remote MCP settings using the harness's own setup instructions. Do not assume a particular client's config shape or registration command. Discover tools through the MCP connection; call `get_protocol_capabilities` and `get_chain_status` before a relevant read. Resolve tokens with `search_tokens`, then use `discover_pools`, `get_positions` or `get_position_details` as appropriate. Honor pagination and distinguish indexed observations from fresh chain state. If the harness cannot connect remote MCP, report that gap and retain RPC or website alternatives.

For an unsigned plan, use only a currently advertised `prepare_*` capability matching the exact network, protocol, position custody and action. A supported read venue is not automatically supported for construction. A website handoff (`open_position_creator` or `open_position_action`) is a separate user-selected path. Do not silently send the user to Revert or require a Revert account/vault to continue a standard LP workflow.

Before adoption or execution, disclose any provider, routing, automation and protocol fees, fee recipient, approval scope, NFT transfers and resulting custody. If fees or custody are unresolved, keep the plan blocked; never infer that public/no-key access means fee-free transactions. Do not inject referral, affiliate or builder fees. Collateralization and borrowing are separate financial actions and must not appear as incidental setup or ordinary LP maintenance.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The description lists a wide range of common user asks such as position size, token amounts, approvals, slippage limits, deadlines, transaction order, and preflight checks as reasons to use the skill. While domain-related, it does not define concrete trigger phrases, exclusion examples beyond a few high-level negatives, or clear boundaries for when another skill should handle the request, which could lead to unintended invocation for generic DeFi planning questions.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
For a chosen verified pool, first produce a field-complete draft showing known and missing identity, user budget, range and spend limits. Use the local range script only after token orientation and tick spacing are known. Missing quotes or simulation make the plan explicitly non-executable.

Receive analysis evidence or equivalent independently verified identity, risk and exit evidence. Return chain/wallet/pool identity, observation block, exact amounts/ticks, maximum spends, approval terms, targets/calldata/value, expected effects, simulation evidence, deadline and missing fields to `lp-execute`. Related skills are optional: if analysis is absent, verify identity, token behavior, hook/gauge risk and exit feasibility through trusted reads; if these cannot be established, retain a non-executable draft. If execution is absent, return the unsigned plan without asking for a signature.

Resolve script and reference paths from this installed skill directory, not the agent workspace. Discover related skills by exact name in the harness; do not assume a sibling directory or silently install another skill. For missing RPC, ABI, quote or wallet capabilities, use `lp-setup` if available, otherwise inventory actual tools and report the missing method. Instructions alone do not supply live data or execution integrations.

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.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
65% confidence
Finding

uvx/uv tool run commands without ==version create a rug-pull risk.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
65% confidence
Finding

uvx/uv tool run commands without ==version create a rug-pull risk.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · references/vfat.md (reported line 9)May include surrounding context.

md
Bind chain, wallet, Sickle address and owner, any approved operator, factory, registry, strategy, connector, gauge, pool and output recipient. For a new account, show Sickle creation as an explicit plan effect. A wrapper that owns the Sickle and redirects rewards is a separate custody/fee choice; do not insert it to make an SDK example work.

Decompose any one-click route into approvals, input swaps, liquidity addition/removal, staking, reward processing and residue transfers. Show the input token, integer maximum spend, minimum outputs, slippage/price-impact guards, native value, approval scope, deadline and each target. UI convenience does not imply one signature, no approvals or one trust domain. Keep the draft non-executable if exact calls or independent simulation are missing.

## Charge the correct fee basis

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script constructs a live https://app.uniswap.org/positions/create?... URL that pre-populates transaction-relevant parameters for adding liquidity, which materially exceeds the skill’s declared planning-only scope. In this context, the gap is dangerous because downstream agents or users may treat the generated link as an endorsed execution artifact and move directly toward wallet interaction without a separate safety gate or reassessment.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The help text says 'Build a reviewed Uniswap position-creation link,' implying the script has performed substantive review. In reality, the implementation performs local format/range checks and string assembly, with no external verification of chain support, token order, fee validity, hook safety, or interface schema.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

This code emits a ready-to-use Uniswap position-creation URL that can prefill deposit parameters, which could influence financial actions by the user. Although the help text includes a warning, the main execution path prints the link directly without any user-facing confirmation or disclosure at the point of use.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.