بنقرة واحدة
security-audit
Automated security audit skill for detecting secrets, tokens, and security vulnerabilities in code
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Automated security audit skill for detecting secrets, tokens, and security vulnerabilities in code
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Use when a change must be made in an upstream repo that is mirrored into this control repo as a sibling checkout. Covers the required sequence: fix and push the upstream repo first, then verify the control repo references the pushed upstream commit, then commit and push the control-plane metadata change.
Use when a user asks to detect secrets in git commit history, clean tracked sensitive data, rewrite history with git-filter-repo, or verify cleanup with gitleaks. Covers gitleaks detect -v, replacement mapping, path removal, ref inventory, history rewrites, force-push planning, and post-cleanup coordination.
Use when Codex App with GPT 5.4 should act as the chief engineer and dispatch low-cost or isolated sub-tasks to ollama, opencode, or gemini CLIs instead of doing all execution itself. Best for migration verification, batch checks, document fixes, and controlled multi-model delegation.
Execute and verify the lightweight single-VPS migration path for accounts + rag-server + APISIX standalone + shared stunnel-client. Use for cheap-model test runs, preview verification, and Docker Compose smoke checks.
Use when Codex or another manager needs to hand off a concrete subtask to opencode, ollama, or gemini through scripts/orchestration/run_worker.sh. Defines the worker execution contract, prompt shape, handoff rules, and fallback behavior.
Standardize a single scripts/setup.sh across Cloud-Neutral Toolkit repos (curl | bash), with safe cloning, dependency install, and next-step printing. Use when adding or updating setup.sh in any repo.
استنادا إلى تصنيف SOC المهني
| name | Security Audit |
| description | Automated security audit skill for detecting secrets, tokens, and security vulnerabilities in code |
| version | 1.0.0 |
| author | Cloud Neutral Toolkit |
| tags | ["security","audit","secrets","tokens","best-practices"] |
This skill provides automated security auditing capabilities for detecting secrets, tokens, API keys, and other security vulnerabilities in your codebase.
The Security Audit Skill helps you:
Run a quick security audit on your repository:
./skills/security-audit/scripts/quick-audit.sh
Run a comprehensive security audit with detailed reporting:
./skills/security-audit/scripts/full-audit.sh
Specifically audit service token transmission:
./skills/security-audit/scripts/audit-token-transmission.sh
Install as a pre-commit hook to prevent secrets from being committed:
./skills/security-audit/scripts/install-pre-commit-hook.sh
Scans for:
Verifies:
Checks:
Detects:
Validates:
Create a .security-audit.yml file in your repository root:
# Security Audit Configuration
version: 1.0
# Patterns to detect (regex)
secret_patterns:
- name: "AWS Access Key"
pattern: "AKIA[0-9A-Z]{16}"
severity: "critical"
- name: "Generic API Key"
pattern: "api[_-]?key['\"]?\\s*[:=]\\s*['\"][a-zA-Z0-9]{32,}['\"]"
severity: "high"
- name: "Private Key"
pattern: "-----BEGIN (RSA |EC |OPENSSH )?PRIVATE KEY-----"
severity: "critical"
# Files to exclude from scanning
exclude_paths:
- "node_modules/"
- ".git/"
- "*.test.js"
- "*.test.ts"
- "test/fixtures/"
# Custom token names to check
custom_tokens:
- "INTERNAL_SERVICE_TOKEN"
- "JWT_SECRET"
- "DATABASE_PASSWORD"
# Logging patterns to detect
logging_patterns:
- "console.log.*password"
- "console.log.*token"
- "console.log.*secret"
- "logger.*apiKey"
Use Environment Variables
const apiKey = process.env.API_KEY
Transmit Tokens via Headers
headers: {
'X-Service-Token': process.env.INTERNAL_SERVICE_TOKEN
}
Generic Error Messages
return { error: 'Authentication failed' }
Sanitize Logs
console.log(`Request to ${url.replace(/token=.+/, 'token=***')}`)
Use Secrets Management
Hardcode Secrets
// ❌ NEVER DO THIS
const apiKey = "your-api-key..."
Tokens in URLs
// ❌ NEVER DO THIS
fetch(`/api/data?token=${serviceToken}`)
Log Sensitive Data
// ❌ NEVER DO THIS
console.log('Token:', serviceToken)
Expose in Error Messages
// ❌ NEVER DO THIS
return { error: `Invalid token: ${token}` }
Commit .env Files
# ❌ NEVER DO THIS
git add .env
name: Security Audit
on: [push, pull_request]
jobs:
security-audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run Security Audit
run: |
chmod +x ./skills/security-audit/scripts/full-audit.sh
./skills/security-audit/scripts/full-audit.sh
- name: Upload Audit Report
if: always()
uses: actions/upload-artifact@v3
with:
name: security-audit-report
path: security-audit-report.txt
steps:
- name: 'bash'
args:
- '-c'
- |
chmod +x ./skills/security-audit/scripts/full-audit.sh
./skills/security-audit/scripts/full-audit.sh
Audit reports include:
$ ./skills/security-audit/scripts/quick-audit.sh
❌ CRITICAL: Hardcoded API key detected
File: src/config.ts:15
Pattern: api_key = "sk_live_..."
Fix: Use environment variable instead
const apiKey = process.env.API_KEY
$ ./skills/security-audit/scripts/audit-token-transmission.sh
❌ HIGH: Token in URL parameter
File: src/api/client.ts:42
Code: fetch(`/api?token=${token}`)
Fix: Use HTTP header instead
headers: { 'Authorization': `Bearer ${token}` }
$ ./skills/security-audit/scripts/quick-audit.sh
⚠️ MEDIUM: Potential sensitive data logging
File: src/auth/middleware.ts:28
Code: console.log('User token:', userToken)
Fix: Remove or redact sensitive data
console.log('User authenticated')
Add custom secret patterns to detect:
./skills/security-audit/scripts/quick-audit.sh \
--pattern "custom[_-]secret['\"]?\\s*[:=]\\s*['\"][^'\"]+['\"]" \
--severity critical
Scan specific files or directories:
./skills/security-audit/scripts/quick-audit.sh \
--path src/auth/ \
--path src/api/
Generate reports in different formats:
# JSON output
./skills/security-audit/scripts/full-audit.sh --format json > audit.json
# Markdown report
./skills/security-audit/scripts/full-audit.sh --format markdown > AUDIT.md
# HTML report
./skills/security-audit/scripts/full-audit.sh --format html > audit.html
If the audit detects false positives, add them to .security-audit-ignore:
# .security-audit-ignore
src/test/fixtures/sample-key.txt:5 # Test fixture, not a real key
docs/examples/api-example.md:12 # Documentation example
For large repositories, use incremental scanning:
# Only scan changed files
./skills/security-audit/scripts/quick-audit.sh --incremental
# Only scan files changed in last commit
./skills/security-audit/scripts/quick-audit.sh --since HEAD~1
For issues or questions:
MIT License - See LICENSE file for details