multi-chart-draw
Warn
Audited by Gen Agent Trust Hub on May 18, 2026
Risk Level: MEDIUMCOMMAND_EXECUTIONREMOTE_CODE_EXECUTIONEXTERNAL_DOWNLOADSPROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: The scripts
render_mermaid.pyandrender_mindmap.pyexecute external CLI tools (mmdcandmarkmap) viasubprocess.run. Although arguments are passed as a list, which is a secure practice, this pattern executes system-level binaries. - Evidence: In
scripts/render_mermaid.py, the commandcmd = ["mmdc", "-i", input_file, "-o", output_file]is passed tosubprocess.run. - [DYNAMIC_EXECUTION]: The
render_geogebra.pyscript manually constructs a JavaScript array within an HTML template from user-influenced commands without proper escaping. This lack of sanitization allows for potential script injection in the generated output files. - Evidence: In
scripts/render_geogebra.py, the linecommands_js = '[' + ', '.join([f'"{cmd}"' for cmd in valid_commands]) + ']'is used to build the command list for the browser. - [EXTERNAL_DOWNLOADS]: The skill relies on external software packages and remote assets. It requires installing global NPM packages and loads JavaScript libraries from various CDNs at runtime.
- Evidence:
SKILL.mdrequiresnpm install -g @mermaid-js/mermaid-cliandmarkmap-cli. HTML templates include scripts fromcdn.jsdelivr.netandgeogebra.org. - [PROMPT_INJECTION]: The skill ingests untrusted user input to generate chart configurations. Without boundary markers or sanitization, there is a risk of indirect prompt injection where malicious instructions could be embedded in chart labels or data, potentially affecting the agent's behavior or compromising the rendered output.
- Ingestion points: User prompts used to generate configuration files for charts (SKILL.md).
- Boundary markers: Absent.
- Capability inventory: Subprocess execution, file system access, and script-enabled HTML generation.
- Sanitization: Absent in the Python rendering scripts.
Audit Metadata