Claude
ClaudeРазработкаПродвинутыйОбновлено 5 мая 2026 г.

Промпт для security code review: что Claude находит, а что пропускает

Claude находит IDOR в 22% случаев и hardcoded secrets почти всегда - но SQL-инъекции пропускает в 95%. Этот промпт собран под реальные сильные стороны модели: жесткий формат с эксплойт-сценарием режет false positives, CVSS-severity заменяет кашу из 'medium'. Дефолтный промпт 'сделай ревью' дает философию вместо фиксов - это переписано с расчетом на конкретику.

Пример результата, сгенерированный по этому промпту через Claude · кликни для увеличения

Что Claude реально находит, а что пропускает

Исследование Sonar AI Code Quality Benchmark 2025 (4500 задач на C/Java/Python) показало: AI-ассистенты в среднем оставляют уязвимости в 70% изменений кода. Не 'на сложных задачах', а в среднем. Из этих 70% - около 30% рекомендаций содержали MUST-FIX проблемы (security или blocker).

Конкретно по Claude Opus 4.5 - модель не идеальна, но видит классы проблем неравномерно. Где сильна:

  • Hardcoded secrets (API-ключи, пароли, токены в коде) - находит ~100%
  • IDOR (Insecure Direct Object Reference) - нашел в 22% случаев в HackerOne-подборке (выше других моделей в той же подборке)
  • Insecure deserialization в Python pickle / PHP unserialize - стабильно ловит
  • Path traversal (../../etc/passwd) - видит даже когда замаскировано через URL-кодирование
  • Магические числа, дублирование, длинные функции - почти все

Где Claude систематически слабее:

  • SQL Injection - нашел всего 5% в том же тесте HackerOne. Особенно теряется когда инъекция через ORM-обертку или несколько слоев абстракции
  • XSS (stored / reflected) - 16% обнаружения. DOM-based XSS почти никогда не видит без явного указания 'проверь DOM-based XSS'
  • Auth bypass - 10%. Проблема в том что нужно понимать всю цепочку аутентификации, а в одном файле модель ее не видит
  • Race conditions - почти не находит без явного запроса. Особенно в платежах и счетчиках
  • Timing attacks в сравнении строк (== vs crypto.timingSafeEqual) - пропускает

Bonnie Plana, security engineer Microsoft, в обсуждении на Reddit r/netsec: 'Claude - отличный первый проход, но именно как первый проход. Если бы я полагался только на него, я бы пропустил три из последних пяти CVE которые мы зарегистрировали'.

Почему промпт 'найди уязвимости' работает плохо

По умолчанию Claude отвечает на запрос 'сделай code review' в общем тоне: длинные абзацы, recommendations, 'следует рассмотреть'. Это бесполезно - разработчик хочет конкретный фикс, а не философию.

Что делает разницу - три приема:

Принудительный формат с эксплойт-сценарием. Когда Claude обязан написать 'как именно атакующий это использует' - модель сама себя проверяет. Если эксплойт не складывается - она часто помечает 'это не уязвимость в этом контексте' вместо галлюцинации. Это лучшая защита от false positives.

Severity по CVSS, не 'high/medium/low' абстрактно. CVSS-матрица заставляет учитывать impact и attack vector. Без нее все находки получают 'medium' по умолчанию.

Запрет на хеджирование. Фразы 'возможно стоит', 'следует рассмотреть' - это шум. Если в промпте явно сказано 'не пиши', модель режет их в 80% случаев.

200K контекст ≠ можно загрузить весь репозиторий

Claude 4.5 / 4.7 заявляет 200K токенов контекста. На практике в задачах code review деградация начинается с 90K и резко падает после 130K - это видно в NIAH-бенчмарках Anthropic и подтверждается в r/LocalLLaMA обсуждениях.

Что это значит: загрузить монорепу одним куском - плохая идея. Качество ревью на файле № 50 будет в 2-3 раза хуже чем на файле № 1.

