Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

mermaid-canvas

v1.0.0

Render Mermaid code into PNG images supporting all 27 Mermaid 11 chart types, with optional upload to Feishu docs, requiring no API keys.

0· 47·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
Capability signals
CryptoCan make purchases
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The skill's code and instructions align with the stated purpose (generate PNGs from Mermaid). However the SKILL.md advertises '飞书集成' (Feishu upload) and 'zero API keys' while the package declares no Feishu credentials; the code mentions feishu_doc_media only in docstrings and the upload functions are unimplemented stubs, so the Feishu integration is not fully specified. Relying on platform-provided Feishu tools (which may carry credentials) is plausible but not declared explicitly, creating a transparency gap.
!
Instruction Scope
Runtime instructions generate a local HTML that loads mermaid from jsdelivr CDN and ask the agent to use a browser tool to navigate and snapshot that HTML. The HTML sets mermaid.initialize({securityLevel: 'loose'}), which weakens sanitization and can allow embedded HTML/script in diagrams. The fallback uses mermaid.ink (an external API) by base64-encoding the diagram and fetching a PNG. Both behaviors involve sending user diagram content to external endpoints and executing remote JS in the browser context — reasonable for rendering but raises exfiltration/XSS risks if diagrams contain malicious payloads or sensitive data.
Install Mechanism
No install spec — instruction-only plus a helper script. No archives or downloads beyond the runtime loading of external CDN resources (jsdelivr and mermaid.ink) at render time. Low install-time risk.
Credentials
Skill declares no required environment variables or primary credential. That is coherent for standalone rendering. The claimed Feishu upload is not backed by declared Feishu credentials; it likely expects the agent/platform to provide an existing feishu_doc_media tool or credentials. If the platform does not provide those, Feishu upload won't work; if it does, the skill will gain access to whatever credentials that platform tool exposes. The skill itself does not request unrelated secrets.
Persistence & Privilege
Skill does not request persistent 'always' inclusion or write system-wide config. It writes temporary HTML files to the OS temp directory for rendering, which is expected and proportionate.
What to consider before installing
This skill appears to be what it claims — it generates PNGs from Mermaid — but proceed with caution. Things to check before installing or using it: - Feishu upload: The skill advertises optional Feishu integration but declares no Feishu credentials. Confirm how upload is implemented in your OpenClaw environment (does it call a platform feishu_doc_media tool that already has credentials?). Do not supply unrelated secrets to this skill; instead verify the platform-level Feishu integration. - Remote resources and data exfiltration: The generated HTML loads mermaid from jsdelivr and the script uses securityLevel: 'loose'. That allows more permissive HTML/JS in the rendering page and could execute content embedded in diagrams. The fallback sends the diagram (base64-encoded) to mermaid.ink. Avoid rendering diagrams that contain sensitive information (passwords, API keys, private system details) because that data could be transmitted or executed remotely. - Hardening suggestions: If you control the environment, prefer serving mermaid locally (avoid CDN), set securityLevel to a stricter option (if available), or sanitize diagram text before rendering. Require an explicit, reviewed implementation for Feishu upload that documents how credentials are used. - Operational note: The script returns an HTML path and expects the platform 'browser' tool to load and snapshot it — confirm that the browser environment is sandboxed and that snapshots do not leak local files or agent secrets. If you can get answers about how Feishu uploads are implemented and can accept the runtime use of external CDNs/APIs (or replace them with offline alternatives), the skill is usable. If you need to render sensitive diagrams, do not use the default CDN/fallback without hardening.

Like a lobster shell, security has layers — review code before you run it.

latestvk974pra31v0d8gjqb04ke7j7n984jmk2

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Comments