pptx
Warn
Audited by Gen Agent Trust Hub on Mar 4, 2026
Risk Level: MEDIUMCOMMAND_EXECUTIONPROMPT_INJECTIONEXTERNAL_DOWNLOADS
Full Analysis
- [COMMAND_EXECUTION]: The skill makes extensive use of the
subprocess.runandos.systempatterns to execute external tools. Evidence includes: scripts/office/soffice.py: Executesgccto compile a C shim.scripts/office/soffice.py: Executessoffice(LibreOffice) with custom environment variables.scripts/thumbnail.py: Executessofficeandpdftoppm(Poppler) to generate slide images.scripts/office/validators/redlining.py: Executesgitto generate diffs for document validation.- [PROMPT_INJECTION]: The skill is susceptible to indirect prompt injection (Category 8) because it processes untrusted data from
.pptxand.docxfiles. - Ingestion points:
scripts/office/unpack.pyextracts XML content from user-provided Office documents which are then read by the agent. - Boundary markers: None detected in the script logic to separate untrusted document content from instructions.
- Capability inventory: The skill has significant capabilities, including arbitrary file writes (
pack.py,unpack.py), network access (viaPptxGenJSdocumentation), and system command execution (soffice.py). - Sanitization: The skill correctly uses
defusedxmlto parse XML, which mitigates XML External Entity (XXE) attacks, but does not sanitize natural language content that might influence the agent's logic. - [COMMAND_EXECUTION]:
scripts/office/soffice.pycontains a hardcoded C source string that is written to a temporary file and compiled at runtime usinggccto produce a shared object (.so). This is a dynamic compilation pattern. - [COMMAND_EXECUTION]:
scripts/office/soffice.pyemploys theLD_PRELOADenvironment variable to perform process injection, loading the dynamically compiled C shim into thesofficeprocess to bypass AF_UNIX socket restrictions. - [EXTERNAL_DOWNLOADS]: Guidelines in
pptxgenjs.mdprovide examples for fetching images from remote URLs (e.g.,https://example.com/image.jpg) during presentation generation.
Audit Metadata