excel-yml-gen

Fail

Audited by Gen Agent Trust Hub on May 24, 2026

Risk Level: HIGHCOMMAND_EXECUTIONREMOTE_CODE_EXECUTION
Full Analysis
  • [COMMAND_EXECUTION]: The script scripts/excel_yml_gen.py uses os.system() to execute a shell command constructed via string concatenation. This command incorporates the out_dir variable (from user-supplied arguments) and the protocol variable (read directly from an external Excel file) without any sanitization.
  • File: scripts/excel_yml_gen.py
  • Evidence: gen_regfile = "cd "+out_dir+" && python3 "+yml2reg_py+" "+yml_file+" "+protocol followed by os.system(gen_regfile)
  • [REMOTE_CODE_EXECUTION]: Because the shell command in scripts/excel_yml_gen.py is built using data from an Excel sheet (protocol = xml_corpus[0][5]), a maliciously crafted Excel file can trigger arbitrary code execution when processed by the skill.
  • [COMMAND_EXECUTION]: The MCP server in mcp_server.py uses subprocess.run() to launch the conversion scripts. While it uses argument lists for the initial call, it facilitates the execution of the downstream vulnerable script with user-controlled parameters.
  • File: mcp_server.py
  • Evidence: subprocess.run(cmd, capture_output=True, text=True, cwd=cwd, timeout=timeout)
  • [REMOTE_CODE_EXECUTION]: The skill processes untrusted data (Excel files) and has high-risk capabilities (shell command execution), creating a direct path for indirect injection attacks to achieve system compromise.
  • Ingestion points: pd.read_excel() in scripts/excel_yml_gen.py reads user-provided files.
  • Boundary markers: None; the script treats cell values as trusted command arguments.
  • Capability inventory: os.system, subprocess.run, and file system write operations.
  • Sanitization: Absent; no escaping or validation is performed on data used in shell commands.
Recommendations
  • AI detected serious security threats
Audit Metadata
Risk Level
HIGH
Analyzed
May 24, 2026, 07:02 AM
Security Audit — agent-trust-hub — excel-yml-gen