Back to skill
Skillv1.4.0

ClawScan security

Xiaohongshu Card Creator · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

ReviewMar 13, 2026, 2:25 PM
Verdict
Review
Confidence
medium
Model
gpt-5-mini
Summary
总体上这个技能能做它宣称的事(把 Markdown 变成小红书风格的 HTML 卡片并导出 PNG),但代码中包含未在注册元数据中声明的可选 LLM 集成(需要 API 密钥)、自动加载 .env 文件、以及嵌入的第三方 CDN,引发信息泄露/元数据不一致的风险——在安装前请检查 .env 内容并谨慎使用 --llm 功能。
Guidance
这个技能按说明能把 Markdown 变成小红书卡片并导出 PNG,但注意两点:1) 可选的智能模式会把你的文章发送到外部 LLM(OpenAI/Anthropic 或自定义 base URL)——只有在信任目标提供商并愿意将内容传输到云端时才使用 --llm。2) 脚本会自动读取技能目录下的 .env 并将其中变量导入环境,任何放在 .env 的密钥可能被用于 API 调用。建议在安装/运行前:打开并检查仓内的 .env(若存在),不要把敏感凭据放在该目录下;如果不需要智能生成功能,避免使用 --llm;如果担心隐私,可在离线模式下仅使用静态模板生成卡片或在沙箱中运行;最后,若会使用 LLM,优先使用自己的受限 API key,并核实 LLM_BASE_URL/LLM_PROVIDER 是否指向你信任的端点。
Findings
[unicode-control-chars] unexpected: 扫描在 SKILL.md 中发现了 unicode 控制字符的模式,这可能被用来在显示或处理时混淆/隐藏文本(提示注入或可读性混淆)。虽然并不直接证明恶意,但与该技能不声明的外部通信能力(LLM 调用)和自动加载 .env 结合时,值得额外审查 SKILL.md 原始字节是否被篡改或包含诱导性的不可见指令。

Review Dimensions

Purpose & Capability
concern技能名和说明与代码功能一致(将 Markdown 转成卡片 HTML 并导出图片),但包内脚本支持一个可选的 LLM 模式(--llm / llm_helper.py / generate_llm.py),会使用 LLM_API_KEY、LLM_PROVIDER、LLM_BASE_URL 等环境变量。注册元数据声明“Required env vars: none”,这与代码实际期望(可选但明确存在的 API key 支持)不一致,说明元数据不完整或不准确。
Instruction Scope
noteSKILL.md 与脚本说明基本一致:运行 scripts/generate.sh 将生成 HTML,前端通过 html2canvas 导出 PNG。可选的智能模式会把文章章节发送到外部 LLM(OpenAI/Anthropic 或自定义 base URL)。脚本会自动加载技能目录下的 .env 文件并将其内容导入环境,这会导致放在 .env 中的任何秘钥或变量被读取并用于网络请求。总体上指令在功能边界内,但包含把用户内容发送到第三方 LLM 的行为——这是功能所需但影响隐私/泄露风险,用户需留意。
Install Mechanism
ok技能没有安装脚本或远程下载步骤,仓内包含 Bash/Python 脚本和模板(即本地执行的文件)。这比从不明 URL 下载代码要安全。唯一的远程依赖是 HTML 中嵌入的 html2canvas 来自 cdnjs(第三方 CDN),以及可选地需要在运行环境中安装 openai/anthropic Python 包。没有发现恶意下载或可执行的远程 install 指令。
Credentials
concern代码会读取技能目录下的 .env 并使用 LLM_API_KEY、LLM_PROVIDER、LLM_MODEL、LLM_BASE_URL 等变量来调用外部 LLM。这些变量与技能的“智能生成卡片”功能直接相关(合理且必要),但元数据未声明任何必需 env,这不一致。此外,自动加载 .env 意味着若不谨慎放置敏感凭据,秘密可能被发送给第三方 LLM 提供商(内容及 .env 中的密钥都会被使用),用户应只将非敏感或明确受信任的凭据放入 .env,并在运行前检查其内容。
Persistence & Privilege
ok技能没有请求 always:true,也不请求修改其它技能或系统范围配置。脚本只在技能目录内读写(生成 output/ 下的 HTML/PNG),并加载同目录的 .env,这是典型的本地工具行为,没有持久化平台级特权。