skill-system-review
Warn
Audited by Gen Agent Trust Hub on Apr 11, 2026
Risk Level: MEDIUMCOMMAND_EXECUTIONPROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: The
plan-to-bundleoperation inscripts/review_prompt.pyparses markdown plan files and generates a list of shell commands (tkt_commands). It inserts ticket titles, descriptions, and acceptance criteria directly into these command strings using f-strings without any shell-escaping or sanitization. If an attacker controls the source markdown file, they could inject malicious shell commands that would be executed when the generated output is run by a user or another agent. - [PROMPT_INJECTION]: The skill is vulnerable to indirect prompt injection through its review prompt generation logic.
- Ingestion points: Data is ingested from ticket files (YAML/Markdown) in the
.tkt/bundles/directory and from theroadmap.yamlfile inscripts/review_prompt.py(viacmd_generate_review_promptandcmd_generate_startup_review_prompt). - Boundary markers: The generated prompts use structured headers (e.g.,
## Completed Tickets) but lack robust delimiters or instructions to ignore instructions found within the data. - Capability inventory: The skill has filesystem read/write access and the ability to execute the
tkt.shtool usingsubprocess.run(observed incmd_generate_dispatch). - Sanitization: Content from ticket titles and summaries is not filtered or escaped before being interpolated into the prompt text.
- [COMMAND_EXECUTION]: In
scripts/review_prompt.py, thecmd_generate_dispatchfunction usessubprocess.runto execute thetkt.shscript when the--autoflag is used. While it uses argument lists to mitigate direct shell injection, the parameters for the--goaland--titleflags are sourced from project metadata likecarryover.yaml, which could be manipulated to influence the operation of the ticket management utility.
Audit Metadata