Back to skill

Security audit

MERCATOR Address Evidence

Security checks for vulnerabilities and agentic risk

Overview

This skill is a clearly disclosed paid API helper for checking whether a project published a specific contract address, with no hidden local code or persistence.

Before installing, understand that this sends contract-check inputs to an external Mercator API and can spend $0.25 USDC per paid call through your own x402 setup. Use the free validate/preflight route first, confirm the 402 payee, asset, chain, and price, and only provide X_PAYMENT when MERCATOR_BASE_URL is the intended trusted endpoint. Do not treat a PASS result as proof that a contract is safe to use.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

External Transmission

Medium
Category
Data Exfiltration
Content
homepage: https://mercator-entity-evidence.fly.dev
    requires:
      bins:
        - curl
        - jq
credentials:
  - name: MERCATOR_BASE_URL
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
# Paid answer — $0.25 USDC on Base, x402. Unpaid, this returns 402 with
# the payment requirements; your x402 signer retries it with X-PAYMENT.
curl -sS -X POST "$BASE/v1/address-evidence" \
  -H 'content-type: application/json' \
  -H "X-PAYMENT: $X_PAYMENT" \
  -d '{"domain":"lido.fi","chain":"ethereum",
Confidence
84% confidence
Finding
This example sends a user-controlled payment credential (`X-PAYMENT`) to a configurable external endpoint via `MERCATOR_BASE_URL`. If that environment variable is overridden to an attacker-controlled host, the pre-signed payment header could be disclosed and potentially replayed or abused, causing unauthorized payment attempts or credential leakage. The skill context increases concern because the transmitted secret is specifically a payment artifact, not just ordinary request data.

External Transmission

Medium
Category
Data Exfiltration
Content
"purpose":"emergency multisig"}' | jq .

# See the payment requirements without paying:
curl -sS -X POST "$BASE/v1/address-evidence" \
  -H 'content-type: application/json' \
  -d '{"domain":"lido.fi","chain":"ethereum"}' | jq '.accepts'
```
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.