libreoffice-calc

Pass

Audited by Gen Agent Trust Hub on Sep 27, 2026

Risk Level: SAFE
Full Analysis
  • [COMMAND_EXECUTION]: The skill launches the LibreOffice process (soffice or libreoffice) in headless mode using subprocess.Popen. The command is constructed with a static list of arguments and does not use a shell environment, which effectively prevents shell command injection vulnerabilities. Evidence found in scripts/uno_bridge.py.
  • [DYNAMIC_EXECUTION]: To integrate with the system's LibreOffice installation, the skill dynamically locates the uno module. It searches common system paths and the user-provided LIBREOFFICE_PROGRAM_PATH environment variable, then inserts the discovered path into sys.path. This is a standard and necessary mechanism for UNO-based automation. Evidence found in scripts/uno_bridge.py.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes spreadsheet files which may contain untrusted data. Mandatory Evidence Chain: 1. Ingestion points: .ods files processed in session methods (scripts/calc/session.py). 2. Boundary markers: Explicit CalcTarget objects and operation schemas. 3. Capability inventory: subprocess.Popen, doc.storeToURL, and Path.unlink. 4. Sanitization: Validation of range coordinates, chart types, and formatting keys. Evidence found across scripts/calc/session.py and scripts/calc/patch.py.
  • [DATA_EXFILTRATION]: The skill can export data to external files (PDF, XLSX, CSV, PNG). While this allows data to leave the spreadsheet context, these operations are triggered by explicit API calls to user-specified absolute paths and are consistent with the skill's primary purpose. Evidence found in scripts/calc/core.py and scripts/calc/snapshot.py.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 27, 2026, 10:19 AM