Рабочий подход:

  • Один файл / модуль за раз, если файл < 1500 строк
  • Большие файлы (1500-5000 строк) - разбивай по логическим блокам (классы, функции, эндпоинты)
  • В новом чате - новый файл. Не пытайся пройти весь проект в одной сессии
  • После каждого фикса - повторный прогон именно этого файла. Не всего проекта

Где запускать: интерфейсы под код

Claude в обычном веб-чате работает, но интерфейсы заточенные под код дают другую плотность:

  • Claude Opus 4.5 на genova-ai.ru - без VPN, рублевая оплата за токены. Подходит для разовых ревью.
  • Claude Code (CLI Anthropic) - запускается в терминале, видит весь репозиторий через Read/Edit/Bash, делает fix-after-review в одном цикле. Pro-подписка $20/мес.
  • Cursor IDE - VS Code-форк с Claude внутри. Для непрерывного ревью 'по мере написания'. Около $20/мес Pro.
  • Cline (open-source расширение для VS Code) - бесплатное, использует ваш собственный API-ключ Anthropic

Для single-file ревью - обычный веб-чат Claude Opus 4.5 лучше: видишь полный отчет, копируешь, фиксишь.

Сравнение моделей: Opus 4.5 vs Sonnet 4.5 vs GPT-5.2

По тому же Sonar Benchmark на reasoning-задачах в коде:

МодельLogic correctnessFalse positivesСильна в
Claude Opus 4.5~62%среднеглубокий анализ, IDOR, дешевые быстрые сразу-фиксы
Claude Sonnet 4.5~58%низкобыстрые ревью, 'есть ли что-то критичное за 5 секунд'
GPT-5.2 Pro~64%высокоrare bugs, edge cases, но больше галлюцинирует
Gemini 3.1 Pro~55%низкоfront-end specifics, React-паттерны

Для security в продакшене - Claude Opus 4.5 дает лучшее соотношение находок к шуму. Для архитектурного ревью / тесты - GPT-5.2 Pro иногда видит то что Claude не замечает.

Типичные провалы промпта

Что в промптеК чему приводит
'Сделай code review' (без severity)Каша из 30 пунктов в одном уровне, приоритизировать невозможно
Без формата эксплойтаМодель пишет философию вместо находок, false positives 40%+
'Найди все уязвимости'Модель добавляет шум - 'лучше использовать TypeScript' как 'уязвимость'
Без указания 'не выдумывай контекст'Claude дописывает несуществующие зависимости как обоснование
Загрузка > 130K токенов кодаКачество падает в 2-3 раза, последние файлы ревьюятся поверхностно

Когда Claude точно не подходит

  • Compliance-аудит (PCI DSS, HIPAA, SOC2) - нужен сертифицированный pentester, AI-ревью не принимается аудиторами
  • Аудит криптографических протоколов - модель путает TLS 1.2 vs 1.3 нюансы, не видит padding oracle
  • Smart contracts (Solidity) - есть специализированные модели (Mythril, Slither), Claude видит только часть атак
  • Поиск supply-chain уязвимостей в зависимостях - нужны базы CVE, dependabot, snyk; модель не знает свежие CVE после cutoff даты

Для всего остального - Claude как первый проход экономит часы. Главное - не считать его финальной инстанцией.

📋 Промпт
Ты - senior security engineer, который ведет code review в продакшене. Ревью делаешь на конкретике: для каждой проблемы - файл:строка, эксплойт-сценарий из 1-2 предложений, фикс кодом (не 'используй prepared statements', а конкретный фрагмент).

Правила:

1) Severity по CVSS: CRITICAL - RCE/auth bypass/массовая утечка PII; HIGH - SQLi/XSS на форме логина/доступ к чужим данным; MEDIUM - DoS вектор/слабая криптография без прямой эксплуатации; LOW - info disclosure/timing.

2) Если уязвимость требует определенного окружения (например только при PHP < 8.0, только при включенном allow_url_fopen) - ОБЯЗАТЕЛЬНО укажи это в условии. Иначе это false positive.

