monitoring-ci
Fail
Audited by Gen Agent Trust Hub on Mar 19, 2026
Risk Level: HIGHCOMMAND_EXECUTIONPROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: The script
ci-monitor.pyis vulnerable to shell injection because it usessubprocess.run(shell=True)with unvalidated input. - Evidence: The
runfunction inci-monitor.pyexecutes commands in a shell. Themainfunction interpolates the--branchargument (which can be provided by a user via the agent) directly into command strings, such asf"gh run list --branch {branch} --limit 1 ...". - Risk: An attacker can provide a branch name containing shell metacharacters (e.g.,
main; rm -rf /) to execute arbitrary commands on the system. - [PROMPT_INJECTION]: The skill is susceptible to indirect prompt injection by processing untrusted data from GitHub Actions logs.
- Ingestion points: The
fetch_failed_logsfunction inci-monitor.pyreads data fromgh run view {run_id} --log-failed. - Boundary markers: None. The logs are printed directly to standard output where the agent reads them.
- Capability inventory: The agent has the ability to execute shell commands, read/write files, and perform other system operations.
- Sanitization: There is no sanitization or filtering of the log content. Malicious instructions embedded in failed CI logs (e.g., in a test failure message) could be interpreted by the agent as legitimate instructions.
- [COMMAND_EXECUTION]: The skill uses predictable temporary file paths in a world-writable directory.
- Evidence: The
sentinel_pathfunction inci-monitor.pyuses/tmp/{name}-ci-monitor. - Risk: A local attacker could create this file to cause a denial-of-service for the monitor or use symlinks to trick the script into writing to or deleting other files.
Recommendations
- AI detected serious security threats
Audit Metadata