code-vuln-audit — скилл для Claude Code: что делает и как установить
Проверяет проект на уязвимости зависимостей, утечки токенов и частые паттерны OWASP. Пригодится перед коммитом или релизом, когда нужно быстро найти открытые ключи и небезопасный код.
npx skills add zebbern/claude-code-guide --skill code-vuln-audit -a claude-codeЧто делает code-vuln-audit
Скилл запускает локальный аудит через скрипт scripts/security_scan.py на Python 3.7+. Он сканирует пакеты через npm audit или pip-audit, анализирует секреты и проверяет код на шаблоны из OWASP Top 10. Поиск утечек совмещает регулярные выражения для ключей AWS, Stripe или токенов GitHub с вычислением энтропии Шеннона при пороге выше 4.5 и длине строки от 20 символов.
Статический анализ ищет инъекции SQL и команд, XSS, небезопасную десериализацию через pickle или yaml.load, слабые алгоритмы хеширования и SSRF. Проверка охватывает Python, JavaScript, TypeScript, Go, Java, PHP и Ruby. Результаты выводятся в виде текста или JSON со статусами от low до critical.
Для проверки зависимостей требуются установленные в системе утилиты npm или pip-audit. Если нужной команды нет, скрипт выведет предупреждение и продолжит сканировать секреты и код без сбоя.
Какие задачи решает
- найти забытые токены и ключи API в исходном коде
- проверить зависимости npm и pip на известные уязвимости
- обнаружить инъекции SQL, команд и XSS в коде
- выявить использование слабых хешей вроде MD5 или SHA1
- выгрузить отчёт о безопасности в формате JSON
Примеры запросов агенту
- Просканируй проект на утечки токенов и паролей
- Запусти проверку зависимостей через code-vuln-audit с уровнем severity high
- Проверь код на ошибки OWASP и сохрани отчёт в report.json
Как установить code-vuln-audit
1Через Skills CLI (Vercel)
npx skills add zebbern/claude-code-guide --skill code-vuln-audit -a claude-code2Вручную: положить файлы
~/.claude/skills/code-vuln-audit/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/code-vuln-audit/
1Через Skills CLI (Vercel)
npx skills add zebbern/claude-code-guide --skill code-vuln-audit -a codex2Вручную: положить файлы
.agents/skills/code-vuln-audit/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add zebbern/claude-code-guide --skill code-vuln-audit -a cursor2Вручную: положить файлы
.cursor/skills/code-vuln-audit/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install zebbern/claude-code-guide code-vuln-audit2Вручную: положить файлы
.github/skills/code-vuln-audit/SKILL.md1Через Skills CLI (Vercel)
npx skills add zebbern/claude-code-guide --skill code-vuln-audit -a gemini-cli2Командой платформы
gemini skills install https://github.com/zebbern/claude-code-guide --path skills/code-vuln-auditВручную: положить файлы
.devin/skills/code-vuln-audit/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add zebbern/claude-code-guide --skill code-vuln-audit -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о code-vuln-audit
Как установить code-vuln-audit в Claude Code?
Выполните команду npx skills add zebbern/claude-code-guide --skill code-vuln-audit -a claude-code. Конфигурация сохранится в путь ~/.claude/skills/code-vuln-audit/SKILL.md.
Что делает code-vuln-audit?
Скилл ищет уязвимости в зависимостях проекта через npm audit и pip-audit, находит открытые секреты по шаблонам и энтропии, а также проверяет код на антипаттерны OWASP.
Что нужно для работы сканера?
Требуется установленный Python 3.7+, так как сканер написан на стандартной библиотеке. Для аудита зависимостей дополнительно нужны npm (для Node.js) или pip-audit (для Python).
Исходный текст
SKILL.md · MIT
---
name: code-vuln-audit
description: "Scan code for security issues: dependency vulnerabilities (npm/pip audit), secret leaks (regex and entropy analysis), and OWASP anti-patterns like SQL injection, XSS, or command injection. Use when the user mentions security scans, vulnerability detection, secret leaks, API keys, OWASP, npm audit, pip-audit, hardcoded passwords, or code security checks."
license: MIT
---
# code-vuln-audit
A code security scanning tool with three core scanning capabilities:
1. **Dependency Vulnerability Scanning** — Automatically detects known vulnerabilities in npm / pip dependencies
2. **Secret Leak Detection** — Discovers hardcoded secrets, tokens, and passwords via regex matching + Shannon entropy analysis
3. **OWASP Pattern Detection** — Identifies common security anti-patterns such as SQL injection, XSS, command injection, and insecure deserialization
## Quick Start
```bash
# Scan the current directory (all checks)
python3 scripts/security_scan.py .
# Scan dependencies only
python3 scripts/security_scan.py --mode deps .
# Detect secret leaks only
python3 scripts/security_scan.py --mode secrets /path/to/project
# Detect OWASP security patterns only
python3 scripts/security_scan.py --mode owasp .
# Output report in JSON format
python3 scripts/security_scan.py --format json --output report.json .
# Only show findings at high severity and above
python3 scripts/security_scan.py --severity high .
```
## Scan Module Details
### 1. Dependency Vulnerability Scanning (deps)
Automatically detects the project type and invokes the appropriate tool:
| Project Type | Detection File | Tool Used |
|---|---|---|
| Node.js | `package.json` + `package-lock.json` | `npm audit` |
| Python | `requirements.txt` / `pyproject.toml` / `Pipfile` | `pip-audit` |
If the corresponding audit tool is not installed, a helpful message is displayed instead of an error.
### 2. Secret Leak Detection (secrets)
Detection is performed in two ways:
**Regex Matching**: Covers common secret formats
| Secret Type | Example Pattern |
|---|---|
| AWS Access Key | 20-character string starting with `AKIA` |
| GitHub Token | Starts with `ghp_` or `github_pat_` |
| Slack Token | Starts with `xoxb-` or `xoxp-` |
| Stripe Key | Starts with `sk_live_` or `pk_live_` |
| Private Key File | `-----BEGIN PRIVATE KEY-----` |
| Generic API Key | Format like `api_key = "..."` |
| Credentials in URL | `https://user:pass@host` |
| JWT Token | `eyJ...` format |
**Shannon Entropy Analysis**: Computes information entropy for string constants in code (threshold > 4.5 and length >= 20) to discover secrets in non-standard formats.
### 3. OWASP Pattern Detection (owasp)
Covers statically detectable security patterns from the OWASP Top 10:
| OWASP Category | Detection Patterns |
|---|---|
| A02: Cryptographic Failures | Weak hashes (MD5/SHA1), weak ciphers (DES/RC4) |
| A03: Injection | SQL injection, command injection (os.system / subprocess shell / eval / exec), XSS (innerHTML / document.write / dangerouslySetInnerHTML / v-html) |
| A04: Insecure Design | Path traversal |
| A05: Security Misconfiguration | Debug mode enabled, CORS wildcard, binding to 0.0.0.0 |
| A08: Integrity Failures | Insecure deserialization (pickle / yaml.load / marshal / unserialize) |
| A10: SSRF | User input passed directly to HTTP requests |
Supported languages: Python, JavaScript/TypeScript, Java, PHP, Ruby, Go, and more.
## Parameters
| Parameter | Description | Default |
|---|---|---|
| `TARGET` | Directory to scan | Current directory |
| `--mode MODE` | Scan mode: `all`, `deps`, `secrets`, `owasp` | `all` |
| `--format FORMAT` | Output format: `text`, `json` | `text` |
| `--output FILE` | Output file path | stdout |
| `--severity LEVEL` | Minimum reporting level: `low`, `medium`, `high`, `critical` | `low` |
| `--exclude-dir DIR` | Additional directories to exclude (repeatable) | - |
| `--max-file-kb SIZE` | Maximum file size to scan in KB | `512` |
| `-h, --help` | Show help | - |
## Output Format
### Text Output (default)
```
=== Security Scan Report ===
Target: /path/to/project
Modules: deps, secrets, owasp
[CRITICAL] AWS Access Key ID
File: src/config.py:15
Code: AWS_KEY = "AKIAIOSFODNN7EXAMPLE"
[HIGH] SQL Injection (f-string)
File: src/db.py:42
Code: cursor.execute(f"SELECT * FROM users WHERE id={user_id}")
--- Summary ---
Critical: 1 | High: 1 | Medium: 0 | Low: 0
Total findings: 2
```
### JSON Output
```json
{
"target": "/path/to/project",
"scan_time": "2026-04-14T10:30:00",
"findings": [
{
"scanner": "secrets",
"name": "AWS Access Key ID",
"severity": "critical",
"file": "src/config.py",
"line": 15,
"snippet": "AWS_KEY = \"AKIAIOSFODNN7EXAMPLE\"",
"category": "secret-pattern"
}
],
"summary": {"critical": 1, "high": 0, "medium": 0, "low": 0, "total": 1}
}
```
## Exit Codes
| Exit Code | Meaning |
|---|---|
| `0` | No findings |
| `1` | Findings present (at least one security issue) |
| `2` | Scanner internal error |
## Prerequisites
- Python 3.7+ (uses standard library only)
- Dependency scanning requires the corresponding tools: `npm` (for Node.js projects), `pip-audit` (for Python projects)
- If an audit tool is missing, that module will be skipped with a notice — other modules continue to run normally
© zebbern · MIT · zebbern/claude-code-guide