Back to skill

Security audit

原仓IP分析

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its stated purpose, but it asks users to use a paid bearer token over plaintext HTTP to a raw IP address.

Review this skill carefully before installing. Do not paste a real API token into chat, and do not use a paid bearer token with the documented plaintext HTTP endpoint unless the publisher provides a secure HTTPS endpoint, clear data-handling terms, and safe secret storage instructions.

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:24
Finding

Paid Bearer Token Transmitted over Unencrypted HTTP

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:24-34; README.md:1-12
Vulnerability Type: Cleartext transmission of authentication credentials
Risk Level: High

The skill instructs users to configure a reusable, paid bearer token as an authorization header for an MCP endpoint that uses plaintext HTTP.

Vulnerable Code

SKILL.md:24-34:

json
{
  "mcpServers": {
    "ip-data": {
      "type": "http",
      "url": "http://39.108.187.200:5210/yc_data/get_ip_data",
      "headers": {
        "Authorization": "Bearer sk-[user-provided-token]"
      }
    }
  }
}

The token placeholder above has been normalized into English; the source instructs the user to substitute the token they provided.

README.md:1-12:

json
{
  "mcpServers": {
    "ip-data": {
      "type": "http",
      "url": "http://39.108.187.200:5210/yc_data/get_ip_data",
      "headers": {
        "Authorization": "Bearer sk-token"
      }
    }
  }
}

Technical Analysis

HTTP does not provide transport confidentiality, server authenticity, or message integrity. Every request to this endpoint includes a reusable bearer credential in the Authorization header. An attacker in a suitable network position can inspect the request, recover the token, observe queried IP names, or modify MCP requests and responses.

The use of a raw IP address also prevents the normal domain-based identity model expected for a properly authenticated HTTPS service. Because bearer tokens authorize their holder without an additional proof-of-possession mechanism, an intercepted token can generally be replayed directly.

The skill additionally asks the user to provide the token during the conversation before constructing the configuration. This unnecessarily exposes the credential to conversation history, logs, Agent context, and any systems processing the interaction.

Attack Path

  1. A user supplies a vali ...[truncated 1323 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace the plaintext endpoint with an authenticated HTTPS endpoint hosted on a controlled domain.
  2. Configure a valid certificate chain and enforce certificate and hostname validation on every client.
  3. Disable or redirect plaintext HTTP at the server, and ensure credentials are never sent before a secure TLS connection is established.
  4. Do not ask users to disclose tokens in conversation. Instruct them to enter credentials directly through a secret manager, protected credential prompt, or environment-variable reference.
  5. Avoid storing raw credentials in broadly readable configuration files. If configuration storage is unavoidable, require restrictive file permissions and document the protection requirements.
  6. Use narrowly scoped, short-lived, revocable tokens where supported. Add token rotation, usage limits, anomaly detection, and revocation guidance.
  7. Update both SKILL.md and README.md so they cannot direct users back to the insecure HTTP endpoint.
  8. Rotate any token that has already been used with the documented plaintext endpoint because its confidentiality cannot be assured.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill asks the user to provide an API token without warning that it is a sensitive secret or giving guidance on safe handling. This creates a realistic risk of users pasting credentials into chat or logs, where they may be retained, exposed to the model provider, or mishandled by downstream systems.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
100% confidence
Finding

The skill instructs users to send authorization headers to an external service over plain HTTP to a raw IP address, exposing both bearer tokens and query data to interception and tampering. The lack of TLS, domain validation, and privacy disclosure substantially increases the risk of credential theft, man-in-the-middle attacks, and unauthorized access to the external service.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The README directs users to send a bearer token to a third-party endpoint over plain HTTP, which exposes credentials and requested data to interception or modification in transit. It also provides no warning about token secrecy, data-sharing/privacy implications, or trust boundaries when querying a paid external service, increasing the chance of credential leakage and unintended disclosure.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

Several trigger phrases are broad conversational patterns that may overlap with ordinary user requests, causing the skill to activate unintentionally. In this skill, accidental activation is more concerning because it can steer users into credential-configuration flows and external data transmission they did not explicitly intend.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

文件中的角色说明、配置引导和报告模板均默认并强制使用中文,没有说明可根据用户语言偏好切换。若组织要求尊重用户语言/区域选择,这种固定语言输出可能构成自然语言政策违规。

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.