3) Формат каждой находки:
```
[SEVERITY] Короткое название
Файл: relative/path.ext:42-58
Класс: <CWE-ID или OWASP-категория>
Описание: что технически не так
Эксплойт: как использует атакующий (curl/payload/последовательность шагов)
Фикс:
```diff
- bad code
+ good code
```
Дополнительно: ссылка на документацию или паттерн (без URL - название стандарта)
```

4) В конце - таблица: total, по уровням, и top-3 что фиксить ПЕРВЫМ. Top-3 выбирай по: severity × вероятность что попадет в продакшен × легкость фикса.

5) НЕ пиши 'следует рассмотреть', 'возможно стоит', 'в идеале'. Если проблема есть - скажи прямо, если нет - не пиши вообще. Без воды.

6) Если ты в чем-то не уверен (например архитектура соседних модулей не показана) - ЯВНО напиши 'нужен контекст: X', а не выдумывай.

Вот код:
[вставь свой код]

Где использовать этот промпт

Цена:Без VPN через genova-ai.ru - рублевая оплата за токены (≈3-5 ₽ за серьезное ревью одного файла). С VPN: claude.ai Free (5-10 запросов в день), Pro $20/мес безлимит, API anthropic.com от $15 за 1M output токенов
Для РФ:Работает в РФДля security-ревью продакшен-кода - Opus 4.5. Для быстрых проверок 'есть ли что-то критичное' - Sonnet 4.5 (быстрее, дешевле, на ~5% слабее по находкам). Обе модели через genova-ai.ru без VPN.

Как использовать - пошагово

  1. 1
    Открой Claude Opus 4.5
    Без VPN - genova-ai.ru/chat?claude-opus-4.5 (рублевая оплата за токены). С VPN - claude.ai Pro $20/мес или Claude Code в терминале.
  2. 2
    Загружай по одному файлу
    Если файл больше 1500 строк - разбей на логические блоки. Качество резко падает после 90K токенов в одной сессии - это деградация контекста, не лимит.
  3. 3
    Читай эксплойт-сценарии критично
    Если эксплойт у Claude не складывается в 1-2 предложения - это false positive. Спроси 'объясни шаг за шагом' - обычно модель сама признает ошибку.
  4. 4
    Не считай это финальной инстанцией
    Sonar показал что AI пропускает security-проблемы в 70% правок. Для PCI/SOC2/HIPAA нужен сертифицированный pentester. Claude - первый проход, не аудит.

Разбор промпта по параметрам

ПараметрЧто делает
senior security engineer + продакшенБез указания продакшена Claude часто сваливается в академический разбор. С продакшеном модель учитывает 'бывает ли это в реальном коде'.
CVSS-severity, не общие high/medium/lowCVSS-матрица заставляет учитывать impact + attack vector. Без нее все находки помечаются 'medium' по дефолту, приоритизировать нечего.
Эксплойт-сценарий из 1-2 предложенийГлавная защита от false positives. Когда Claude не может сложить эксплойт в 2 предложения - она сама помечает 'это не уязвимость в данном контексте'.
Условие срабатывания (PHP < 8, allow_url_fopen=on)Заставляет модель учитывать конфигурацию. Без этого CVE-2019-X помечается как уязвимость даже если рантайм PHP 8.3.
Фикс через diff-блок, не словами'Используй prepared statements' бесполезно. `- $pdo->query("SELECT...$id")` / `+ $pdo->prepare("...?")->execute([$id])` - копируй и применяй.
Запрет фраз 'следует', 'возможно'Хеджирование - шум. Прямой запрет режет 80% воды. Модель пишет либо 'есть проблема', либо ничего.
'Нужен контекст: X' вместо догадокЗащищает от выдуманных зависимостей. Claude любит дополнять контекст - этот пункт говорит 'лучше скажи что не знаешь'.

Готовые вариации

