T09 · Insecure Skill Coding Practices
- Location
SKILL.md:154- Finding
Generated Agent Commands Disable Permission Safeguards by Default
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a command generator, but it steers users toward unattended AI CLI loops that bypass approval prompts and may run without strong limits.
Review generated commands carefully before running them. Avoid approval-bypass flags unless you are in a disposable or tightly scoped workspace, prefer finite iteration and time limits, keep files under version control, and do not run the commands with elevated privileges or sensitive credentials available.
SKILL.md:154Generated Agent Commands Disable Permission Safeguards by Default
SKILL.md:208Infinite Autonomous Execution Without Mandatory Resource or Failure Limits
SKILL.md:132Custom Parameters Are Inserted Into Shell Templates Without Required Validation
The skill repeatedly recommends commands with dangerous auto-approval or permission-bypass flags such as --dangerously-skip-permissions, --yolo, and an auto-approving grok-auto flow, without placing a prominent safety warning before users are steered toward them. In the context of automation loops that repeatedly feed PROMPT.md to an agent, this can lead to unchecked file modification, command execution, or repeated harmful actions if the prompt or model behavior is unsafe.
The README explicitly instructs the user to create a PROMPT.md that causes an AI to read and then update STATUS.md, and it also states the tool saves generated commands to a timestamped markdown file. Even though this is documentation rather than executable code, it normalizes automated modification of user workspace files without warning, confirmation, backup guidance, or scope limits, which can lead to unintended overwrites or unsafe automation in real use.
The file first states that Claude Code should use piped input with claude-code and explicitly says piping should be used instead of claude -p (L151-L162). A few lines later it says the placeholder must be replaced with claude -p (Get-Content PROMPT.md -Raw) and marks that as CRITICAL because Claude requires the prompt as a command-line argument (L182-L195). These instructions actively conflict about whether Claude input is piped to claude-code or passed as an argument to claude -p.
The skill promotes autonomous execution by using --yolo and describing grok-auto as auto-approving permissions inside looping automation. Because the purpose of the skill is to generate ready-to-run repeated agent commands, the autonomous behavior is amplified: a single unsafe prompt can be executed many times without human review, increasing the chance and scale of destructive actions.
- gemini-2.5-pro: `Get-Content PROMPT.md -Raw | gemini --model gemini-2.5-pro --yolo`
**For Grok CLI (PowerShell):**
- Default: `Get-Content PROMPT.md -Raw | grok-auto` (uses default model from GROK_MODEL env var, auto-approves permissions)
- grok-code-fast-1: `Get-Content PROMPT.md -Raw | grok-auto -m grok-code-fast-1`
- grok-4-latest: `Get-Content PROMPT.md -Raw | grok-auto -m grok-4-latest`
- grok-beta: `Get-Content PROMPT.md -Raw | grok-auto -m grok-beta`
No suspicious patterns detected.