T09 · Insecure Skill Coding Practices
- Location
SKILL.md:26- Finding
Helius API Credential Exposed Through URL Query Strings
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a coherent Solana/Helius API reference skill, with a credential-handling documentation risk but no hidden execution, persistence, or unrelated data access.
Use this skill only with wallet addresses and transaction signatures you are comfortable sending to Helius. Set a scoped Helius API key where possible, prefer the X-Api-Key header instead of placing the key in URLs, and avoid logging full request URLs that contain credentials.
SKILL.md:26Helius API Credential Exposed Through URL Query Strings
The activation description includes generic phrases such as "wallet history," "transaction details," and "check solana address" alongside a broad catch-all of "other Solana on-chain data." In a manifest/markdown context, these terms are not narrowly constrained and could overlap with ordinary requests, increasing the chance of unintended invocation.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Base URLs
- **Wallet API:** `https://api.helius.xyz/v1/wallet/{address}/...?api-key=KEY`
- **Enhanced Transactions:** `https://api-mainnet.helius-rpc.com/v0/...?api-key=KEY`
Auth: `?api-key=$HELIUS_API_KEY` query param or `X-Api-Key` header.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Base URLs
- **Wallet API:** `https://api.helius.xyz/v1/wallet/{address}/...?api-key=KEY`
- **Enhanced Transactions:** `https://api-mainnet.helius-rpc.com/v0/...?api-key=KEY`
Auth: `?api-key=$HELIUS_API_KEY` query param or `X-Api-Key` header.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Base URLs
- **Wallet API:** `https://api.helius.xyz/v1/wallet/{address}/...?api-key=KEY`
- **Enhanced Transactions:** `https://api-mainnet.helius-rpc.com/v0/...?api-key=KEY`
Auth: `?api-key=$HELIUS_API_KEY` query param or `X-Api-Key` header.
The documentation places the API key directly in the URL query string, which is risky because full URLs are commonly captured in browser history, server/access logs, proxy logs, monitoring systems, and referrer headers. Even in reference documentation, this pattern can encourage downstream implementations that leak credentials unintentionally.