Back to skill

Security audit

crypto skill

Security checks for vulnerabilities and agentic risk

Overview

This crypto data API is coherent, but it tells users to send long-lived access tokens and group-chat queries over unencrypted HTTP, creating credential and data exposure risk.

Review this skill carefully before use. Only use it if you trust the API operator and the provenance of the chat data. Do not send real Bearer tokens to the documented HTTP endpoint; require HTTPS or use a narrowly scoped, revocable token. Treat KOL and market outputs as informational and avoid redistributing group-chat summaries unless you have authorization.

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

Error
Location
skill.md:23
Finding
Bearer API Tokens Are Transmitted over Unencrypted HTTP<![CDATA[ ## Vulnerability Details **File Locations**: - `skill.md:23-36, 50-51, 73-74, 102-107, 137-146, 172-181, 208-213, 238-239` - `README.md:28-37` - `openapi.json:9-15, 212-221` - `PUBLISH.md:29-32` **Vulnerability Type**: Cleartext transmission of sensitive authentication credentials **Risk Level**: High **Classification**: T09: Insecure Skill Coding Practices ### Vulnerable Code The main documentation defines Bearer-token authentication while specifying an unencrypted HTTP endpoint: ```markdown **Authentication method**: Bearer Token Authorization: Bearer <your-access-token> - **Base URL**: `http://88.222.241.169` ``` Authenticated examples in `skill.md` send the token directly over HTTP: ```bash curl "http://88.222.241.169/api/v1/group_ca/by-ca/7m3HtU4RDiXWpAt546HHC7Lho3Qzvz6tx2MiAmLiHpLn" \ -H "Authorization: Bearer YOUR_TOKEN" ``` ```bash curl "http://88.222.241.169/api/v1/group_ca/latest?limit=5" \ -H "Authorization: Bearer YOUR_TOKEN" ``` ```bash curl "http://88.222.241.169/api/v1/token/usage" \ -H "Authorization: Bearer YOUR_TOKEN" ``` The quick-start instructions in `README.md` repeat the insecure pattern: ```bash curl "http://88.222.241.169/api/v1/group_ca/by-ca/7m3HtU4..." \ -H "Authorization: Bearer YOUR_TOKEN" curl "http://88.222.241.169/api/v1/group_ca/latest?limit=5" \ -H "Authorization: Bearer YOUR_TOKEN" curl "http://88.222.241.169/api/v1/summaries?group_name=cryptoD&limit=10" \ -H "Authorization: Bearer YOUR_TOKEN" ``` The OpenAPI specification globally combines an HTTP server with Bearer authentication: ```json "servers": [ { "url": "http://88.222.241.169", "description": "Production server" } ] ``` ```json "components": { "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer" } } }, "security": [ { "bearerAuth": [] } ] ``` The publication metadata confirms the same configuration: ```markdown - **Protocol**: HTTP REST API - **Authentication**: B ...[truncated 3098 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. **Deploy HTTPS on the production API** - Assign the service a dedicated DNS hostname. - Install a certificate issued by a trusted certificate authority. - Permit authenticated API traffic only over TLS 1.2 or TLS 1.3. - Disable obsolete protocols and weak cipher suites. 2. **Update every documented endpoint** - Replace all occurrences of `http://88.222.241.169` with the canonical HTTPS origin. - Update `skill.md`, `README.md`, `PUBLISH.md`, and the OpenAPI `servers` entry. - Ensure generated Swagger clients also default exclusively to HTTPS. 3. **Do not rely on HTTP redirection to protect credentials** - Clients must send their initial authenticated request directly to HTTPS. - An HTTP-to-HTTPS redirect cannot protect a token already included in the original plaintext request. - Reject authentication headers received over insecure transport. 4. **Rotate potentially exposed credentials** - Revoke tokens that may have been used with the documented HTTP commands. - Issue replacement tokens only after HTTPS enforcement is active. - Reduce the documented one-year lifetime and support immediate revocation and routine rotation. 5. **Harden token handling** - Store only cryptographic hashes of API tokens on the server where feasible. - Use narrowly scoped tokens and apply least privilege. - Avoid recording Authorization headers in application, reverse-proxy, or monitoring logs. - Detect suspicious replay, unusual source changes, and abnormal quota consumption. 6. **Protect response integrity** - Enforce HTTPS for documentation and Swagger UI as well as API traffic. - Consider HSTS after confirming that all service paths support HTTPS. - For high-integrity automated financial workflows, consider signed responses or application-level authenticity checks in addition to TLS. ]]>
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 (7)

Natural-Language Policy Violations

Medium
Confidence
92% confidence
Finding
The document presents all user-facing instructions and descriptions exclusively in Chinese, and does not mention that the skill is limited to Chinese-speaking users or provide any opt-in for language preference. Under the language/locale policy, forcing a specific language without user choice is a natural-language policy violation unless clearly justified.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The README advertises APIs for querying group chat summaries, KOL discussions, and contract-address discussion tracking without any warning about handling potentially private, sensitive, or non-consensually aggregated conversation data. This can normalize unsafe use, increase the likelihood of privacy violations or unauthorized redistribution of chat content, and expose operators and users to legal, reputational, and compliance risk.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill directs users to send Bearer tokens and potentially sensitive group chat summary queries over plain HTTP to a raw IP address, with no warning about interception or privacy risks. This can expose credentials and queried data to man-in-the-middle attackers or network observers, especially on untrusted networks.

External Transmission

Medium
Category
Data Exfiltration
Content
GET /api/v1/group_ca/by-ca/{CA}

# Step 2: 查看链上基础数据(DexScreener直接访问)
https://api.dexscreener.com/latest/dex/tokens/{CA}

# Step 3: 安全审计(GMGN via Jina AI)
https://r.jina.ai/http://gmgn.ai/sol/token/{CA}
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
GET /api/v1/group_ca/by-ca/{CA}

# Step 2: 查看链上基础数据(DexScreener直接访问)
https://api.dexscreener.com/latest/dex/tokens/{CA}

# Step 3: 安全审计(GMGN via Jina AI)
https://r.jina.ai/http://gmgn.ai/sol/token/{CA}
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
96% confidence
Finding
This OpenAPI manifest uses Chinese-only natural-language text in the title, descriptions, and server description, which can impose a fixed language on users or downstream agent tooling. The file does not indicate that the API is region-specific or provide any opt-in or alternative locale, so it fits the language/locale policy concern.

Natural-Language Policy Violations

Low
Confidence
86% confidence
Finding
A language or locale policy issue can arise when a skill forces a specific language without user opt-in. This file is entirely Chinese-language and does not indicate that other languages are available or that the locale restriction is intentional and justified.

Static analysis

Detected: suspicious.install_untrusted_source

Install source points to URL shortener or raw IP.

Warn
Code
suspicious.install_untrusted_source
Location
openapi.json:9