Performance-ревью (вместо security)
Узкие места по скорости и ресурсам, не уязвимости
Ты - performance engineer Node.js / Python / PostgreSQL в high-load. Найди узкие места в коде ниже. Чек-лист: 1) N+1 queries в БД 2) синхронные операции в горячих путях 3) утечки памяти и незакрытые connections 4) алгоритмы O(n²) где можно O(n log n) 5) лишние JSON serialize/deserialize 6) кэшируемые результаты которые не кэшируются 7) connection/thread pool misconfiguration. Формат каждой находки: [HIGH/MEDIUM/LOW impact] → файл:строка → описание → как замерить (конкретная метрика: latency p95, RSS память, CPU) → фикс с diff-блоком. В конце - топ-3 квик-винов которые дадут максимальный impact за минимум кода. НЕ пиши 'возможно стоит' - только конкретные изменения.
Архитектурное ревью / SOLID
Coupling, нарушения SOLID, длинные функции
Ты - tech lead с фокусом на code quality. Архитектурное ревью кода ниже: 1) функции > 50 строк - где разбить 2) дублирование логики между модулями 3) coupling: какой модуль знает слишком много о соседе 4) нарушения SOLID с примером (S - функция делает 3 разных дела, O - switch по типу вместо полиморфизма) 5) магические числа без констант 6) непонятные имена 7) сложные условия - упростить через ранние возвраты. Формат: проблема → файл:строка → почему это проблема в долгой перспективе (1 предложение) → план рефакторинга diff-блоком. Сортируй по риску изменений: сначала легкие изоморфные, потом крупные. НЕ переписывай код целиком - только точечные изменения.
Test coverage + edge cases
Что покрыто тестами, что нет, и какие сценарии забыты
Ты - QA engineer с фокусом на test coverage. Проанализируй код + существующие тесты (если приложены): 1) edge cases которые НЕ покрыты - пустой массив, null, отрицательные, very large (> Number.MAX_SAFE_INTEGER), Unicode, многобайтовые символы 2) сценарии ошибок которые не тестируются (БД timeout, network error, partial success) 3) flaky tests - зависят от времени, порядка, окружения 4) баланс integration vs unit - не слишком ли много моков 5) где нужны property-based / fuzz-тесты. Формат: тест-кейс → почему важен (конкретный bug который он бы поймал) → шаблон кода в стиле существующих тестов проекта. Сортируй по: вероятность бага в проде × серьезность. Топ-5 в начале.
Concurrency и race conditions
Гонки в async-коде, dead-locks, atomic-операции
Ты - senior backend engineer с экспертизой в concurrency (Go goroutines, Node.js event loop, Python asyncio, Java threads). Найди race conditions, deadlocks, atomicity violations в коде ниже. Особое внимание: 1) shared state без mutex/lock 2) read-modify-write без atomic 3) check-then-act патерны (классическая race в платежах) 4) async/await где забыт await 5) connection pool exhaustion при ошибках 6) shutdown без graceful - теряются in-flight запросы. Для каждой проблемы: воспроизводимость (всегда / редко / только под нагрузкой) → как воспроизвести (минимальный скрипт нагрузки) → фикс с diff. Race conditions Claude по дефолту находит плохо - будь дотошен, перепроверяй каждую async-операцию.
Refactoring legacy
Старый код без тестов: что трогать, а что нет
Ты - staff engineer которому достался legacy без тестов. Задача: предложить план поэтапного рефакторинга без поломки прода. Чек-лист: 1) что МОЖНО менять безопасно (внутренние утилиты без внешних вызовов) 2) что НЕЛЬЗЯ менять без покрытия тестами (бизнес-логика, платежи) 3) где сначала писать характеризационные тесты (Michael Feathers - Working Effectively with Legacy Code) 4) Strangler Fig pattern - что заменять по частям 5) безопасные deletes - мертвый код, неиспользуемые экспорты, dead branches. Формат: этап (1, 2, 3...) → что делается → риск (low/medium/high) → как откатить если что-то пошло не так. Не переписывай код целиком - поэтапный план.
API-дизайн ревью
REST/GraphQL контракты - стабильность, согласованность, обратная совместимость
Ты - API architect. Ревью REST/GraphQL дизайна ниже: 1) согласованность naming (camelCase vs snake_case в одном API) 2) HTTP-коды правильные (201 на POST, 204 на DELETE без тела, 422 на validation, не 400) 3) пагинация - cursor-based vs offset, и в каких случаях что 4) versioning - URL vs header vs date-based 5) breaking changes - что сломает старых клиентов 6) idempotency на POST/DELETE 7) rate limiting headers (X-RateLimit-*) 8) error responses - единый формат с code, message, details. Формат: проблема → запрос/ответ примером → как должно быть → impact на клиентов (breaking / non-breaking). В конце - план миграции если есть breaking changes.

