Курс по Claude Code

Code Review, безопасность и верификация

Code Review, безопасность и верификация

Claude Code — мощный инструмент для code review. Правильно поставленная задача даёт глубокий анализ, который дополняет автоматические линтеры.

Code Review с Claude Code

# Ревью текущих изменений
claude "Сделай code review git diff. Фокус на: безопасность,
производительность, потенциальные баги"

# Ревью конкретного файла
claude "Проверь src/auth/jwt.ts на безопасность и best practices"

# Ревью перед PR
claude "Мы готовимся смерджить эту ветку. Проверь все изменения
относительно main и укажи на что обратить внимание"

Типичные уязвимости, которые найдёт Claude

SQL Injection:

// ❌ Уязвимо
const result = await db.query(`SELECT * FROM users WHERE id = ${userId}`)

// ✅ Безопасно
const result = await db.query('SELECT * FROM users WHERE id = $1', [userId])

XSS:

// ❌ Уязвимо
<div dangerouslySetInnerHTML={{ __html: userContent }} />

// ✅ Безопасно — React экранирует автоматически
<div>{userContent}</div>

Открытые секреты:

// ❌ Никогда
const apiKey = "sk-live-abc123"

// ✅ Через переменные окружения
const apiKey = process.env.API_KEY

Skill для систематического ревью

---
name: security-review
description: Полный security review изменений
---

Проведи security review git diff HEAD:

**КРИТИЧНО (блокирует merge):**
- SQL/NoSQL injection
- XSS возможности
- Открытые секреты/ключи в коде
- Сломанная аутентификация/авторизация

**ВАЖНО (нужно исправить):**
- Небезопасная десериализация
- Отсутствие валидации пользовательского ввода
- Небезопасные прямые ссылки на объекты

**РЕКОМЕНДАЦИИ:**
- Логирование критических операций
- Rate limiting для публичных эндпоинтов

Для каждой проблемы: файл:строка, описание, пример исправления.

Верификация решений Claude Code

Claude Code может ошибаться. Паттерны для верификации:

> Ты только что написал функцию processPayment. Проверь её сам:
  1. Обработаны ли все edge cases?
  2. Что произойдёт если payment gateway недоступен?
  3. Корректно ли обрабатываются транзакции БД?

Итог

  • Claude Code находит SQL injection, XSS, открытые секреты
  • Создайте skill /security-review для систематической проверки
  • Просите Claude Code самому верифицировать своё решение
  • Автоматические линтеры + Claude = дополняющие слои защиты

Практические задания

#1

Проведи security review через Claude Code

Возьми любой реальный модуль (или учебный пример с намеренными уязвимостями).

Попроси Claude Code провести security review: найти потенциальные уязвимости, объяснить каждую и предложить исправление. Оцени полноту анализа.

Подсказки

#2

Настрой автоматический code review

Создай skill или hook, который запускает review каждого изменённого файла перед коммитом.

Review должен проверять: стиль кода, потенциальные баги, нарушение конвенций проекта.

Подсказки