Back to skill
v0.1.1

Xhs Md2img

BenignClawScan verdict for this skill. Analyzed May 1, 2026, 6:38 AM.

Analysis

This skill is coherent for turning Markdown into XHS-style card images, but it uses external AI/image services, API keys, browser rendering, and optional cloud-hosted outputs.

GuidanceBefore installing, make sure you are comfortable sending content-derived prompts to DashScope or Gemini when AI backgrounds are enabled, use a scoped API key, and disable AI backgrounds or cloud upload for sensitive Markdown.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

Abnormal behavior control

Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.

Unexpected Code Execution
SeverityLowConfidenceMediumStatusNote
references/browser-screenshot-spec.md
Launch browser in headless mode.
...
Capture each card element separately.

Headless browser rendering is central to the skill's screenshot purpose, but browser-based rendering of user-supplied Markdown should be implemented carefully.

User impactIf an implementation renders untrusted Markdown/HTML without safeguards, embedded remote resources or scripts could affect the browser rendering session.
RecommendationUse trusted Markdown where possible; implementations should sanitize or restrict raw HTML, disable unnecessary script execution, and control remote resource loading.
Agentic Supply Chain Vulnerabilities
SeverityInfoConfidenceHighStatusNote
requirements.txt
httpx>=0.24.0
openai>=1.0.0
playwright>=1.40.0
oss2>=2.18.0

The package list includes network, LLM, browser automation, and cloud storage libraries with lower-bound versions; no automatic install is specified.

User impactIf you install these dependencies yourself, the exact resolved package versions may vary over time.
RecommendationInstall from trusted package indexes, pin versions in your environment, and review dependency updates before use.
Permission boundary

Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.

Identity and Privilege Abuse
SeverityLowConfidenceHighStatusNote
references/api-reference.md
Headers:
  Authorization: Bearer {DASHSCOPE_API_KEY}

The skill uses a provider API key to call DashScope for image generation, which is expected for AI backgrounds but still grants use of the user's provider account and quota.

User impactUsing the skill may consume API quota or incur provider-side usage under your account.
RecommendationUse a limited-purpose API key where possible, monitor provider usage, and only provide keys for providers you intend this skill to use.
Sensitive data protection

Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.

Insecure Inter-Agent Communication
SeverityLowConfidenceHighStatusNote
references/api-reference.md
Both providers receive an enhanced prompt that enforces subtlety

The documentation discloses that generated prompts are sent to external image providers; this is purpose-aligned but means content-derived data can leave the local environment.

User impactPrivate or sensitive text used to create backgrounds could be reflected in prompts sent to third-party AI services.
RecommendationAvoid sensitive Markdown when AI backgrounds are enabled, or set bg_style to none for private content.
Insecure Inter-Agent Communication
SeverityLowConfidenceMediumStatusNote
SKILL.md
"url": "https://...",
      "oss_uploaded": true
...
If OSS is not configured, return `data_uri` for each page.

The output contract allows generated cards to be returned as hosted URLs when object storage is configured, otherwise as data URIs.

User impactGenerated images may be uploaded to cloud object storage if that path is configured.
RecommendationFor private content, confirm OSS/cloud upload is disabled or that the destination bucket and URL permissions are appropriate.