T09 · Insecure Skill Coding Practices
- Location
SKILL.md:88- Finding
Linkable Blockchain Query Data Is Disclosed to an External Service
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 88-91 and 122
Vulnerability Type: External disclosure of linkable wallet-query information
Risk Level: MediumVulnerable Code
bash # Query free quota curl "https://security-api.example.com/v1/usage" \ -H "X-Client-Fingerprint: agent-default"The documentation also states that the service falls back to the caller's IP address and User-Agent when the fingerprint header is absent.
Technical Analysis
The Skill instructs the Agent to send a stable
X-Client-Fingerprintto an external API. Address and token inspection requests additionally disclose blockchain addresses and chain IDs. The service can associate these queries with the supplied fingerprint and, through ordinary network metadata, the caller's IP address and User-Agent.Sending an address or token identifier is necessary for the advertised remote reputation check. However, a stable client fingerprint is required for quota accounting rather than for the core security analysis. The hardcoded
agent-defaultvalue also does not provide meaningful client authentication or isolation. The Skill does not identify the actual service operator, state a retention policy, require informed user consent, or provide a privacy-preserving alternative.This is not covert credential exfiltration, and blockchain addresses are generally public. Nevertheless, the collection of repeated queries can reveal which wallets, tokens, or intended transactions interest a particular caller.
Attack Path
- A user asks the Agent to assess a wallet or token before a transaction.
- The Agent sends the address, chain ID, and stable client fingerprint to the remote API.
- The API operator records the submitted values and network metadata.
- Repeated checks are correlated through the fingerprint, IP address, or User-Agent.
- The resulting profile may reveal wallet interests, token research, or prospecti ...[truncated 504 chars]
- Remediation
View remediation
Remediation Suggestions
- Require explicit user approval before transmitting wallet or token queries to an external service.
- Identify the real API operator and provide links to its privacy, retention, and deletion policies.
- Clearly disclose every transmitted field, including address, chain ID, fingerprint, IP address, and User-Agent.
- Replace the shared
agent-defaultvalue with a random, scoped, and periodically rotated quota identifier. - Avoid silently falling back to IP/User-Agent fingerprinting. If fallback is unavoidable, disclose it before the request and allow the user to decline.
- Minimize server logs and define short retention periods for query data and network metadata.
- Offer a local or privacy-preserving lookup mode where practical.
- Ensure API keys, if later used, are sent only to a verified HTTPS origin and are never logged.
