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 bypass10%. Проблема в том что нужно понимать всю цепочку аутентификации, а в одном файле модель её не видит
  • 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. Хорошо видит а11y проблемы в 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