T09 · Insecure Skill Coding Practices
- Location
references/examples.md:469- Finding
Shell Command Injection Through Unsanitized Project Paths and Task Identifiers
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a legitimate multi-agent coding workflow, but it tells agents to run broad install, git, and deletion commands without enough safety checks.
Install only if you are comfortable supervising high-impact repository automation. Use it in trusted or disposable workspaces, review dependency and build files before any pip/npm install, replace shell-string exec examples with argument-safe process APIs, and manually confirm any reset, deletion, push, or worktree cleanup step.
references/examples.md:469Shell Command Injection Through Unsanitized Project Paths and Task Identifiers
SKILL.md:50Automatic Execution of Unreviewed Dependency and Build Installation Logic
references/examples.md:529Destructive Workspace Cleanup and Git Synchronization Without Safety Validation
Referenced artifact was not completely inspected
See [references/examples.md](references/examples.md) for detailed implementation examples.
The skill instructs rm -rf ../workspace-agent-1 as part of cleanup. Recursive forced deletion on a relative path is dangerous because path confusion, variable substitution mistakes, or unexpected directory layout could cause deletion of unintended files outside the repo, and agentic execution increases the chance this command is run automatically.
git worktree remove ../workspace-agent-1
# 2. Clean up directory
rm -rf ../workspace-agent-1
# 3. Verify worktree list
git worktree list
The example uses git reset --hard origin/main, which is a destructive repository-modifying command that can be abused or mistakenly applied to the wrong branch/worktree. In this skill's context—multi-agent code modification with branch/worktree orchestration—the command is more dangerous because users or subagents may execute it mechanically, causing irreversible loss of local changes or masking malicious tampering by force-aligning to remote state.
# Sync to latest main
git fetch origin
git reset --hard origin/main # OR: git rebase origin/main
# Verify sync worked
git log --oneline -3
The manifest description says to use the skill for broad situations like 'complex coding projects', 'multi-file features', and 'any project where parallel development beats solo coding' without defining concrete trigger phrases, boundaries, or exclusion conditions beyond general guidance. For a markdown/manifest file, this can make it unclear when the skill should activate versus when a normal coding skill should be used.
The example includes git reset --hard origin/main as a synchronization pattern without a local safety warning or precondition checks. In a coordination skill that may be followed by autonomous agents or users, this can destroy uncommitted local work and silently discard changes, making it an unsafe operational pattern even if the author likely intended a routine reset workflow.