Введение
Безопасность кода больше не является опцией — это обязательное требование для любого production-решения. DevSecOps-подход встраивает проверки безопасности прямо в пайплайн CI/CD, сокращая время между обнаружением уязвимости и её исправлением. Однако даже самые продвинутые инструменты (SAST, DAST, сканеры зависимостей) требуют грамотного взаимодействия с AI-ассистентами, чтобы быстро генерировать политики, анализировать отчёты и писать безопасный код.
В этой статье — 10 проверенных промтов, которые я использую ежедневно. Каждый промт сопровождается реальным сценарием применения, примером вывода и комментарием, почему это работает. Подборка охватывает три направления: статический анализ (SAST), динамическое тестирование (DAST) и аудит политик доступа.
1. Генерация правил для SAST (Semgrep / CodeQL)
Промт:
«Напиши правило для Semgrep на Python, которое находит инъекции SQL через f-строки в вызовах cursor.execute(). Укажи метаданные: severity=ERROR, cwe-89, owasp-a1.»
Пример использования:
Я внедряю SAST в GitLab CI и мне нужно покрыть кастомный случай — разработчики часто конкатенируют строки в SQL-запросах. Вместо того чтобы писать правило вручную, прошу AI сгенерировать шаблон.
Результат (сокращённо):
rules:
- id: sql-injection-fstring
patterns:
- pattern: |
$CURSOR.execute(f"...{...}...")
message: "SQL injection via f-string"
severity: ERROR
metadata:
cwe: "CWE-89"
owasp: "A1:2017-Injection"
Почему это работает:
AI понимает синтаксис Semgrep и сразу выдаёт готовый YAML. Остаётся только добавить тесты. Аналогично можно генерировать правила для CodeQL, Checkmarx или SonarQube.
2. Анализ отчёта SAST (SonarQube / Checkmarx)
Промт:
«У меня есть отчёт SAST в формате JSON (приложи файл). Найди 3 критических уязвимости, опиши их суть, предложи метод фикса и дай пример кода до/после для каждой.»
Пример использования:
После прогона пайплайна получаю 200+ предупреждений. Вручную разбирать долго. Загружаю JSON в AI и прошу выделить топ-3 по severity.
Почему это работает:
AI фильтрует шум и выдаёт actionable рекомендации. Время анализа сокращается с 30 минут до 3.
3. Генерация политик доступа (AWS IAM / Azure RBAC)
Промт:
«Создай политику AWS IAM с минимальными правами для Lambda-функции, которая читает из S3-бакета и пишет логи в CloudWatch. Используй принцип least privilege. Укажи Resource ARN конкретного бакета.»
Пример использования:
При развёртывании serverless-приложения нужно выдать права для Lambda. Вместо того чтобы копировать переборщенную политику из документации, прошу AI сгенерировать точную.
Результат (сокращённо):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetObject"],
"Resource": "arn:aws:s3:::my-app-bucket/*"
},
{
"Effect": "Allow",
"Action": ["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],
"Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/my-function:*"
}
]
}
Почему это работает:
AI знает anatomy IAM-политик и автоматически применяет best practices (не даёт лишних действий, конкретные ARN).
4. Создание конфигурации SAST в CI/CD (GitLab CI / GitHub Actions)
Промт:
«Напиши stage .gitlab-ci.yml для запуска Semgrep с правилами из репозитория. Добавь возможность загрузки отчёта как артефакта и остановку пайплайна при критических ошибках.»
Пример использования:
Настраиваю новый проект и хочу быстро добавить SAST-стадию.
Почему это работает:
AI генерирует готовый YAML, который можно скопировать в проект. Экономит 15 минут на чтение документации.
5. Аудит конфигурации Dockerfile на безопасность
Промт:
«Проверь Dockerfile на безопасность. Найди: запуск от root, использование устаревших базовых образов, неочищенные apt-кэши. Предложи исправления.»
Пример использования:
Перед деплоем проверяю образы. Загружаю Dockerfile и прошу AI найти уязвимости.
Почему это работает:
AI знает чеклист Docker Security (не запускать от root, использовать distroless, чистить кэш) и сразу даёт конкретные исправления.
6. Генерация правил для DAST (OWASP ZAP / Burp Suite)
Промт:
«Напиши сценарий для OWASP ZAP HUD (Headless), который автоматически сканирует эндпоинт /api/login на SQL-инъекции и XSS. Используй активное сканирование с аутентификацией через Bearer-токен.»
Пример использования:
Нужно добавить DAST-тесты в пайплайн. AI генерирует Python-скрипт для ZAP API.
Почему это работает:
AI знает API ZAP и сразу выдаёт рабочий код с авторизацией.
7. Объяснение CVE и предложение фикса
Промт:
«Объясни CVE-2024-3094 (XZ Utils) простыми словами: как работает эксплуатация, какие версии уязвимы, как обновиться. Напиши patch-инструкцию для Ubuntu 22.04.»
Пример использования:
После выхода нового CVE нужно быстро оценить влияние на инфраструктуру.
Почему это работает:
AI даёт краткий анализ и готовые команды для апдейта.
8. Аудит политик Kubernetes RBAC
Промт:
«Проанализируй манифест Role.yaml и RoleBinding.yaml. Найди опасные привязки (например, cluster-admin для namespace'а). Предложи минимальный набор прав для сервисного аккаунта, который только читает поды и логи.»
Пример использования:
При аудите кластера обнаруживаю, что сервисный аккаунт имеет лишние права.
Почему это работает:
AI знает Kubernetes RBAC и может сгенерировать корректный манифест с минимальными правами.
9. Написание комментариев безопасности в код-ревью
Промт:
«Напиши вежливый, но строгий комментарий для код-ревью на Python: разработчик использовал eval() для парсинга JSON. Объясни риски (RCE) и предложи альтернативу (json.loads).»
Пример использования:
В ревью вижу опасный код. Вместо того чтобы писать с нуля, использую AI для формулировки.
Почему это работает:
AI даёт готовый текст с техническими деталями — ревью становится более убедительным.
10. Генерация документации по безопасности (Security Champions)
Промт:
«Напиши раздел документации для разработчиков: как безопасно хранить секреты в приложении на Node.js. Используй примеры с dotenv, Vault и AWS Secrets Manager. Укажи анти-паттерны.»
Пример использования:
Создаю внутреннюю базу знаний для команды.
Почему это работает:
AI структурирует информацию, добавляет примеры и анти-паттерны — документация становится полезной для новичков.
Как внедрить эти промты в рабочий процесс
Самый эффективный способ — интегрировать AI-ассистента в среду разработки. Например, через API GPT или локальные модели (Llama, Mistral). Я использую плагин для VS Code, который позволяет отправлять промты прямо из редактора. Для CI/CD можно настроить автоматический вызов AI при появлении отчётов SAST/DAST.
Важно помнить: AI не заменяет экспертизу. Всегда проверяйте сгенерированные политики и правила на тестовом окружении перед внедрением в production.
Заключение
DevSecOps — это не только инструменты, но и культура. Используя AI для рутинных задач (генерация политик, анализ отчётов, написание правил), вы освобождаете время для действительно сложных задач — архитектурного аудита, threat modeling и обучения команды.
Попробуйте хотя бы 3 промта из этой подборки на следующей неделе. Результат вас приятно удивит: меньше времени на безопасность, больше — на фичи. И не забывайте: лучший код — тот, который не надо патчить после выхода в релиз.
Комментарии