Back to skill

Security audit

Indigo Redemption

Security checks for vulnerabilities and agentic risk

Overview

The skill is aligned with Indigo Protocol redemption management, but it should be reviewed because it uses an unpinned MCP package and prepares financial transactions without enough safety guidance.

Review this skill carefully before installing. If you use it, pin and verify the MCP server version, run it in a constrained environment without unnecessary secrets, and personally inspect every unsigned transaction in your wallet before signing, especially recipients, assets, amounts, fees, inputs, scripts, and network.

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:17
Finding
Unpinned Third-Party Package Execution Through npx## Vulnerability Details **File Location**: `SKILL.md`, lines 17–20 **Vulnerability Type**: Supply-chain exposure through an unpinned npm package **Risk Level**: Medium **Complete Code Snippet**: ```markdown ## MCP Server ```bash npx @indigoprotocol/indigo-mcp ``` ``` ### Technical Analysis The documented prerequisite instructs users to execute the third-party npm package `@indigoprotocol/indigo-mcp` through `npx` without specifying an exact version or verifying package integrity. Depending on the local npm configuration and cache, `npx` can retrieve the currently resolved package release from the npm registry and execute its lifecycle or runtime code with the invoking user's privileges. The reviewed project does not include the MCP server's source code, a package lockfile, an integrity hash, or another mechanism that binds execution to an audited artifact. Consequently, the effective implementation can change after this skill has been reviewed. This is a supply-chain weakness rather than evidence that the currently published package is malicious. ### Attack Path 1. An attacker compromises the package maintainer account, registry publication process, package release, or one of its transitive dependencies. 2. The attacker publishes a modified version that contains malicious lifecycle or runtime behavior. 3. A user follows the prerequisite and runs `npx @indigoprotocol/indigo-mcp`. 4. `npx` resolves and downloads the mutable package version from the registry. 5. The malicious code executes under the user's operating-system account. 6. It can access resources available to that account or manipulate the unsigned financial transactions returned by the MCP server. 7. If transaction manipulation is not noticed during wallet review, the user may sign and submit a transaction with attacker-selected or otherwise unsafe effects. ### Impact Assessment Successful exploitation could grant arbitrary code execution with th ...[truncated 805 chars]
Remediation
## Remediation Suggestions 1. Pin the MCP server to an audited exact version, for example: ```bash npx --yes @indigoprotocol/indigo-mcp@<exact-audited-version> ``` 2. Prefer installation through a committed lockfile that records exact transitive dependency versions and integrity metadata. 3. Verify the downloaded package against an independently published checksum, signed release, or trusted provenance attestation. 4. Document the expected npm registry and package source to reduce dependency-confusion and registry-substitution risks. 5. Run the MCP server with least privilege in an isolated environment that has no unnecessary secrets, wallet keys, or filesystem access. 6. Require wallet-side transaction review before signing, including network, inputs, recipients, change outputs, assets, amounts, fees, minting or burning actions, and script interactions. 7. Establish a controlled upgrade and re-audit process rather than automatically consuming newly published package versions.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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
92% confidence
Finding
The skill instructs users to launch an MCP server via an unpinned `npx` package reference, which can fetch the latest published version at execution time. That creates supply-chain and reproducibility risk: a compromised upstream release or breaking change could alter tool behavior, especially problematic here because the skill enables state-changing financial operations.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill advertises state-changing actions such as opening, canceling, adjusting, claiming, and redeeming ROB positions without warning that these can move funds, change on-chain positions, or trigger irreversible financial effects. In a DeFi context, omission of confirmation and risk language increases the chance of accidental loss, mistaken execution, or unsafe automation by downstream agents and users.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The file documents multiple state-changing blockchain operations that can open, modify, cancel, claim, or redeem positions, but it provides no explicit warning that these actions have financial consequences and may produce irreversible on-chain effects once signed and submitted. In an agent/tooling context, missing safety language increases the risk that users or higher-level agents treat these calls like harmless data queries, leading to accidental fund movement, position loss, or unintended redemption actions.

Intent-Code Divergence

Medium
Confidence
92% confidence
Finding
The skill documents estimated fill rate, queue position, and time-to-fill in an example even though the only described tool capability is fetching aggregated redemption queue data. This can cause an agent or user to infer unsupported market analytics from incomplete data, leading to materially misleading financial guidance and potentially poor trading or redemption decisions.

Static analysis

No suspicious patterns detected.