review-anvil-pr
Pass
Audited by Gen Agent Trust Hub on Oct 27, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONDYNAMIC_EXECUTION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted content from GitHub Pull Requests, including titles, descriptions, and the entire review history. This external data is passed to the AI review engine, creating a surface for indirect prompt injection where a malicious PR could attempt to bypass review constraints or influence the agent's behavior.
- Ingestion points: In
scripts/pr-helper.sh, the subcommandsinit,history, andsuppressusegh pr viewand the GitHub GraphQL API to fetch external content. - Boundary markers: The skill employs unique UUID markers to track its own comments and reports, and the engine is configured to use adversarial review modes to detect and filter suspicious findings.
- Capability inventory: The skill can read and write PR data on GitHub and perform local file operations within a dedicated
.review-anvildirectory. - Sanitization: Structured data is handled via
jqandjson.loadsin Python. Finding metadata is parsed using specific regex patterns to prevent schema confusion attacks. - [COMMAND_EXECUTION]: The skill orchestrates its workflow by executing several shell utilities, including
gh,git,jq, anduuidgen, as well as a local helper script. - Evidence:
SKILL.mdprovides instructions for the agent to resolve and runscripts/pr-helper.shfor various tasks. - Security Controls: The skill enforces a strict resolution policy for its helper script, requiring it to reside in trusted installation roots and explicitly forbidding project-scoped paths to prevent execution of malicious scripts planted in a reviewed repository.
- [DYNAMIC_EXECUTION]: The helper script utilizes embedded Python code for structured data processing.
- Evidence:
scripts/pr-helper.shcontains several Python scripts embedded as heredocs that are executed at runtime to parse PR history and filter findings. - Mitigation: These scripts are executed using
uv run --no-project, which prevents the interpreter from loading potentially malicious local project configurations or dependencies from the worktree being reviewed.
Audit Metadata