Пентест перестал быть роскошью для крупных компаний. Пока одни команды ждут квартального аудита, другие уже прогоняют код и конфиги через LLM и закрывают дыры в тот же день. По данным отчёта Verizon DBIR, веб-приложения остаются одной из главных точек входа для атак — и большинство инцидентов связано с известными классами уязвимостей из OWASP Top 10, которые можно отловить ещё на этапе разработки.
Ниже — рабочая шпаргалка промтов для этичного хакинга и аудита безопасности: от разведки до отчёта. Важно: ИИ не заменяет пентестера и не даёт гарантий. Он ускоряет рутину, помогает не забыть чек-листы и подсвечивает то, что легко пропустить глазами. Все примеры проверяйте руками и только на своих системах или в рамках легального bug bounty.
1. Разведка: пассивный сбор информации о домене
Задача: быстро собрать поверхность атаки по домену (поддомены, технологии, открытые сервисы) до активного сканирования.
Промт:
Ты — специалист по OSINT в рамках легального пентеста.
Домен: example.com (у меня есть письменное разрешение владельца).
Составь пошаговый план пассивной разведки:
1) какие публичные источники проверить (crt.sh, Shodan, SecurityTrails, DNS-историю);
2) какие DNS-записи запросить и что они покажут (A, AAAA, MX, TXT/SPF, CNAME);
3) как по HTTP-заголовкам и favicon определить стек (nginx, Cloudflare, WordPress);
4) на что обратить внимание в robots.txt и sitemap.xml.
Для каждого шага дай команду (dig, curl, whois) и что искать в выводе.
Пример: для dig TXT example.com ИИ подсказывает проверить SPF на ~all vs -all и наличие DMARC — слабая почтовая политика часто ведёт к спуфингу. Результат: карта поддоменов и стека за 20 минут вместо дня ручной работы.
2. Триаж OWASP Top 10 по описанию функционала
Задача: быстро набросать гипотезы уязвимостей по описанию приложения, чтобы не идти вслепую.
Промт:
Ты — пентестер. Вот описание приложения: интернет-магазин на React + Node.js/Express, JWT-авторизация, загрузка аватарок, экспорт заказов в CSV, админка на /admin.
Составь таблицу: категория OWASP Top 10 (2021)
| вероятный вектор | конкретная проверка | инструмент.
Фокус на Broken Access Control, Injection, SSRF и Security Misconfiguration.
Для каждой строки — пример запроса или payload для ручной проверки.
Пример: ИИ предложит проверить IDOR на /api/orders/:id (подмена чужого ID), SSRF через загрузку аватара по URL и CSV-инъекцию через =cmd|'...' в экспорте. Это готовый чек-лист на первую сессию.
3. Разбор кода на SQL-инъекции
Задача: найти небезопасные конкатенации SQL в фрагменте кода.
Промт:
Проанализируй код на SQL-инъекции и другие инъекции.
Для каждой находки: строка, класс уязвимости (CWE), почему эксплуатируемо, исправленный вариант с параметризованными запросами.
Код:
app.get('/user', (req, res) => {
const q = "SELECT * FROM users WHERE name = '" + req.query.name + "'";
db.query(q, (e, r) => res.json(r));
});
Пример: ИИ укажет CWE-89, покажет payload ' OR '1'='1 и перепишет на db.query('SELECT * FROM users WHERE name = ?', [req.query.name]). Всегда перепроверяйте предложенный фикс — LLM иногда путает API драйверов.
4. XSS и CSP: аудит фронтенда
Задача: найти места с небезопасным выводом и слабой политикой безопасности.
Промт:
Ты — AppSec-инженер. Проверь фрагмент React-кода на XSS и предложи строгую CSP.
1) найди использование dangerouslySetInnerHTML и объясни риск;
2) как санитизировать HTML (DOMPurify) и когда это не нужно;
3) составь Content-Security-Policy для приложения с React и CDN, объясни каждую директиву.
Код: <div dangerouslySetInnerHTML={{__html: comment.body}} />
Пример: ИИ напомнит, что dangerouslySetInnerHTML — прямой путь к stored XSS, и предложит CSP с default-src 'self'; script-src 'self' https://cdn.example.com; object-src 'none'. Настройку frame-ancestors 'none' подсветит как защиту от кликджекинга.
5. Аудит конфигурации: заголовки и TLS
Задача: проверить security-заголовки и параметры TLS по выводу сканера.
Промт:
Вот ответ сервера и результат testssl.sh (вставь вывод).
Составь таблицу: проблема
| риск | рекомендация | приоритет (High/Med/Low).
Проверь: HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, устаревшие TLS 1.0/1.1 и слабые шифры.
Дай готовые строки конфигурации для nginx.
Пример: типичный вывод показывает отсутствие HSTS и включённый TLS 1.1. ИИ предложит add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; и отключение старых протоколов через ssl_protocols TLSv1.2 TLSv1.3;.
6. SAST/DAST: настройка и триаж ложных срабатываний
Задача: внедрить сканеры в CI и не утонуть в false positive.
Промт:
Ты — DevSecOps-инженер. Помоги настроить Semgrep (SAST) и OWASP ZAP (DAST) в GitHub Actions.
1) минимальный workflow с запуском на pull request;
2) правила Semgrep для JS/Python: SQLi, XSS, hardcoded secrets;
3) как настроить baseline ZAP и фильтровать ложные срабатывания;
4) политика: какие находки блокируют merge (High/Critical), какие — в бэклог.
Пример: для Semgrep ИИ даст правило с pattern: $DB.query("..." + $X + "...") и message, а для ZAP — zap-baseline.py -t $URL -r report.html в шаге CI. Политика «блокируем Critical, остальное — тикет» экономит нервы команде.
7. SSRF и доступ к внутренней сети
Задача: проверить функции, которые ходят по пользовательским URL.
Промт:
Проанализируй эндпоинт загрузки изображения по URL на SSRF (CWE-918).
Объясни, как атакующий дотянется до 169.254.169.254 (metadata cloud) и localhost-сервисов.
Предложи защиту: allowlist доменов, блокировка приватных диапазонов, отключение редиректов, таймауты.
Дай пример кода на Python с проверкой IP после DNS-резолва.
Пример: ИИ напомнит, что проверять нужно уже разрешённый IP (иначе DNS rebinding), и приведёт проверку через ipaddress.ip_address(ip).is_private. Без этого фикса загрузка аватарок превращается в мост во внутреннюю сеть.
8. Отчёт о найденных уязвимостях
Задача: превратить заметки в понятный отчёт для разработчиков и менеджмента.
Промт:
Составь отчёт по найденным уязвимостям в формате: ID
| название | CVSS | затронутый компонент | шаги воспроизведения | влияние | рекомендация.
Аудитория — разработчики и CTO. Пиши кратко, без жаргона, для каждой — приоритет исправления.
Данные: IDOR на /api/orders (High), отсутствие HSTS (Low), SQLi в поиске (Critical).
Пример: для IDOR ИИ сформулирует: «Пользователь может читать чужие заказы, подставив ID — риск утечки ПДн, исправить в первую очередь». Такой отчёт не нужно переводить с языка хакера на язык бизнеса.
| Промт | Класс задачи | Когда применять |
|---|---|---|
| Разведка | OSINT | Старт проекта |
| OWASP-триаж | Гипотезы | Планирование сессии |
| SQLi/XSS-разбор | SAST вручную | Ревью кода |
| Конфиг/TLS | Misconfiguration | Перед релизом |
| SAST/DAST | CI/CD | Настройка пайплайна |
| Отчёт | Коммуникация | После находок |
Итог простой: LLM — это ускоритель мышления пентестера, а не автопилот. Он помогает держать в голове OWASP Top 10, писать фиксы и говорить с бизнесом на одном языке, но каждую находку подтверждайте вручную и только в рамках легального периметра. Начните с одного промта — например, триажа по описанию вашего приложения — и встройте его в процесс ревью уже на этой неделе. Безопасность выигрывает не от разового аудита, а от привычки проверять до того, как это сделает кто-то другой.
Комментарии