mermaid-studio
Pass
Audited by Gen Agent Trust Hub on Aug 6, 2026
Risk Level: SAFEEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONREMOTE_CODE_EXECUTION
Full Analysis
- [EXTERNAL_DOWNLOADS]: The
setup.shscript installs several Node.js packages from the NPM registry, including@mermaid-js/mermaid-cli,beautiful-mermaid, andpuppeteer. These are standard tools for the skill's purpose.- [EXTERNAL_DOWNLOADS]: Therender.mjsscript fetches icon datasets from unpkg.com and loads the Mermaid library from jsdelivr.net. These are well-known CDNs for web resources.- [COMMAND_EXECUTION]: The skill usesexecSyncto call its internal scripts and the Mermaid CLI for validation and rendering. Whilerender.mjsuses path quoting to mitigate basic command injection, thebatch.mjsscript performs simpler argument joining for parallel processing.- [REMOTE_CODE_EXECUTION]: Thesetup.shscript downloads and installs the Chromium browser usingnpx puppeteer browsers install chrometo enable headless rendering. Rendering is performed by executing themmdcCLI or a Puppeteer instance.- [INDIRECT_PROMPT_INJECTION]: - Ingestion points: The skill reads and analyzes project source code (e.g., schema files, models, and API definitions) to generate diagrams, as detailed in
references/code-to-diagram.md. - Boundary markers: There are no explicit instructions or delimiters configured to prevent the agent from following Mermaid-style instructions or comments found within the user's source code.
- Capability inventory: The skill has the capability to write files and execute shell commands via its rendering scripts.
- Sanitization: The extraction logic relies on pattern matching and does not include specific sanitization for malicious strings that might influence the agent's behavior during analysis.- [DYNAMIC_EXECUTION]: The
render.mjsscript constructs a temporary HTML file containing inline JavaScript for icon pack registration and diagram rendering. This HTML is then executed within a headless Puppeteer instance.
Audit Metadata