pi-runner
Pass
Audited by Gen Agent Trust Hub on Sep 8, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONEXTERNAL_DOWNLOADSCOMMAND_EXECUTION
Full Analysis
- [COMMAND_EXECUTION]: The script
scripts/run_pi.pyinvokes the externalpiCLI tool usingsubprocess.run(). It passes arguments including user-provided prompts and the content of specified files. The command is constructed as a list, which prevents shell-level injection. - [EXTERNAL_DOWNLOADS]: The skill requires the global installation of the npm package
@mariozechner/pi-coding-agent. This is a third-party dependency necessary for the skill to function. - [INDIRECT_PROMPT_INJECTION]: The skill ingests and processes untrusted data from multiple sources to construct the final prompt for the downstream agent.
- Ingestion points: Data is pulled from the
promptargument and file paths provided via--prompt-fileand--session-fileinscripts/run_pi.py. - Boundary markers: The
build_promptfunction inscripts/run_pi.pyuses simple text headers (e.g., 'Execution constraint:', 'Prior conversation context to continue from:') to separate segments. These do not provide robust isolation against adversarial content within the ingested files. - Capability inventory: The underlying
pitool has significant capabilities, including the ability to read and edit files and execute shell commands (bash) in its default mode. - Sanitization: No sanitization or filtering is performed on the content of the prompt or files before they are passed to the external CLI tool.
Audit Metadata