usable-xlsm
Pass
Audited by Gen Agent Trust Hub on Sep 13, 2026
Risk Level: SAFECOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTIONEXTERNAL_DOWNLOADS
Full Analysis
- [COMMAND_EXECUTION]: The tool uses
subprocess.runto call Windows system utilitiestasklistandtaskkill. - Evidence: Implementation found in
src/usable_xlsm/locking.pyandsrc/usable_xlsm/runner.py. - Purpose: These calls are used to verify if specific Excel process IDs are still running and to terminate the specific Excel instance owned by the tool's worker if it hangs or times out. The tool avoids "guessing" PIDs and only interacts with processes it can explicitly identify through a handshake mechanism.
- [DYNAMIC_EXECUTION]: The tool dynamically generates and injects VBA code into temporary workbook copies to facilitate automated testing.
- Evidence:
src/usable_xlsm/testing.pygenerates theUsableXlsmRunnermodule, andsrc/usable_xlsm/_worker.pyuses COM automation to add this code to the workbook. - Purpose: This is the core mechanism for discovery and execution of VBA tests, allowing for assertion handling and result reporting without modifying the original source workbook.
- [INDIRECT_PROMPT_INJECTION]: The tool provides an attack surface for indirect prompt injection as it processes and executes macros from external Excel workbooks.
- Ingestion points: The
extract_vbafunction insrc/usable_xlsm/core.pyand workbook opening operations insrc/usable_xlsm/_worker.py. - Boundary markers: The skill implements a strict "Trust Model" described in
references/security.md. Workbooks require an explicit trust decision (via TOML policy or the--trust-workbookflag) before any execution is permitted. - Capability inventory: The skill can execute VBA, write to the filesystem (backups, staging copies), and manage local Excel processes.
- Sanitization: It includes static preflight checks using
oletoolsto detect suspicious APIs, XLM macros, and VBA stomping before allowing any operation. - [EXTERNAL_DOWNLOADS]: The installation instructions and project configuration involve downloading dependencies from standard registries.
- Evidence:
README.mdandSKILL.mdsuggest usinguv syncto install dependencies listed inpyproject.tomlandrequirements.txt. - Purpose: Standard dependency management for Python-based agent skills using official registries like PyPI.
Audit Metadata