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.pyusessubprocess.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
PCDrvfeature, which enables the emulated guest to access files on the host system, creating a data exposure surface. - Evidence:
references/debugging-and-evidence.mddescribes configuringPCDrvwith a hostRootdirectory. 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.pyscript constructs a list of command-line arguments and usesshlex.jointo produce a quoted string. The skill also documents complex launch recipes involving multiple parameters and paths for different emulator states.
Audit Metadata