bmad-retrospective
Pass
Audited by Gen Agent Trust Hub on Sep 17, 2026
Risk Level: SAFECOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: The skill uses
subprocess.runwithinscripts/git_evidence.pyto executegit logandgit rev-parsecommands. The revision range arguments are strictly validated against injection patterns (e.g., checking for leading dashes and ensuring proper range formatting) to prevent command injection. - [DYNAMIC_EXECUTION]: The skill executes Python scripts located in the project's subdirectories (
{project-root}/_bmad/scripts/). These scripts are part of the BMad framework's customization and configuration system and are used to resolve project-specific settings. This is a standard functional requirement for vendor-owned resources in this toolchain. - [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted input from git commit messages, story files, and architecture documents. To mitigate the risk of the agent being misled by malicious content in these files, the instructions mandate that every finding must be sourced with a specific reference (file, line, or commit) and that unverified claims must be discarded.
- [SAFE]: The skill uses
ruamel.yamlfor round-trip YAML processing inscripts/sprint_status.py, which is a secure method for handling configuration files without executing arbitrary code. The use ofyaml.load()flagged by static analysis is a false positive as it utilizes the safeRoundTripLoader. Additionally, file writes are performed atomically using a temporary file andos.replaceto prevent data corruption.
Audit Metadata