jt-next-step
Pass
Audited by Gen Agent Trust Hub on Oct 3, 2026
Risk Level: SAFECOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
- [COMMAND_EXECUTION]: The script
gate.pyexecutes shell commands extracted from thecard-loop/board.mdfile and related card backlog files. This includes commands specified in fields likeTEST_CMD,SETUP_CMD, and browser-related automation steps (starting a tool and performing click actions). - [INDIRECT_PROMPT_INJECTION]: The skill processes external markdown files (
card-loop/board.md,card-loop/backlog/*.md,card-loop/brief.md) that contain instructions and command definitions. An attacker who can influence the content of these files (e.g., through a malicious Pull Request or shared repository access) could inject arbitrary shell commands that the agent would execute when running the gate script. - Ingestion points: The skill reads task metadata and command strings from
card-loop/board.mdandcard-loop/backlog/{card_id}.mdin theload_board,read_board_text, and_read_cardfunctions. - Boundary markers: The script uses regex-based parsing to isolate command fields but does not implement prompt-level delimiters or specific instructions for the agent to ignore embedded instructions within these data sources.
- Capability inventory: The script can execute arbitrary shell commands via
subprocess.run(shell=True)andsubprocess.Popen(shell=True), manage Git worktrees, and modify the project'sboard.mdfile. - Sanitization: There is no evidence of sanitization, escaping, or validation of the command strings retrieved from markdown files before they are passed to the system shell for execution.
- [DYNAMIC_EXECUTION]: The
_run_shelland_click_surfacefunctions ingate.pyusesubprocess.runandsubprocess.Popenwithshell=Trueto execute command strings that are dynamically parsed from markdown content at runtime.
Audit Metadata