presentations
Fail
Audited by Gen Agent Trust Hub on May 12, 2026
Risk Level: HIGHCOMMAND_EXECUTIONDATA_EXFILTRATIONPROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: Command injection vulnerability in the internal script runner.
- The
runPythonScriptfunction inpresentation.tsconstructs shell commands using string interpolation of arguments:`python3 ${script} ${args.map(a => `"${a}"`).join(" ")}`. - The implementation fails to sanitize or escape double quotes within the arguments, allowing an attacker to break out of the quoting and execute arbitrary shell commands on the host machine.
- [DATA_EXFILTRATION]: Path traversal vulnerability in the on-demand viewer server.
- The
doServefunction inpresentation.tsextracts a relative file path from the URL and joins it with the presentation directory usingjoin(presDir, rest)without validation or normalization. - An attacker can exploit this by crafting a URL containing directory traversal sequences (e.g.,
../../../../etc/passwd) to read sensitive files outside the intended directories. - Additionally, the server listens on
0.0.0.0(all interfaces), potentially exposing these local files to the network. - [PROMPT_INJECTION]: Indirect prompt injection surface through dynamic HTML rendering.
- Ingestion points: The
create_slidecommand takes raw HTMLcontentand writes it to the local filesystem viapresentation.ts. - Boundary markers: None. User-provided HTML is directly embedded into a slide template.
- Capability inventory: The skill uses
playwright(viaconvert_pdf.py,convert_pptx.py, andvalidate_slide.py) to render these slides. The renderer runs with the--no-sandboxflag and handlesfile://URLs. - Sanitization: None. This environment creates a risk where malicious HTML could execute scripts in the headless browser to access local resources or manipulate the agent's context.
Recommendations
- AI detected serious security threats
Audit Metadata