drawio-diagrams
Pass
Audited by Gen Agent Trust Hub on Aug 31, 2026
Risk Level: SAFECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
- [COMMAND_EXECUTION]: The skill facilitates the execution of various local tools to support its primary function. This includes running the
drawiodesktop CLI for rendering diagrams, executing Node.js helper scripts for capability probing and path management, and invoking system browsers (Chrome/Chromium/Edge) for themed SVG rasterization. - [EXTERNAL_DOWNLOADS]: The skill provides documentation and scripts for fetching external resources from trusted services. It includes a command to download a shape index from a public GitHub repository (
jgraph/drawio-mcp) and describes looking up architecture icons from well-known registries like Lobe Icons and Simple Icons. These actions are documented as requiring explicit user approval and are scoped to the skill's functional requirements. - [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted user-supplied or repository-resident
.drawioXML files. To mitigate injection attacks, it employs a multi-stage validation pipeline (preflight-drawio-xml.mjsandvalidate_drawio.py) that strictly rejects dangerous XML constructs such as XXE-prone DOCTYPE declarations, comments, and processing instructions. Additionally, the SVG rasterizer (rasterize-themed-svg.mjs) performs a deep recursive inspection of embedded SVG content, disabling JavaScript and rejecting remote assets before rendering. - [DYNAMIC_EXECUTION]: The
probe-drawio-toolset.mjsscript dynamically locates and executes version-check commands for various binaries (Python, Node.js, draw.io, browsers) to generate a capability receipt. Therender-drawio.mjsscript uses a descriptor-anchored "transactional rendering" approach on Linux to ensure that the files being committed are the exact ones that were validated, effectively mitigating filesystem race condition attacks. - [SAFE]: The skill demonstrates a high level of security maturity by implementing defense-in-depth measures, including input sanitization, isolated browser environments for rendering, and strict adherence to official logo preservation policies to prevent brand-based phishing or misinformation.
Audit Metadata