msw-painter
Pass
Audited by Gen Agent Trust Hub on Oct 6, 2026
Risk Level: SAFECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: The skill requires the agent to execute shell commands for dependency installation (
npm ci), sprite rendering (node scripts/render.cjs), and binary uploads viacurl.exeorInvoke-WebRequest. These are essential for the skill's primary function. - [EXTERNAL_DOWNLOADS]: The rendering utility depends on the
puppeteerNode.js package, which is fetched from the public registry during the initial setup. Puppeteer is a standard, well-known library for browser automation. - [DYNAMIC_EXECUTION]: The skill generates and executes SVG, Canvas, or HTML code within a headless Chromium instance. To mitigate the risks of executing potentially malicious code, the rendering script (
scripts/render.cjs) includes several defensive layers: - Request Interception: Explicitly blocks all outgoing network requests from the rendering page, preventing data exfiltration or remote resource loading.
- Sanitization: Implements a multi-stage sanitizer that strips dangerous tags (
<script>,<foreignObject>,<iframe>), event handlers (on*), and non-data URLs. - Content Security Policy (CSP): Injects a strict CSP (
default-src 'none') to further restrict the execution environment. - Sandbox Usage: Chromium is launched with the OS sandbox enabled by default, with an opt-out only via an environment variable for specific containerized environments.
- [INDIRECT_PROMPT_INJECTION]: The skill processes code (SVG/HTML) that may be influenced by user prompts or external data. This creates a surface where instructions could be embedded to target the rendering environment or the agent. The skill addresses this through its sanitization and sandboxing logic.
- [CREDENTIALS_SAFE]: The skill implements best practices for handling 'presigned URLs' used for asset uploads. It instructs the agent to treat these short-lived credentials as secrets and pass them via environment variables and stdin configurations (
curl -K -) to ensure they do not appear in process logs or shell history.
Audit Metadata