К основному содержанию
скилл CX Codex

security-auditor · ovachiever — скилл для Claude Code: сканирует уязвимости

Скилл ищет дыры в коде по паттернам OWASP Top 10: SQL-инъекции, XSS, утечки секретов, слабую авторизацию. Срабатывает сам при правках файлов и перед деплоем.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add ovachiever/droid-tings --skill security-auditor -a claude-code
Открыть на GitHub

Что делает security-auditor

Скилл подключается к агенту и следит за изменениями кода. Как только правится файл, связанный с авторизацией, API или базой, он прогоняет его по списку известных уязвимостей и выдаёт алерт с типом проблемы, номером строки и конкретной правкой. Плюс проверяет десериализацию, CSRF, CORS, логирование и хранение паролей.

Внутри — набор паттернов из OWASP Top 10 и CWE с примерами «плохо/хорошо»: параметризованные запросы вместо склейки строк, textContent вместо innerHTML, секреты из переменных окружения вместо хардкода. Для зависимостей скилл умеет запускать npm audit и pip-audit — но только если разрешён доступ к registry.npmjs.org, pypi.org и api.github.com.

Разделение ролей такое: скилл ловит паттерн быстро, а глубокий аудит с моделированием угроз отдан субагенту @code-reviewer. Если в проекте есть свои правила безопасности, скилл копируется в отдельную папку и дописывается под компанию. Работает и с песочницей, и без неё.

Какие задачи решает

  • поймать SQL-инъекцию в склейке строк до коммита
  • найти захардкоженный API-ключ в платёжном модуле
  • проверить, что пароли не пишутся в базу в открытом виде
  • увидеть пропущенную проверку прав на удаление пользователя
  • прогнать аудит зависимостей перед выкладкой

Примеры запросов агенту

  • проверь этот файл на уязвимости перед коммитом
  • прогони security-auditor по изменениям в папке auth
  • перед деплоем просканируй код на утечки секретов

Как установить security-auditor

1Через Skills CLI (Vercel)

npx skills add ovachiever/droid-tings --skill security-auditor -a claude-code

2Вручную: положить файлы

~/.claude/skills/security-auditor/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/security-auditor/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора2

Другие версии security-auditor

Похожие

security-review getsentry Находит инъекции, XSS, ошибки авторизации и другие уязвимости в коде. Отчитывается только о находках с высокой уверенностью. CX Codex +1 21 300установок Next.js Security Scan sugarforever Скилл ищет дыры в Next.js и TypeScript/JavaScript проектах: XSS, инъекции, утечки секретов, проблемы авторизации. Пригодится перед деплоем. CX Codex +1 553установок secure-code-review zebbern Скилл прогоняет код по всем десяти категориям OWASP Top 10 и выдаёт отчёт с примерами уязвимостей и готовыми исправлениями. Пригодится перед релизом или ревью чужого проекта. CX Codex +1 ★ 4 676звёзд репо drupal-security madsnorgaard Скилл для ИИ-кодинга, который подсказывает безопасные приёмы Drupal: параметризованные запросы, экранирование вывода, проверка прав. Включается сам, когда вы пишете формы, контроллеры или работаете с вводом пользователя. CX Codex +1 823установок owasp-security hoodini Скилл подсказывает агенту, как закрыть дыры из OWASP Top 10: доступ, инъекции, криптография, конфиги. Пригодится, когда пишешь авторизацию или правишь API. CX Codex +1 3 000установок security boshu2 Проводит проверку кода, зависимостей и промптов на слабые места. Пригодится, когда нужно понять, безопасно ли выпускать код. CX Codex +1 1 400установок

Рядом в теме «Безопасность»

Всё по теме «Безопасность» →

Вопросы о security-auditor

Как установить security-auditor в Claude?

Одной командой: npx skills add ovachiever/droid-tings --skill security-auditor -a claude-code. После этого файл скилла лежит в ~/.claude/skills/security-auditor/SKILL.md.

Что делает security-auditor?

Сканирует код на паттерны OWASP Top 10: SQL-инъекции, XSS, проблемы аутентификации, утечки чувствительных данных, сломанный контроль доступа. При находке выдаёт алерт с уровнем критичности, местом и способом починки.

Чем скилл отличается от субагента @code-reviewer?

Скилл быстро находит сам паттерн уязвимости. Субагент @code-reviewer делает глубокий аудит с моделированием угроз — его вызывают, когда нужен полный разбор.

Исходный текст

SKILL.md · MIT
---
name: security-auditor
description: Continuous security vulnerability scanning for OWASP Top 10, common vulnerabilities, and insecure patterns. Use when reviewing code, before deployments, or on file changes. Scans for SQL injection, XSS, secrets exposure, auth issues. Triggers on file changes, security mentions, deployment prep.
allowed-tools: Read, Grep, Bash
---

# Security Auditor Skill

Automatic security vulnerability detection.

## When I Activate

- ✅ Code files modified (especially auth, API, database)
- ✅ User mentions security or vulnerabilities
- ✅ Before deployments or commits
- ✅ Dependency changes
- ✅ Configuration file changes

## What I Scan For

### OWASP Top 10 Patterns

**1. SQL Injection**
```javascript
// CRITICAL: SQL injection
const query = `SELECT * FROM users WHERE id = ${userId}`;

// SECURE: Parameterized query
const query = 'SELECT * FROM users WHERE id = ?';
db.query(query, [userId]);
```

