operate-duckstation

Pass

Audited by Gen Agent Trust Hub on Sep 13, 2026

Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONDATA_EXFILTRATIONDYNAMIC_EXECUTION
Full Analysis
  • [INDIRECT_PROMPT_INJECTION]: The skill is designed to process external, potentially untrusted data such as game images, save states, and texture files which could theoretically contain instructions to influence agent behavior.
  • Ingestion points: Processes various disc images (CUE/BIN, CHD, MDS/MDF, CCD, ECM, PBP), save state files (.sav, .zst), and texture replacements (PNG, JPG, WebP) through the emulator.
  • Boundary markers: Instructions explicitly mandate environment isolation using portable mode markers (portable.txt) and dedicated case directories to prevent interference with the host system.
  • Capability inventory: The skill provides a command-line generation script (scripts/build_command.py) and documentation for launching and debugging the DuckStation emulator process.
  • Sanitization: The command builder script utilizes shlex.join() to ensure that all generated arguments are properly escaped and quoted for POSIX shells, mitigating basic injection risks.
  • [COMMAND_EXECUTION]: The test suite includes patterns for executing local scripts via subprocess calls.
  • Evidence: scripts/test_build_command.py uses subprocess.run([sys.executable, str(SCRIPT), *args], ...) to invoke the command builder with various arguments during unit tests. This is a controlled execution of a local script for validation purposes.
  • [DATA_EXFILTRATION]: The skill documents the PCDrv feature, which enables the emulated guest to access files on the host system, creating a data exposure surface.
  • Evidence: references/debugging-and-evidence.md describes configuring PCDrv with a host Root directory. The documentation correctly notes that this feature does not provide a security sandbox and instructs the user to use an isolated directory with only intended fixtures.
  • [DYNAMIC_EXECUTION]: The skill dynamically assembles command-line strings for emulator execution based on configuration and user input.
  • Evidence: The scripts/build_command.py script constructs a list of command-line arguments and uses shlex.join to produce a quoted string. The skill also documents complex launch recipes involving multiple parameters and paths for different emulator states.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 13, 2026, 02:13 PM