Back to skill

Security audit

视频号作品查询

Security checks for vulnerabilities and agentic risk

Overview

The search function fits its purpose, but its automatic recharge workflow installs payment software and handles payment details unsafely.

Before using automatic recharge, require separate approval for software installation and the exact payment, pin the payment package, and correct payment-field validation and shell handling. Search terms go to RedFox, so avoid confidential queries. Daily subscriptions continue until removed.

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
references/alipay-recharge.md
Finding

External payment metadata is interpolated into shell commands

Content
View full analysis

Impact

An adversarial response provider can execute arbitrary local commands during payment preparation, before user approval in the payment application.

Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (9)

Tainted flow: 'req' from os.environ.get (line 79, credential/environment) → urllib.request.urlopen (network output)

Critical
Category
Data Flow
Confidence
90% confidence
Finding

Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.

Content

Scanner excerpt · scripts/search_wechat_channels.py (reported line 91)May include surrounding context.

python
)

    try:
        with urllib.request.urlopen(req, timeout=15) as resp:
            result = json.loads(resp.read().decode("utf-8"))
    except urllib.error.HTTPError as e:
        body = e.read().decode("utf-8", errors="replace")

The search workflow escalates an insufficient-credit error into an automatic payment workflow without an explicit user-approval gate.

High
Category
Prompt Injection
Confidence
94% confidence
Finding

The documented workflow turns an insufficient-credit response into payment submission and automatic query resumption without requiring explicit approval of the charge. This crosses the authorization boundary between requesting search results and authorizing spending, using payment details supplied by an external API response. The referenced payment guide was not provided, so downstream safeguards cannot be verified, but this file itself establishes no approval gate or spending limit.

Content

No source excerpt is available for this finding.

A search failure is reframed as a mandatory payment workflow without an explicit user-authorization step.

High
Category
Prompt Injection
Confidence
98% confidence
Finding

On an insufficient-credit response, the script emits mandatory instructions directing the agent to initiate and monitor an Alipay recharge using API-supplied payment links and amounts, without first obtaining explicit user authorization. A content-search request does not authorize a financial workflow, and trusting these response fields could expose the user to unwanted payment requests or phishing if the upstream response is compromised. The script itself does not execute a payment, and the provided material does not establish that Alipay's final confirmation can be bypassed.

Content

No source excerpt is available for this finding.

The search usage instructions do not disclose that search keywords are shared with an external service.

Medium
Category
Output Handling
Confidence
83% confidence
Finding

The README identifies RedFoxHub as the API-key provider but does not explicitly disclose that search keywords will be transmitted to an external service. Users could consequently submit confidential campaign topics or other sensitive queries without understanding the disclosure; however, external processing is consistent with this search skill's purpose, and the supplied documentation does not establish malicious exfiltration or the provider's actual data-handling practices.

Content

No source excerpt is available for this finding.

Skill declares no tool scope ('permissions' or 'allowed-tools') but code capabilities were detected: env, file_write, network.

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.

The search workflow sends user-derived keywords to a third-party API without a privacy warning.

Medium
Category
Output Handling
Confidence
90% confidence
Finding

The workflow instructs the agent to submit keywords extracted from the user's request through the search script. Although lines 249–272 document the Redfox API credentials and endpoint, the skill does not warn users that their search terms will be transmitted to redfox.hk, which matters when queries contain sensitive information.

Content

No source excerpt is available for this finding.

The workflow automatically installs a CLI without warning the user about local system changes.

Medium
Category
Output Handling
Confidence
96% confidence
Finding

The workflow directs the agent to install a missing CLI automatically, without an explicit approval step for executing downloaded code or making local system changes. A video-search request does not inherently authorize software installation, and allowing an API insufficient-balance response to trigger installation broadens the trust boundary beyond the original task.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y @alipay/agent-payment'.

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The installation command uses the mutable @latest tag and npx -y, allowing newly published package code to run without an interactive installation prompt. A compromised package release could execute with the agent's local permissions and potentially access credentials or manipulate the payment workflow; this is a CLI supply-chain issue, not specifically an MCP-server issue.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y @alipay/agent-payment'.

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.