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 via curl.exe or Invoke-WebRequest. These are essential for the skill's primary function.
  • [EXTERNAL_DOWNLOADS]: The rendering utility depends on the puppeteer Node.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
Risk Level
SAFE
Analyzed
Oct 6, 2026, 11:12 PM