Back to skill
Skillv1.0.2

ClawScan security

Markdown Canvas · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

SuspiciousMar 3, 2026, 6:12 AM
Verdict
suspicious
Confidence
high
Model
gpt-5-mini
Summary
The skill is coherent with its stated purpose (converting .md to HTML) but the converter fails to sanitize or escape general markdown content (only code blocks are escaped), creating a clear XSS / unsafe-output risk — a sloppy but likely unintentional vulnerability.
Guidance
This skill does what it says (convert .md → .html) and only needs python3, but it has a security bug: the converter inserts most markdown output into the template without escaping or sanitizing it. That means a malicious or untrusted .md file could inject HTML (including <script> tags) or use javascript: links that execute when the output is opened or shared. Before installing or using on untrusted content: (1) avoid opening or publishing generated HTML from untrusted sources; (2) prefer or request that the author add proper escaping/sanitization (use a well-maintained Markdown library + an HTML sanitizer such as Python's markdown + bleach, or ensure process_inline_formatting applies escape_html before inserting text and validate/sanitize URLs); (3) review or test the script locally with representative inputs; (4) consider using established tooling that enforces safe defaults. If you only convert trusted personal notes, the risk is lower, but heed caution when sharing or running on external markdown.

Review Dimensions

Purpose & Capability
okName, description, SKILL.md, package.json, template, and the convert.py script all align: this is a simple local Markdown→HTML renderer that requires only python3. Required binaries/env/configs are proportionate.
Instruction Scope
concernSKILL.md limits runtime actions to running scripts/reading the template and optionally opening or pushing the generated file. However, convert.py does not escape or sanitize most user-provided markdown content (headers, paragraphs, links, inline formatting are injected directly into the template). Only code blocks are escaped. That can produce HTML containing raw tags or javascript: links and enable XSS or unexpected script execution when opening or sharing the output.
Install Mechanism
okInstruction-only skill with no install spec; only requires python3 on PATH. No downloads or archive extraction present.
Credentials
okNo environment variables, no credentials, and no config paths requested. The skill does not ask for unrelated secrets or system credentials.
Persistence & Privilege
okalways:false and no installation hooks are present. The skill does not request persistent/system-level privileges or modify other skills' configuration.