Back to skill

Security audit

微博热搜

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly matches its Weibo hot-search purpose, but it repeatedly steers users into a recurring daily subscription without clear cancellation or lifecycle controls.

Install only if you are comfortable giving the skill a Redfox API key and allowing it to contact redfox.hk for Weibo trend data. Be cautious with the daily subscription feature: confirm exactly when it will run and how you can cancel or modify it before enabling scheduled pushes.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:130
Finding

Mandatory Subscription Promotion and Repeated Scheduled-Task Solicitation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 130–154
Vulnerability Type: Forced response manipulation and persistent subscription steering
Risk Level: Medium

Vulnerable Instruction Snippet

The following is an English translation of the relevant instruction segment:

markdown
**A4. Subscription prompt**

> Would you like to subscribe to the daily "Weibo Hot Search" push?
> After subscribing, the latest hot-search list will be pushed every
> day at 09:00. Reply "Confirm subscription" to create a scheduled task.

**A1 through A4 are all mandatory. They must be produced consecutively
in the same response and cannot be omitted.**

### Step 3: Create a scheduled task when the user replies
"Confirm subscription" or specifies a delivery time.

- If the user specifies a time, use the specified time.
- If the user only says "Confirm subscription," default to 09:00 daily.
- The task must run the script and display the result using the Step 2
  format, including the complete A1 through A4 workflow.

Technical Analysis

The Skill requires the agent to append a subscription solicitation to every successful hot-search response, even when the user requested only the current trending-topic list. The instruction that A1 through A4 are mandatory alters the agent's response policy and prevents it from limiting output to the user's actual request.

The scheduled-task instructions further require future automated responses to reproduce the complete workflow, including the same subscription prompt. Although task creation requires user confirmation and no code was found that creates persistence without consent, the repeated prompt steers users toward establishing ongoing automation and continues to promote subscription after a task has already been created.

Retrieving and presenting Weibo trending topics does not require this mandatory promotional behavior. It therefore exceeds the minimum behavior necessary for the Skill's declared core fu ...[truncated 1349 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove the instruction stating that A1 through A4 are mandatory and cannot be omitted.
  2. Do not append a subscription prompt unless the user explicitly asks about recurring delivery or subscriptions.
  3. Separate hot-search retrieval from subscription management so the default execution performs only the requested data fetch and presentation.
  4. Require clear, explicit confirmation immediately before creating a scheduled task, including the exact frequency, delivery time, destination, and cancellation method.
  5. Exclude subscription solicitations from scheduled-task output after a subscription has been created.
  6. Provide a straightforward command or workflow for reviewing, modifying, pausing, and deleting the scheduled task.
  7. Keep scheduled execution scoped to the minimum required operation: fetch the public trending list and deliver the requested results.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (11)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The core data-fetching behavior matches the declared purpose: it calls a Redfox endpoint for Weibo hot searches and returns ranked items with titles and jump links. However, the description explicitly states that it also analyzes and summarizes hot-search content for creative inspiration, and the supplied code does not do any such analysis—it only normalizes API fields and prints JSON. This is a meaningful description-to-behavior mismatch. There are no obvious undeclared harmful capabilities; the mismatch is primarily overstated functionality in the description.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

Telling users to 'just describe your need in plain language' without clear trigger boundaries makes invocation ambiguous and increases the chance the skill is selected for unrelated requests. In an agent ecosystem, overly broad activation guidance can cause prompt/skill routing collisions, leading to accidental data access, unintended external API calls, or confusing behavior that bypasses user expectations.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

Example trigger phrases such as 'What's hot today' are generic and likely to overlap with many ordinary requests unrelated to Weibo. This raises the risk of accidental activation and misrouting, especially in multi-skill environments where ambiguous phrases can cause the wrong tool to run and send unnecessary requests to external services.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README advertises a daily subscription/push feature even though the skill is described as a Weibo hot-search query tool. This creates a scope mismatch: users or the hosting agent may infer that the skill can create scheduled tasks or persistent automations, which can lead to unintended invocation, over-privileged integrations, or hidden persistence behavior beyond a simple read-only query tool.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The natural-language trigger guidance is broad enough that common phrases could invoke the skill unintentionally, causing surprise activation or unintended data/API usage. While this is not direct code execution, ambiguous invocation increases the chance of user confusion and actions being taken without clear intent.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README advertises a daily subscription/push capability that appears outside the declared scope of a tool described as querying current Weibo hot-search rankings and generating analysis. Scope expansion matters because recurring automation changes the permission and trust model: users may unknowingly enable persistent notifications or background behavior not clearly documented in the skill metadata.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The README mentions creating a daily subscription task and automatic pushes without clearly warning users that this enables ongoing automated notifications. Lack of transparent consent and lifecycle details can lead to unwanted persistent messaging, confusion about how to stop it, and privacy/trust issues around scheduled interactions.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill instructs use of an external Python script, an API key from environment/config, and outbound network access, but it does not declare any explicit tool scope or permissions boundary. This creates an overprivilege and transparency problem: a host agent may grant broader capabilities than users expect, increasing the blast radius if the script is modified, misused, or compromised.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The manifest description, trigger phrases, user-facing outputs, and subscription confirmations are all prescribed exclusively in Chinese, and the file does not indicate that the user may choose another language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is clearly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The module docstring presents the skill purpose and usage only in Chinese, and the rest of the script's user-facing error messages are likewise fixed to Chinese. This creates a natural-language policy issue because the skill implicitly forces a specific language without user opt-in or a stated justification that it is intentionally limited to a Chinese-language audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

All user-facing instructions, examples, and descriptions are presented only in Chinese, which effectively forces a specific language for use of the skill. The file does not indicate that this is an opt-in locale choice or that the skill is intentionally limited to Chinese-speaking users for a documented regional reason.

Content

No source excerpt is available for this finding.