openfoam-cfd
Fail
Audited by Gen Agent Trust Hub on Sep 14, 2026
Risk Level: HIGHREMOTE_CODE_EXECUTIONEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONPRIVILEGE_ESCALATIONPERSISTENCEDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
- [REMOTE_CODE_EXECUTION]: The installation guide in
SKILL.mdinstructs the user to download a repository configuration script fromdl.openfoam.comand pipe it directly intobashfor execution. While this is an official distribution channel for the OpenFOAM software, the method itself bypasses local integrity checks and executes remote content. - [EXTERNAL_DOWNLOADS]: The skill fetches necessary components, such as GPG keys and repository setup scripts, from
dl.openfoam.organddl.openfoam.com. These are recognized official domains for the OpenFOAM project. - [PRIVILEGE_ESCALATION]: Setup instructions frequently employ
sudoto perform administrative tasks, including adding third-party repositories, installing system packages, and modifying global environment settings. - [PERSISTENCE]: The skill automates the configuration of the OpenFOAM environment by appending
sourcecommands to the user's~/.bashrcfile. This ensures the environment is persistently available in all future shell sessions. - [DYNAMIC_EXECUTION]: Several files, including
SKILL.mdandexamples/boundary-conditions-examples.md, demonstrate the use of OpenFOAM'scodedFixedValueandcodedfunction objects. These features allow for the embedding of raw C++ code within simulation dictionaries, which OpenFOAM then compiles and executes at runtime to handle custom boundary conditions or data processing. - [INDIRECT_PROMPT_INJECTION]: The provided Python utilities (
generate_case.pyandcalculate_turbulence.py) ingest user-supplied parameters via command-line arguments and interpolate them directly into OpenFOAM dictionary templates. A lack of sanitization in this process creates a surface for indirect prompt injection if an agent is tasked with processing untrusted parameters. - Ingestion points: Command-line arguments in
scripts/generate_case.py(specificallycase_name,velocity,nu, andturbulence) andscripts/calculate_turbulence.py(specificallyvelocityandlength). - Boundary markers: No delimiters or safety instructions are present to isolate user-supplied data from the configuration templates.
- Capability inventory: The skill facilitates file system writes (creating OpenFOAM cases) and provides instructions for executing shell-based solvers (
simpleFoam,pimpleFoam). - Sanitization: There is no evidence of input validation or escaping; values are formatted directly into dictionaries using f-strings (e.g., line 241 of
scripts/generate_case.py).
Recommendations
- HIGH: Downloads and executes remote code from: https://dl.openfoam.com/add-debian-repo.sh - DO NOT USE without thorough review
Audit Metadata