Back to skill

Security audit

Clash Verge Controller

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent Clash Verge controller guide, but it exposes high-impact proxy administration with unsafe network and credential handling defaults that users should review before installing.

Install only if you understand that this gives an agent guidance and sample code for administering your Clash Verge/mihomo controller. Keep the controller bound to 127.0.0.1 where possible, avoid wildcard CORS, do not expose the API over plaintext HTTP, avoid passing secrets on the command line, and require explicit confirmation before restart, config changes, cache flushes, rule changes, upgrades, or closing connections.

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 (3)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/clash_api_client.py:15
Finding

Bearer Credential Transmitted Over Plaintext HTTP

Content
View full analysis
` across the network. 4. An attacker with visibility into the network path captures the unencrypted request. 5. The attacker replays the bearer credential against the controller. 6. ...[truncated 871 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/clash_api_client.py:126
Finding

Controller Secret Exposed Through Command-Line Arguments

Content
View full analysis
`. 2. The shell records the complete command in its history, or a local process/audit tool records the command line. 3. Another local user, administrator, support operator, or compromised process obtains the recorded argument. 4. The observer extracts the reusable bearer secret. 5. The observer authenticates to the Clash/mihomo controller and invokes any API operations authorized by that secret. Successful remote reuse also depends on the controller being reachable from the attacker's location. ### Impact Assessment Disclosure of the secret grants controller-level API access rather than direct operating-system access. Depending on controller reachability and configuration, the exposed credential may allow an attacker to inspect network metadata, change proxy selection, update configuration, close connections, clear caches, or restart the service. The exposure scope is primarily local wh ...[truncated 161 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:34
Finding

Overly Permissive CORS and Private-Network Access Configuration

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (13)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/api_reference.md (reported line 217)May include surrounding context.

curl http://127.0.0.1:9090/group/Proxy

text

### DELETE /group/{group_name}

清除自动策略组的 fixed 选择

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
83% confidence
Finding

The documented ability to terminate all active connections is a powerful disruptive action that can immediately cut off user traffic or ongoing tasks. In an agent skill, exposing this operation without strong warnings, confirmation requirements, or guardrails makes accidental or abusive denial-of-service more likely.

Content

Scanner excerpt · references/api_reference.md (reported line 396)May include surrounding context.

curl "http://127.0.0.1:9090/connections?interval=1000"

text

### DELETE /connections

关闭所有连接

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

The endpoint allows arbitrary connection termination by ID, which can be used to disrupt targeted sessions and interfere with user activity. In the context of an automation skill, this becomes more dangerous because an agent may act on IDs programmatically without adequate validation or user awareness.

Content

Scanner excerpt · references/api_reference.md (reported line 405)May include surrounding context.

-H "Authorization: Bearer ${secret}"

text

### DELETE /connections/{id}

关闭指定连接

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill documents a destructive endpoint to close connections without clearly warning that it can immediately terminate active traffic, disrupt applications, and break user sessions. In a controller skill for network middleware, that omission increases the chance of accidental denial of service caused by an agent or user invoking the endpoint without understanding the impact.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 113)May include surrounding context.

md
proxies = requests.get(f"{API}/proxies", headers=headers).json()

# 切换节点
requests.put(
    f"{API}/proxies/Proxy",
    headers=headers,
    json={"name": "香港节点-01"}

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api_reference.md (reported line 20)May include surrounding context.

请求示例

bash
curl -H 'Authorization: Bearer ${secret}' \
     http://127.0.0.1:9090/configs?force=true \
     -d '{"path": "", "payload": ""}' -X PUT

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api_reference.md (reported line 66)May include surrounding context.

返回: 内存单位为 kb

bash
curl http://127.0.0.1:9090/memory

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The cache flush and similar irreversible maintenance actions are documented as routine calls without warning that they may disrupt DNS/FakeIP behavior or active sessions. In a skill consumed by agents, omission of safety guidance can lead to accidental destructive execution.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The document exposes high-impact management operations such as reloading configs, restarting, upgrading, and modifying runtime state, but it does not clearly warn that these actions can disrupt service, break connectivity, or apply destructive changes. In an agent skill context, this increases the chance that an automated system or user invokes these endpoints without understanding operational consequences.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The code defines a method that deletes all active connections via the API, which is a disruptive and potentially irreversible action. Although the method has an internal docstring, there is no confirmation prompt, visible user-facing log, or surrounding warning in this file to disclose the impact before use.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The connections API examples and response schema expose sensitive network metadata including source IP, destination IP, ports, and hostnames, but the documentation does not mention privacy or handling considerations. In an agent setting, this raises risk of overcollection, logging, or unintended disclosure of user network activity.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The natural-language descriptions and CLI help text in this file are presented only in Chinese, with no indication that users may choose another language or locale. Per the policy, forcing a single language without opt-in can be a locale-policy violation unless clearly justified.

Content

No source excerpt is available for this finding.