Back to skill

Security audit

Xhs Html Creator

Security checks for vulnerabilities and agentic risk

Overview

This creative skill mostly generates Xiaohongshu images, but it can send generated screenshots to a hard-coded Feishu account without clear user control.

Review before installing. Use it only if you are comfortable with generated images being sent through Feishu, and replace or remove the hard-coded recipient and local paths first. Prefer a local-only workflow unless each external send shows the destination and requires explicit confirmation.

Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • 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 (20)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
for img in images:
    path = os.path.join(shots_dir, img)
    print(f'Sending {img}...', flush=True)
    result = subprocess.run(
        ['python', script, path, user_id],
        capture_output=True
    )
Confidence
96% confidence
Finding
The code invokes an external Python script through subprocess to send files to a hardcoded Feishu user, creating a data-transfer capability beyond local image generation. Although arguments are passed as a list rather than a shell string, the behavior still enables exfiltration of generated content and delegates security-sensitive actions to another script that is outside this file's control.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
The skill includes a built-in ability to send generated images to a fixed Feishu user ID, which is unrelated to merely generating content for the current user. Hardcoded third-party recipients create a direct exfiltration path for user data and outputs, and the danger is heightened here because the workflow says the user does not participate in review before images are sent out.

Context-Inappropriate Capability

Medium
Confidence
90% confidence
Finding
The documented use of subprocess to invoke an external script introduces arbitrary process-execution capability into a content-creation skill. Even if intended for image delivery, subprocess expands the attack surface, can be repurposed for unintended command execution, and bypasses safer, more constrained integrations. In this skill, the risk is compounded because the subprocess is used in support of outbound sharing to a fixed user.

Context-Inappropriate Capability

Low
Confidence
95% confidence
Finding
The HTML imports Google Fonts from an external domain, which causes the generated output to make a network request when opened. In a content-generation skill, this is unnecessary to core functionality and creates privacy, tracking, availability, and supply-chain exposure if the external resource is blocked, modified, or logged.

Description-Behavior Mismatch

Low
Confidence
93% confidence
Finding
The HTML imports a Google Fonts stylesheet from an external domain, which causes network access when the file is rendered. In a workflow described as generating content from local materials, this introduces unnecessary third-party dependency, metadata leakage (IP/user agent/timing), and reduced determinism/offline portability.

Context-Inappropriate Capability

Low
Confidence
94% confidence
Finding
The HTML artifact imports Google Fonts from an external domain, which causes network access when the file is opened and leaks viewer metadata such as IP address, user agent, and access timing to a third party. For a supposedly local content-generation output, this expands the trust boundary and can break offline use, privacy expectations, or restricted-environment policies even though it is not active script execution.

Context-Inappropriate Capability

Low
Confidence
89% confidence
Finding
The HTML imports Google Fonts from an external domain, which causes network access when the file is opened. In a local post-cover/image generation skill, this is unnecessary data egress and creates privacy, tracking, reliability, and supply-chain exposure because rendering now depends on a third-party service.

Description-Behavior Mismatch

Low
Confidence
94% confidence
Finding
The HTML imports a remote font from fonts.googleapis.com, creating an external network dependency that is not described in the skill metadata. Even though this is common for styling, it can leak runtime metadata such as IP address/user agent, break in restricted environments, and violate expectations for an offline/local content-generation skill.

Context-Inappropriate Capability

Low
Confidence
91% confidence
Finding
The HTML includes a remote Google Fonts stylesheet, which causes the generated local document to make an external network request when opened. In this skill context, the output is expected to be a self-contained 小红书 graphic page, so the remote fetch unnecessarily leaks access metadata such as IP address, user agent, timing, and referrer context to a third party and creates a dependency on external availability.

Context-Inappropriate Capability

Low
Confidence
82% confidence
Finding
The script depends on an HTTP service on 127.0.0.1:8899 without any verification of what process is serving that content. In a hostile or multi-tenant environment, another local process could bind that port and supply attacker-controlled HTML, causing the browser automation to render untrusted content and potentially access local-only resources or produce tampered outputs.

Description-Behavior Mismatch

Medium
Confidence
97% confidence
Finding
The code sends generated images to an external Feishu messaging script even though the stated skill workflow is image creation and review, not outbound messaging. This hidden exfiltration channel can transfer user-generated or sensitive content to an external service without clear user consent or manifest disclosure, which is especially suspicious given the hard-coded destination and local absolute paths.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
The skill includes a hard-coded Feishu recipient and automatically pushes files to that recipient, which is unrelated to the declared purpose of creating Xiaohongshu images. A fixed external recipient strongly suggests unauthorized data transfer or covert delivery behavior, making the skill context more dangerous because users would not reasonably expect generated assets to be sent off-platform.

Description-Behavior Mismatch

Medium
Confidence
99% confidence
Finding
This file transmits generated images to an external Feishu recipient using a hardcoded user ID, but the declared skill purpose only describes creating Xiaohongshu image content and user confirmation of delivery. Hidden outbound transmission to a fixed recipient is a strong indicator of unauthorized data exfiltration or undisclosed side-channel sharing.

Context-Inappropriate Capability

Medium
Confidence
98% confidence
Finding
Launching a separate script to transmit images adds an unnecessary and opaque capability unrelated to the stated image-creation workflow. This separation can conceal network activity, bypass normal review of the main skill logic, and make unauthorized exfiltration harder to detect.

Description-Behavior Mismatch

High
Confidence
99% confidence
Finding
The skill is described as generating Xiaohongshu image content, but this code silently sends generated images to a hard-coded Feishu user ID through an external script. That creates an undisclosed outbound data flow and could leak user content, proprietary material, or generated assets to an external recipient without user consent.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
The code delegates to an external Feishu delivery script that is unrelated to the stated purpose of generating Xiaohongshu image posts. This hidden integration expands the trust boundary, obscures what happens to generated outputs, and enables unauthorized distribution of content outside the skill's declared workflow.

Description-Behavior Mismatch

Medium
Confidence
96% confidence
Finding
The code automatically sends generated images to a hard-coded external Feishu recipient, but that outbound delivery behavior is not disclosed in the stated skill purpose. This creates an unauthorized data exfiltration channel for generated or source-derived content and bypasses user awareness and consent.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
A content-creation skill is expected to generate assets, not silently transmit them to an external messaging account. Hard-coding external delivery capability and a recipient ID materially expands the skill's privileges and creates a clear path for unapproved sharing of potentially sensitive content.

Description-Behavior Mismatch

Low
Confidence
93% confidence
Finding
The template imports Google Fonts via a remote URL, which causes the skill to contact a third-party service during rendering. In a skill advertised as local content generation, this creates an undeclared external dependency and leaks metadata such as IP address, user agent, timing, and potentially usage patterns to Google or any intermediary network observer. The skill context makes this somewhat more concerning because the function is simple HTML image/content creation and does not require external network access to work.

Context-Inappropriate Capability

Low
Confidence
88% confidence
Finding
The template imports Google Fonts from an external domain, which creates an outbound network dependency in a skill that otherwise appears to be a local HTML rendering template. This can leak usage metadata such as IP address, timing, and user agent to a third party, and can also cause rendering failures or policy violations in restricted or offline environments.

Static analysis

No suspicious patterns detected.