pptx-skill

Warn

Audited by Gen Agent Trust Hub on Sep 23, 2026

Risk Level: MEDIUMDYNAMIC_EXECUTIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTION
Full Analysis
  • [DYNAMIC_EXECUTION]: The skill performs runtime compilation of C source code and uses library injection techniques to maintain compatibility in restricted environments.
  • File: scripts/office/soffice.py contains a _SHIM_SOURCE string which is written to a temporary file and compiled using gcc into a shared object (.so) file.
  • The resulting library is then injected into the execution environment of LibreOffice using the LD_PRELOAD environment variable within the get_soffice_env function.
  • [COMMAND_EXECUTION]: The skill executes several external system tools via subprocess calls to perform its primary functions.
  • scripts/office/soffice.py: Invokes gcc to compile the compatibility shim.
  • scripts/thumbnail.py: Invokes soffice (LibreOffice) for PDF conversion and pdftoppm for image generation.
  • scripts/office/validators/redlining.py: Uses git diff to compare text content between document versions.
  • [EXTERNAL_DOWNLOADS]: The skill documentation includes examples of fetching remote assets.
  • SKILL.md: The usage example demonstrates using the requests library to download images from external URLs (e.g., Wikimedia Commons) for insertion into slides.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes complex XML-based Office files which represents an attack surface for indirect prompt injection or malicious data processing.
  • Ingestion points: Unpacked XML content from PPTX/DOCX files is read in scripts/office/unpack.py and various validators.
  • Boundary markers: Absent. There are no instructions to the agent to treat data within the XML tags as untrusted or to ignore potential instructions embedded within the slide text.
  • Capability inventory: The skill has significant capabilities including file system read/write access and the ability to execute shell commands via subprocess (specifically gcc, soffice, and pdftoppm).
  • Sanitization: The skill uses the defusedxml library in several scripts (clean.py, merge_runs.py, unpack.py), which provides mitigation against XML External Entity (XXE) and billion laughs attacks.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Sep 23, 2026, 04:48 PM