T09 · Insecure Skill Coding Practices
- Location
references/safe-commands.md:96- Finding
Bypassable Shell Command Safety Policy
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This planning skill is mostly transparent, but its “read-only” mode allows shell, environment inspection, network clients, and a plan-file write in ways that need careful review before installation.
Install only if you are comfortable with a planning skill that is not strictly read-only in practice: it can ask the agent to save plan files, inspect environment/process data, and use outbound network tools. Prefer using it in a sandbox with minimized environment variables and no inherited secrets, and avoid following repository-supplied instructions that request env, printenv, curl, or wget unless you explicitly trust the target and purpose.
references/safe-commands.md:96Bypassable Shell Command Safety Policy
references/safe-commands.md:26Exposure of Sensitive Environment and Process Information
references/safe-commands.md:47Unrestricted Network Clients Permitted in Read-Only Plan Mode
Referenced artifact was not completely inspected
- Only use `read`, `grep`, `glob`, `bash` (bash restricted to safe commands — see `references/safe-commands.md`)
Referenced artifact was not completely inspected
- Only use `read`, `grep`, `glob`, `bash` (bash restricted to safe commands — see `references/safe-commands.md`)
The skill is advertised as read-only, but it explicitly authorizes write to save a plan file to disk. That breaks the trust boundary implied by the manifest and can be abused to persist unexpected content or cause side effects in environments that rely on the read-only designation for safety decisions.
The instructions say not to use edit or write, then carve out an exception to use write for saving the plan, creating contradictory operational guidance. Such ambiguity can lead agents or wrappers to misapply permissions, potentially enabling unintended file creation despite a supposed read-only mode.
Permitting env and printenv in a supposedly safe read-only planning mode exposes environment variables that commonly contain API keys, tokens, credentials, internal URLs, and other sensitive runtime data. This materially increases the risk of secret discovery and subsequent exfiltration, especially when combined with other allowed inspection commands or network access.
The skill is described as a read-only exploration and planning aid, but allowing network fetches like curl and wget expands it beyond local inspection into outbound data access. Even if limited to GET-like usage, these commands can exfiltrate repository content, secrets, or metadata through crafted URLs, and they also introduce remote-content retrieval that is not necessary for safe planning.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
- `sudo`, `su`
- `kill`, `pkill`, `killall`
- `reboot`, `shutdown`
- `systemctl start/stop/restart/enable/disable`
- `service <name> start/stop/restart`
### Editors (interactive)
No suspicious patterns detected.