Skip to content
Report library
Purpose / Development

Git Commit Skill Security Audit

What the author says it does (original text)

Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions "/commit". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type/scope/description overrides, (4) Intelligent file stagin

Independent security check

Security risks found

Files checked
1
Risks found
2
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.Risks found: 1
Medium risk

Committing executes Git hook code configured for the repository

Source references: 2
What we found

The skill runs `git commit`, explicitly says not to use `--no-verify` in normal operation, and directs the agent to address hook failures. Hooks are therefore part of the expected execution path. Their actual code comes from the repository or local Git configuration and is not included in the supplied source.

Why this matters

In an untrusted repository, a malicious or modified commit hook could run commands with the user's permissions, read accessible files or credentials, and alter the machine or workspace. The supplied evidence does not establish that any malicious hook is present.

The skill actively runs `git commit` and says not to use `--no-verify` unless requested, so applicable Git commit hooks are normally allowed to run. If the repository or local environment supplies malicious or unexpected hooks, they may execute commands during the commit and affect files or credentials. No hook code is included, so its actual behavior cannot be determined. A user can require applicable hooks to be listed and reviewed first, or restrict execution in an untrusted repository.

SKILL.md:93In the instructionsOpen original file
### 4. Execute Commit```bash# Single linegit commit -m "<type>[scope]: <description>"
Show 1 other places
SKILL.md:122In the instructionsOpen original file
- NEVER run destructive commands (--force, hard reset) without explicit request- NEVER skip hooks (--no-verify) unless user asks- NEVER force push to main/master- If commit fails due to hooks, fix and create NEW commit (don't amend)
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.No risks found
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 1
Medium risk

Wildcard staging can place unreviewed or sensitive files into Git history

Source references: 4
What we found

The workflow permits wildcard-based `git add`, while the preceding `git diff` does not show the contents of untracked files and `git status --porcelain` generally shows only their paths. New matching files can therefore be staged without content review. The warning not to commit secrets helps, but the shown workflow does not require a final inspection of the complete staged diff.

Why this matters

If a wildcard matches credentials, generated artifacts, or unrelated files, they can enter the commit and later reach a remote repository. Deleting them afterward may not remove them from Git history.

The workflow first inspects working-tree changes with `git diff`, which does not show the contents of untracked files, and later permits wildcard staging. A newly matched file could therefore be committed after only its path—not its contents—was reviewed. Although the document explicitly forbids committing secrets, it does not require a final review of the complete staged diff. A user can require explicit file lists and review `git diff --staged` before committing.

SKILL.md:60In the instructionsOpen original file
# If nothing staged, use working tree diffgit diff# Also check statusgit status --porcelain```
Show 3 other places
SKILL.md:75In the instructionsOpen original file
# Stage by patterngit add *.test.*git add src/components/*
SKILL.md:83In the instructionsOpen original file
**Never commit secrets** (.env, credentials.json, private keys).
SKILL.md:93In the instructionsOpen original file
### 4. Execute Commit```bash# Single linegit commit -m "<type>[scope]: <description>"
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

7 instruction sections

The skill checks the staged or working-tree diff and repository status, selects files for staging, generates a Conventional Commit message, and creates a local commit.

View source
SKILL.md:56In the instructionsOpen original file
```bash# If files are staged, use staged diffgit diff --staged# If nothing staged, use working tree diffgit diff# Also check statusgit status --porcelain```
SKILL.md:93In the instructionsOpen original file
### 4. Execute Commit```bash# Single linegit commit -m "<type>[scope]: <description>"

It explicitly prohibits changing Git configuration, running destructive commands without a request, bypassing hooks without permission, force-pushing the main branch, and committing secrets.

View source
SKILL.md:83In the instructionsOpen original file
**Never commit secrets** (.env, credentials.json, private keys).
SKILL.md:118In the instructionsOpen original file
## Git Safety Protocol- NEVER update git config- NEVER run destructive commands (--force, hard reset) without explicit request- NEVER skip hooks (--no-verify) unless user asks- NEVER force push to main/master- If commit fails due to hooks, fix and create NEW commit (don't amend)
Start here · InstructionsSKILL.md
git-commit
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.
Files and check records1 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions

Operations mentioned in code and instructions

Run commands
SKILL.md:5In the instructionsOpen original file
license: MITallowed-tools: Bash---
SKILL.md:56In the instructionsOpen original file
```bash# If files are staged, use staged diff
SKILL.md:71In the instructionsOpen original file
```bash# Stage specific files
Read keys or account settings
SKILL.md:83In the instructionsOpen original file
**Never commit secrets** (.env, credentials.json, private keys).
Read files
SKILL.md:100In the instructionsOpen original file
# Multi-line with body/footergit commit -m "$(cat <<'EOF'<type>[scope]: <description>
Lines read
125
File checksum (to compare versions)
b25cdbd3f3d53d6c3a28f4c786d668e97fe8a8850d078987871e4f34fcd600bc