Back to skill

Security audit

redbook skill1.0

Security checks for vulnerabilities and agentic risk

Overview

This skill openly automates a daily Xiaohongshu beverage trend report to a user-configured Feishu webhook, with manageable privacy and link-safety cautions.

Before installing, confirm the Feishu webhook points to a private intended group, because generated trend summaries, links, and report attachments will be sent there on the configured schedule. Treat reference links in reports as untrusted unless the workflow validates them to expected HTTPS Xiaohongshu domains.

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

Warning
Location
assets/report_template.html:52
Finding

Unvalidated External URL in Generated HTML Report

Content
View full analysis
参考笔记: {% for link in hotspot.ref_links %} 笔记{{loop.index}} {% endfor %} ``` ### Technical Analysis The template inserts each value from `hotspot.ref_links` directly into an anchor element's `href` attribute. Based on the documented workflow, these links are derived from externally collected content. The audited package contains no validation that limits URLs to safe schemes or trusted Xiaohongshu domains. Context-aware HTML escaping may prevent an attacker from breaking out of the attribute, but it does not necessarily prevent dangerous URI schemes such as `javascript:` or redirects to attacker-controlled phishing sites. Consequently, a malicious or poisoned data record could become an active hyperlink in the generated report. The link also uses `target="_blank"` without `rel="noopener noreferrer"`. Although modern browsers commonly isolate new tabs by default, explicitly applying these values provides stronger protection against opener-based manipulation in older or embedded HTML viewers. ### Attack Path 1. An attacker introduces a crafted reference URL into content consumed by the hotspot collection workflow. 2. The workflow stores the crafted value in `hotspot.ref_links`. 3. The report renderer substitutes the value into the `href` attribute without scheme or destination validation. 4. A recipient opens the generated HTML report and clicks the reference link. 5. Depending on the URL and rendering environment, the link may execute script through an unsafe URI scheme or redirect the recipient to an attacker-controlled phishing or malware page. Successful exploitation requires attacker influence over a collected reference URL and user interaction with the ...[truncated 647 chars]
Remediation
View remediation
笔记{{ loop.index }} ``` 7. If invalid URLs must remain visible, render them as inert text rather than clickable links. 8. Add automated tests covering unsafe schemes, mixed-case schemes, encoded control characters, deceptive hostnames, malformed URLs, and valid trusted HTTPS URLs. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (5)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The README instructs users to configure a Feishu webhook and describes automatic report delivery, but it does not clearly warn that collected hotspot data and generated reports will be sent to an external third-party service. This is a real security and privacy transparency issue because operators may deploy the skill without understanding the outbound data flow, increasing the risk of unintended data disclosure or policy non-compliance.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill automatically pushes generated reports to an external Feishu webhook/group, but the relevant usage section does not prominently warn users that content will be sent off-platform on a schedule. This can lead to unintended disclosure of generated reports, links, or analyzed content to external recipients if users misconfigure the webhook or do not realize automatic delivery is enabled.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The phrase '专为小红书饮品赛道女性博主打造' frames the skill as specifically for female bloggers. That is a natural-language audience restriction based on gender, with no opt-in choice or documented justification, which can conflict with organizational neutrality or inclusion policies.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The FAQ instructs users to use the Asia/Shanghai timezone and not the default UTC timezone, which is a locale-specific requirement. The documentation does not offer user opt-in or clearly state up front that the skill is intended only for a China/Shanghai-based operating context, so this reads as a language/locale policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The HTML root sets lang="zh-CN", which hard-codes a specific language/locale for the rendered report. Under the policy, locale constraints should either be user-selectable or clearly justified; this file provides no such opt-in or justification.

Content

No source excerpt is available for this finding.