**2. XSS (Cross-Site Scripting)**
```javascript
// CRITICAL: XSS vulnerability
element.innerHTML = userInput;

// SECURE: Use textContent or sanitize
element.textContent = userInput;
// or
element.innerHTML = DOMPurify.sanitize(userInput);
```

**3. Authentication Issues**
```javascript
// CRITICAL: Weak JWT secret
const token = jwt.sign(payload, 'secret123');

// SECURE: Strong secret from environment
const token = jwt.sign(payload, process.env.JWT_SECRET);
```

**4. Sensitive Data Exposure**
```python
# CRITICAL: Exposed password
password = "admin123"

# SECURE: Environment variable
password = os.getenv("DB_PASSWORD")
```

**5. Broken Access Control**
```javascript
// CRITICAL: No authorization check
app.delete('/api/users/:id', (req, res) => {
  User.delete(req.params.id);
});

// SECURE: Authorization check
app.delete('/api/users/:id', auth, checkOwnership, (req, res) => {
  User.delete(req.params.id);
});
```

### Additional Security Checks

- **Insecure Deserialization**
- **Security Misconfiguration**
- **Insufficient Logging**
- **CSRF Protection Missing**
- **CORS Misconfiguration**

## Alert Format

```
🚨 CRITICAL: [Vulnerability type]
📍 Location: file.js:42
🔧 Fix: [Specific remediation]
📖 Reference: [OWASP/CWE link]
```

### Severity Levels

- 🚨 **CRITICAL**: Must fix immediately (exploitable vulnerabilities)
- ⚠️ **HIGH**: Should fix soon (security weaknesses)
- 📋 **MEDIUM**: Consider fixing (potential issues)
- 💡 **LOW**: Best practice improvements

## Real-World Examples

### SQL Injection Detection

```javascript
// You write:
app.get('/users', (req, res) => {
  const sql = `SELECT * FROM users WHERE name = '${req.query.name}'`;
  db.query(sql, (err, results) => res.json(results));
});

// I alert:
🚨 CRITICAL: SQL injection vulnerability (line 2)
📍 File: routes/users.js, Line 2
🔧 Fix: Use parameterized queries
  const sql = 'SELECT * FROM users WHERE name = ?';
  db.query(sql, [req.query.name], ...);
📖 https://owasp.org/www-community/attacks/SQL_Injection
```

### Password Storage

```python
# You write:
def create_user(username, password):
    user = User(username=username, password=password)
    user.save()

# I alert:
🚨 CRITICAL: Storing plain text password (line 2)
📍 File: models.py, Line 2
🔧 Fix: Hash passwords before storing
  from bcrypt import hashpw, gensalt
  hashed = hashpw(password.encode(), gensalt())
  user = User(username=username, password=hashed)
📖 Use bcrypt, scrypt, or argon2 for password hashing
```

### API Key Exposure

```javascript
// You write:
const stripe = require('stripe')('sk_live_abc123...');

// I alert:
🚨 CRITICAL: Hardcoded API key detected (line 1)
📍 File: payment.js, Line 1
🔧 Fix: Use environment variables
  const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
📖 Never commit API keys to version control
```

## Dependency Scanning

I can run security audits on dependencies:

```bash
# Node.js
npm audit

# Python
pip-audit

# Results flagged with severity
```

## Relationship with @code-reviewer Sub-Agent

**Me (Skill):** Quick vulnerability pattern detection
**@code-reviewer (Sub-Agent):** Deep security audit with threat modeling

### Workflow
1. I detect vulnerability pattern
2. I flag: "🚨 SQL injection detected"
3. You want full analysis → Invoke **@code-reviewer** sub-agent
4. Sub-agent provides comprehensive security audit

## Common Vulnerability Patterns

### Authentication
- Weak password policies
- Missing MFA
- Session fixation
- Insecure password storage

### Authorization
- Missing access control
- Privilege escalation
- IDOR (Insecure Direct Object Reference)

### Data Protection
- Unencrypted sensitive data
- Weak encryption algorithms
- Missing HTTPS
- Insecure cookies

### Input Validation
- SQL injection
- Command injection
- XSS
- Path traversal

## Sandboxing Compatibility

**Works without sandboxing:** ✅ Yes
**Works with sandboxing:** ✅ Yes

**Optional: For dependency scanning**
```json
{
  "network": {
    "allowedDomains": [
      "registry.npmjs.org",
      "pypi.org",
      "api.github.com"
    ]
  }
}
```

## Integration with Tools

### With secret-scanner Skill
```
security-auditor: Checks code patterns
secret-scanner: Checks for exposed secrets
Together: Comprehensive security coverage
```

### With /review Command
```bash
/review --scope staged --checks security

# Workflow:
# 1. My automatic security findings
# 2. @code-reviewer sub-agent deep audit
# 3. Comprehensive security report
```

## Customization

Add company-specific security patterns:

```bash
cp -r ~/.claude/skills/security/security-auditor \
      ~/.claude/skills/security/company-security-auditor

# Edit SKILL.md to add:
# - Internal API patterns
# - Company security policies
# - Custom vulnerability checks
```

## Learn More

- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
- [CWE Top 25](https://cwe.mitre.org/top25/)
- [Security Best Practices](../../standards/security/)

© ovachiever · MIT · ovachiever/droid-tings

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой