Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
pixelmsg
v1.0.0Render HTML templates to pixel-perfect PNG image cards using Playwright and send them as rich image messages — instead of plain text. Use this skill whenever...
⭐ 0· 55·0 current·0 all-time
byAster@clarence-g
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
Capability signals
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
OpenClaw
Suspicious
medium confidencePurpose & Capability
Name/description (render HTML → PNG with Playwright) matches the included code (screenshot.mjs, render.sh, templates). However the skill does not declare required runtime binaries or dependencies (Node.js, playwright/chromium) even though package.json/package-lock and README demonstrate they are required — that's an incoherence between metadata (no required binaries/env) and implementation.
Instruction Scope
SKILL.md instructs authors to 'inline all data — no external API calls at render time', but included templates contradict that: templates/shanghai-weather.html performs a fetch() to the Open-Meteo API at render time, and all templates reference external CDNs (fonts.googleapis.com, jsdelivr, tailwindcdn, alpine.js). Because Playwright launches a real headless browser, these page scripts will make network requests and could exfiltrate or fetch remote code/data. SKILL.md also requires copying screenshots into a fixed path (~/.openclaw/workspace/output.png) and returning a MEDIA: line — that assumes a particular workspace path and file-access model which is not declared in metadata.
Install Mechanism
There is no formal install spec (instruction-only), which minimizes installer risk, but the repository includes package.json/package-lock with playwright as a dependency. Running the skill therefore effectively requires npm install and playwright browser binaries (npx playwright install chromium). The absence of an install block in the skill metadata is an inconsistency the user should be aware of.
Credentials
The skill does not request any environment variables, credentials, or config paths in its metadata. None of the included files attempt to read environment variables or require secrets. This is proportionate to the stated purpose.
Persistence & Privilege
Flags show no forced permanence (always: false) and the skill does not request elevated agent-wide privileges. The skill does require writing to disk (screenshots and the suggested copy into the agent workspace), which is normal for its function; nothing shown indicates modification of other skills or global settings.
What to consider before installing
This skill appears to do what it claims (render HTML templates to PNGs) but there are some mismatches you should consider before installing or running it:
- Runtime requirements: The skill relies on Node.js and Playwright (and a Chromium browser) but the skill metadata does not declare these as required binaries. Plan to run `npm install` and `npx playwright install chromium` before using it.
- Network access: Although SKILL.md says 'no external API calls', templates and the rendering environment use CDNs (fonts, Tailwind, Alpine) and one template (templates/shanghai-weather.html) performs a live fetch() to Open-Meteo. Because Playwright runs a full browser, template scripts can make arbitrary network requests — review templates for any unexpected fetch/XHRs or remote endpoints if you want to avoid outbound network traffic.
- Workspace path assumptions: SKILL.md instructs copying the generated PNG into ~/.openclaw/workspace and returning a MEDIA: line. Ensure that path is correct for your runtime and that copying files there is acceptable. If your agent runtime uses a different workspace, adjust the script or delivery method.
- Audit the templates: Templates are the active attack surface. Inspect all templates (and any new templates you accept) for remote endpoints, inline <script> that posts data, or obfuscated code. If you want to reduce network risk, host required JS/CSS/fonts locally and remove any fetch() calls.
- Run in a sandbox first: Execute the render script in an isolated environment (container or VM) so you can observe network activity (eg. with tcpdump) and filesystem writes before enabling autonomous agent invocation.
If you want, I can list every file that performs network calls or produce a short checklist of changes to lock the skill down (disable external fetches, vendor CDN assets, and make the workspace path configurable).Like a lobster shell, security has layers — review code before you run it.
latestvk974y8nj3ypwgawzswbf80a86184am4w
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