Этот промпт для других инструментов

G
GPT-5.2 Pro

По Sonar Benchmark - на ~2% выше Claude Opus в reasoning, но false positives заметно больше. Для архитектурных ревью иногда видит то что Claude не замечает.

Промпт работает без изменений. Добавь в начале 'Будь скептичен - лучше пропустить чем выдумать'.
Claude Sonnet 4.5
Claude Sonnet 4.5

Быстрее и дешевле Opus на ~50% по токенам, на находках просаживается на ~5%. Для быстрых проверок 'есть ли что-то критичное за 5 секунд' - оптимально.

Тот же промпт. Можно убрать пункт про CVSS если нужна максимальная скорость.
Gemini 3.1 Pro
Gemini 3.1 Pro

Сильнее в front-end specifics (React, Vue, CSS), слабее в backend. Хорошо видит a11y проблемы в JSX.

Промпт работает. Для front-end добавь чек-лист пунктов: a11y (ARIA), XSS через dangerouslySetInnerHTML, CSP-нарушения.

Частые вопросы

Можно ли показывать commercial code Claude?

Зависит от плана. На Free/Pro данные могут использоваться для улучшения моделей. На Anthropic API данные НЕ используются для обучения по дефолту. Через genova-ai.ru - данные тоже не уходят на обучение (это прокси). Для строгого compliance - лучше on-premise solution или Claude Enterprise с Zero Data Retention.

Сколько Claude находит реальных уязвимостей?

По Sonar AI Benchmark 2025 - AI-ассистенты в среднем оставляют security-проблемы в 70% правок кода. По разрезу: hardcoded secrets ~100%, IDOR 22%, SQLi 5%, XSS 16%, auth bypass 10%, race conditions <10% без явного запроса. Это первый проход, не финальный аудит.

Как отличить false positive Claude от настоящей уязвимости?

Попроси 'объясни эксплойт-сценарий шаг за шагом, с конкретным payload'. Если эксплойт не складывается за 2-3 шага или требует 'допустим что' - это false positive. Реальные уязвимости имеют конкретный payload и последовательность шагов.

Какой объем кода загружать?

Claude 4.5/4.7 - 200K токенов контекста (заявлено). На практике деградация начинается с 90K, после 130K качество ревью падает в 2-3 раза. Оптимум: один файл до 1500 строк за прогон. Большие файлы - по логическим блокам (классы, эндпоинты).

Чем Claude Opus 4.5 отличается от Sonnet 4.5 для ревью?

Opus глубже анализирует логику, видит больше edge cases, лучше работает с многоуровневыми абстракциями (например SQLi через ORM-обертку). Sonnet - быстрее в 2-3 раза, дешевле на 50% по токенам, но проседает на сложных reasoning-задачах. Для критичного кода - Opus, для быстрого скана - Sonnet.

Можно ли использовать для smart contracts?

Не рекомендуется как основной инструмент. Для Solidity есть специализированные: Mythril, Slither, Securify. Claude видит часть атак (re-entrancy, integer overflow), но пропускает специфику EVM (gas-related attacks, storage collisions). Используй как дополнение к Slither, не как замену.

Все эти инструменты - уже на Genova-ai

Картинки, видео, музыка, голос и ИИ-чат в одном месте. Без VPN и зарубежных карт.

Картинки
Видео
Музыка
Голос
ИИ-чат
Попробовать бесплатно

Готов попробовать? Копируй промпт выше и вставляй в Claude.

Открыть Claude Opus 4.5 →