xlsx

Warn

Audited by Gen Agent Trust Hub on Oct 11, 2026

Risk Level: MEDIUMDYNAMIC_EXECUTIONCOMMAND_EXECUTIONPERSISTENCEINDIRECT_PROMPT_INJECTION
Full Analysis
  • [DYNAMIC_EXECUTION]: The skill performs runtime compilation and library injection. In scripts/office/soffice.py, a C source code string is written to a temporary file (/tmp/lo_socket_shim.c) and compiled into a shared library using gcc. This library is then injected into the soffice (LibreOffice) process via the LD_PRELOAD environment variable. This mechanism is intended to shim AF_UNIX socket calls to allow LibreOffice to run in restricted sandboxed environments.\n- [COMMAND_EXECUTION]: The skill invokes external command-line tools via subprocess.run(). scripts/recalc.py and scripts/office/soffice.py execute soffice and gcc. scripts/office/validators/redlining.py executes git diff to compare document contents.\n- [PERSISTENCE]: The skill modifies local application configuration. scripts/recalc.py installs a StarBasic macro (RecalculateAndSave) into the LibreOffice user profile directory (e.g., ~/.config/libreoffice/). This is required for the automated formula recalculation feature.\n- [INDIRECT_PROMPT_INJECTION]: The skill defines a surface area for processing untrusted data. \n
  • Ingestion points: User-provided Office files are read using pandas (in SKILL.md) and openpyxl (in scripts/recalc.py).\n
  • Boundary markers: Absent. The skill instructions do not specify delimiters to separate untrusted document content from instructions.\n
  • Capability inventory: Includes shell command execution (scripts/recalc.py, scripts/office/soffice.py), runtime compilation, and file system writes.\n
  • Sanitization: The skill uses defusedxml to parse XML components (in scripts/office/validators/base.py), which mitigates XML-based attacks like XXE.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Oct 11, 2026, 09:17 AM