fluidsim

Pass

Audited by Gen Agent Trust Hub on Oct 24, 2026

Risk Level: SAFEINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
  • [INDIRECT_PROMPT_INJECTION]: The skill processes external JSON configuration files to plan simulations. It implements a robust defense-in-depth approach:
  • Ingestion points: Configuration files are loaded in scripts/solver_config_validator.py and scripts/_common.py.
  • Boundary markers: The skill uses a strict, versioned schema (scripts/_schema.py) and solver-specific profiles (scripts/_profiles.py) to reject any unrecognized keys or malicious payload structures.
  • Capability inventory: While the skill can generate scripts that perform file I/O and execute simulation logic, these capabilities are strictly scoped to the 'fluidsim' solver context.
  • Sanitization: Input values are sanitized using repr() and json.dumps() in scripts/simulation_dry_run.py before being interpolated into generated Python scripts, preventing code injection.
  • [DYNAMIC_EXECUTION]: scripts/simulation_dry_run.py generates a standalone Python script for launching simulations. This generation is done via secure templating where user-supplied parameters are treated as literal data, and the resulting script includes an explicit user-acknowledgment gate (--acknowledge-config-id) before any execution can occur.
  • [COMMAND_EXECUTION]: The skill provides a suite of local CLI tools (e.g., budget_summary.py, output_inventory.py) for analyzing simulation results. These tools are implemented using safe standard library functions, avoid dangerous subprocess calls, and include strict path validation to prevent directory traversal or unauthorized file access.
  • [EXTERNAL_DOWNLOADS]: The documentation and references point to well-known scientific software repositories and official package registries (PyPI) for dependencies like fluidsim, fluidfft, and pyFFTW. No unverified or remote script execution (e.g., curl|bash) is used.
Audit Metadata
Risk Level
SAFE
Analyzed
Oct 24, 2026, 09:29 PM