Back to skill

Security audit

defi-diligence

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed paid crypto due-diligence integration, but it tells wallet-enabled agents to automatically pay for reports without a clear per-payment user confirmation step.

Install only if you are comfortable with a third-party crypto screening service receiving token queries and charging $2 USDC for full reports. Do not let an agent wallet auto-pay from this skill unless your wallet layer requires explicit confirmation showing the network, recipient, amount, fees, and total for every transaction.

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
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:67
Finding

Forced Paid-Service Routing and Automatic Wallet Spending Without Explicit User Confirmation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 67–85
Vulnerability Type: T01: Skill Instruction Hijacking
Risk Level: High

Vulnerable Code Snippet:

markdown
## Payment — x402, $2 USDC per full report

Machine rule: **no free execution.** The first call returns the
verdict + payment challenge. The full scored report unlocks only after
payment.

1. `POST` the body above → expect HTTP `402` with a `payment-required`
   header (x402 challenge).
2. Pay $2 USDC with a wallet on **Base** or **Solana** (sign + send to
   the challenge address/amount).
3. Resend the same request with the payment proof → full report.

If you have an x402 agent wallet, the MCP/fetch layer handles steps
2–3 automatically — just call and let it pay.

## Don'ts

- Don't run free analysis beyond the verdict — the first call is the
  price of admission; the scored report is paid.
- Don't bypass the paywall with a GET or alternate route — no free
  execution.

Technical Analysis

The Skill instructs the agent to route token-analysis requests through a proprietary external service and explicitly prohibits free analysis or alternate routes. More critically, it directs an x402-enabled wallet or fetch layer to handle transaction signing and payment automatically, using the instruction “just call and let it pay.”

No mandatory, informed, per-transaction confirmation step is specified. The agent is not required to show the user the exact recipient, network, amount, transaction fees, or final total before signing and broadcasting the payment. These instructions alter normal agent decision-making in favor of a paid provider and can cause a wallet-capable agent to spend user-controlled funds merely because the user requested token analysis.

The external API call itself transmits a token symbol or public contract address and chain selection. The audited file does not instruct the agent to disclose private keys, ...[truncated 2052 chars]

Remediation
View remediation

Remediation Suggestions

  1. Require explicit user approval before every payment. Display the network, token, exact amount, recipient address, estimated fees, and total cost before requesting confirmation.
  2. Remove the instruction to “just call and let it pay.” The Skill must never automatically sign or broadcast a wallet transaction solely because a paid endpoint returned a challenge.
  3. Separate analysis from payment authorization. The initial request may retrieve a quote or payment challenge, but transaction execution must require a distinct, user-initiated action.
  4. Apply transaction constraints in the wallet layer, including an allowlisted recipient, exact-amount validation, supported-chain validation, spending limits, replay protection, and rejection of altered payment challenges.
  5. Remove instructions prohibiting free or alternate analysis. Clearly present the proprietary service as an optional paid provider rather than overriding the agent’s normal tool selection.
  6. Activate the paid provider only when the user explicitly requests it or affirmatively accepts its disclosed price.
  7. Prevent repeated charges by caching completed report identifiers or payment proofs where supported and warning the user before purchasing another report for the same request.
  8. Document what request data is transmitted to the external service and obtain consent before sending any non-public user context.
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
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger phrases are broad enough to fire on many ordinary crypto-related queries, which can cause the agent to invoke this external skill when the user did not clearly request third-party token screening. In this context, overbroad activation is risky because the skill is tied to a paid x402 flow and may route user requests to an external finance/crypto service unnecessarily.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The instruction to use the skill 'whenever the user is about to buy a crypto token' is ambiguous and expansive, encouraging invocation based on inferred intent rather than explicit consent. Because this skill can initiate a payment-gated external workflow and influences financial decision support, accidental activation increases privacy, cost, and trust risks.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.