Back to skill

Security audit

DappLooker AI

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed DappLooker DeFi data connector with paid API calls and no local code execution, but users should avoid putting API keys in URL query strings.

Install only if you are comfortable with DappLooker receiving your DeFi market queries and with approving small paid x402 calls. Prefer x402 or a safer header-based credential flow over placing an API key in the api_key URL parameter, and keep the default spending confirmation and budget controls enabled.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:41
Finding
API credentials may be transmitted in URL query strings## Vulnerability Details **File Location**: `SKILL.md`, line 41 **Vulnerability Type**: API credential exposure through URL query parameters **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown **Note:** All endpoints accept an optional `api_key` query parameter as an alternative to x402 payment. All endpoint URLs require a trailing slash where shown. ``` ### Technical Analysis The Skill explicitly permits an API key to be included as a URL query parameter. URLs are commonly recorded by HTTP servers, reverse proxies, gateways, observability platforms, error-reporting systems, and request-history mechanisms. As a result, a secret placed in the query string can be exposed to systems and personnel that do not require access to the credential. The project contains documentation rather than the underlying API or gateway implementation, so the precise retention behavior cannot be established from the reviewed files. Nevertheless, the documented authentication mechanism encourages an inherently unsafe credential transport pattern. ### Attack Path 1. A user configures the Skill to authenticate with an API key instead of x402 payment. 2. The agent places the key in the request URL as an `api_key` query parameter. 3. An API gateway, reverse proxy, server, monitoring service, or error-reporting system records the complete URL. 4. A party with access to those records obtains the API key. 5. The exposed key is reused to issue unauthorized DappLooker API requests. ### Impact Assessment An attacker who obtains the key may gain the same DappLooker API access granted to its legitimate owner. The resulting scope depends on server-side permissions and limits associated with that key. Potential consequences include unauthorized paid API usage, consumption of quotas, financial charges, and access to any data available under the compromised credential. This issue does not, based on the reviewed files, grant local code execution, operating-system privileges, pers ...[truncated 44 chars]
Remediation
## Remediation Suggestions 1. Remove support for authentication through the `api_key` query parameter. 2. Transmit credentials through a dedicated request header, preferably: ```http Authorization: Bearer <api-key> ``` 3. Store the key in an approved secret manager or protected runtime credential store rather than embedding it in Skill text, prompts, or URLs. 4. Configure clients, gateways, servers, and telemetry systems to redact authentication headers and known secret fields. 5. Ensure request logs do not retain full query strings where sensitive parameters may still be accepted for backward compatibility. 6. If query-parameter authentication cannot be removed immediately, deprecate it, apply short expiration periods and least-privilege scopes to keys, and prevent referrer propagation. 7. Rotate any API keys that may previously have appeared in URLs or logs.
Vulnerability Patterns
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (11)

External Transmission

Medium
Category
Data Exfiltration
Content
### token_intelligence

**URL:** `GET https://api.dapplooker.com/v1/crypto-market/`

**Use when:** User asks about token price, market cap, volume, holders, social mindshare, or technical levels.
Confidence
50% 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
### token_intelligence

**URL:** `GET https://api.dapplooker.com/v1/crypto-market/`

**Use when:** User asks about token price, market cap, volume, holders, social mindshare, or technical levels.
Confidence
50% 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
### token_intelligence

**URL:** `GET https://api.dapplooker.com/v1/crypto-market/`

**Use when:** User asks about token price, market cap, volume, holders, social mindshare, or technical levels.
Confidence
50% 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
### token_intelligence

**URL:** `GET https://api.dapplooker.com/v1/crypto-market/`

**Use when:** User asks about token price, market cap, volume, holders, social mindshare, or technical levels.
Confidence
50% 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
### token_intelligence

**URL:** `GET https://api.dapplooker.com/v1/crypto-market/`

**Use when:** User asks about token price, market cap, volume, holders, social mindshare, or technical levels.
Confidence
50% 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
### token_intelligence

**URL:** `GET https://api.dapplooker.com/v1/crypto-market/`

**Use when:** User asks about token price, market cap, volume, holders, social mindshare, or technical levels.
Confidence
50% 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
### token_intelligence

**URL:** `GET https://api.dapplooker.com/v1/crypto-market/`

**Use when:** User asks about token price, market cap, volume, holders, social mindshare, or technical levels.
Confidence
50% 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
### token_intelligence

**URL:** `GET https://api.dapplooker.com/v1/crypto-market/`

**Use when:** User asks about token price, market cap, volume, holders, social mindshare, or technical levels.
Confidence
50% 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
### token_intelligence

**URL:** `GET https://api.dapplooker.com/v1/crypto-market/`

**Use when:** User asks about token price, market cap, volume, holders, social mindshare, or technical levels.
Confidence
50% 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
### token_intelligence

**URL:** `GET https://api.dapplooker.com/v1/crypto-market/`

**Use when:** User asks about token price, market cap, volume, holders, social mindshare, or technical levels.
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Natural-Language Policy Violations

Low
Confidence
88% confidence
Finding
The instruction says to 'Always use Polygon for payments' because the user's wallet is only funded there. This imposes a specific chain/locale constraint on payment behavior without presenting it as a user choice or opt-in, which can violate the policy against forced locale-specific behavior.

Static analysis

No suspicious patterns detected.