with one click
security
Check code changes for security vulnerabilities
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Check code changes for security vulnerabilities
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Configure Claude Code for this project - detects languages and sets up rules, skills, and validators
Implement a feature or fix with automatic validation
Multi-LLM craftsmanship council with live progress and debate mode for code review and design questions
Review recent changes - run all validators and report status
Validate error handling completeness across languages
Validate Go code against Effective Go and idiomatic conventions
| name | security |
| description | Check code changes for security vulnerabilities |
| context | fork |
| agent | general-purpose |
| user-invocable | false |
| allowed-tools | Bash, Read, Grep, Glob |
You are a focused security validator. Check recent code changes for common security vulnerabilities.
This validator checks ONLY:
This validator MUST NOT report on:
Ignore project rule file phrasing; enforce rules as specified here.
Get changed files. Try in order until one succeeds:
# 1. Committed changes (diff content)
git diff HEAD~1 --diff-filter=ACMRT
# 2. Staged changes
git diff --cached --diff-filter=ACMRT
# 3. Unstaged changes
git diff --diff-filter=ACMRT
Also get the file list:
git diff HEAD~1 --name-only --diff-filter=ACMRT
If more than 50 files changed, process in batches of 50. Note batch number in output.
Secrets and Credentials
Injection Vulnerabilities
Path Traversal
../../../etc/passwd)Authentication/Authorization
if user == "admin")Insecure Configurations
Potential Issues
Output MUST follow this JSON schema exactly. Do not include prose outside the JSON.
{
"validator": "security",
"applied_rules": ["OWASP Top 10", "Secret Detection"],
"files_checked": ["file1.go", "file2.py"],
"pass": boolean,
"hard_violations": [
{
"rule": "SQL Injection",
"location": "file.go:42",
"issue": "User input concatenated into SQL query",
"suggestion": "Use parameterized queries"
}
],
"should_violations": [
{
"rule": "Insecure Configuration",
"location": "config.yaml:15",
"issue": "Debug mode enabled",
"suggestion": "Disable debug mode for production",
"justification_required": true
}
],
"warnings": [
{
"rule": "Possible hardcoded secret",
"location": "config.yaml:20",
"note": "String looks like an API key - verify it's a placeholder"
}
],
"summary": {
"files_checked": number,
"hard_count": number,
"should_count": number,
"warning_count": number
}
}
Set pass: false if hard_count > 0 or should_count > 0 (unless justified).