T09 · Insecure Skill Coding Practices
- Location
commit.md:96- Finding
Sensitive files can be committed despite the filename blocklist
- Content
View full analysis
> "$item_dir/.gitignore" if git init "$item_dir" > /dev/null 2>&1 \ && git -C "$item_dir" \ -c user.email="skill-git@local" -c user.name="skill-git" \ add . > /dev/null 2>&1 \ ``` The commit workflow defines a sensitive filename blocklist: ```text .env .env.* *.env *.pem *.key *.p12 *.pfx *.crt *.cer *.keystore credentials credentials.* credential.* secrets secrets.* secret.* *_token *_token.* *.token *password* *passwd* *secret* *apikey* *api_key* .aws .ssh id_rsa id_ed25519 id_ecdsa *.gpg *.pgp ``` However, execution subsequently stages every changed and untracked path: ```bash git -c user.email=skill-git@local -c user.name=skill-git -C add -A git -c user.email=skill-git@local -c user.name=skill-git -C commit -m "" git -c user.email=skill-git@local -c user.name=skill-git -C tag ``` The merge workflow applies a similar blocklist before copying files, but its final commit also stages the entire merged directory: ```bash git -c user.email=skill-git@local -c user.name=skill-git \ -C add -A git -c user.email=skill-git@local -c user.name=skill-git \ -C commit -m "" git -c user.email=skill-git@local -c user.name=skill-git \ -C tag ``` ### Technical Analysis The sensitive filename blocklists protect only selected Agent operations: the commit workflow does not read blocked untracked files, and the merge workflow does not copy blocked fi ...[truncated 2411 chars]- Remediation
View remediation
