vensim-skill

Pass

Audited by Gen Agent Trust Hub on Aug 29, 2026

Risk Level: SAFECOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
  • [COMMAND_EXECUTION]: The layout tool invokes external Graphviz utilities (dot, neato, fdp, sfdp) to calculate model coordinates. The executable choice is strictly limited to a predefined whitelist via command-line arguments, and the subprocess is invoked without a shell to mitigate injection risks. Evidence: The vensim_system_dynamics/tools/vensim_autolayout.py script uses subprocess.run to execute whitelisted layout engines on model data.- [DYNAMIC_EXECUTION]: The simulation engine evaluates mathematical expressions from Vensim models using a custom tree-walking evaluator built on Python's ast module. This implementation prevents arbitrary code execution by restricting evaluation to a safe namespace of mathematical functions and predefined variables. Evidence: The vensim_system_dynamics/tools/vensim_engine.py script uses ast.parse and a restricted _safe_eval_node function to process model equations.- [INDIRECT_PROMPT_INJECTION]: The skill processes .mdl files provided by users, which are parsed to generate layouts and simulation results. While the logic is well-constrained, the processing of complex external data formats presents an inherent surface for attempting to influence tool behavior. Ingestion points: The load_mdl and load_mdl_text functions in the tool scripts read user-supplied Vensim files. Boundary markers: No explicit prompt boundaries are implemented when the model structure is interpreted. Capability inventory: The skill has the ability to execute Graphviz binaries and write formatted simulation data to the file system. Sanitization: Equation evaluation is confined to a safe subset of mathematical operations, and Graphviz labels are escaped to prevent command-level confusion.
Audit Metadata
Risk Level
SAFE
Analyzed
Aug 29, 2026, 03:53 AM
Security Audit — agent-trust-hub — vensim-skill