Безопасность в разработке — это не отдельная фаза, а часть каждого коммита. Но как заставить команду думать о безопасности, когда дедлайны горят? Ответ — автоматизация. Я собрал 12 проверенных промтов, которые помогут вам внедрить DevSecOps в свой процесс без боли и лишних затрат. Эти промты я использую ежедневно, чтобы находить уязвимости, настраивать CI/CD и аудировать код. Они сэкономят вам часы работы и сделают ваш код безопаснее.
1. SAST-анализ кода на лету
Когда использовать: Когда нужно быстро проверить код на уязвимости до коммита.
Промт:
Проведи статический анализ безопасности (SAST) для следующего кода. Найди потенциальные уязвимости: SQL-инъекции, XSS, небезопасное хранение данных, неправильную обработку ошибок. Для каждой найденной проблемы укажи:
- тип уязвимости (согласно CWE или OWASP)
- строку кода, где она находится
- описание риска
- рекомендации по исправлению.
Код: [вставьте код]
Пример использования:
import sqlite3
def get_user(username):
conn = sqlite3.connect('users.db')
cursor = conn.cursor()
query = f"SELECT * FROM users WHERE username = '{username}'"
cursor.execute(query)
return cursor.fetchall()
Результат: Модель укажет на SQL-инъекцию в строке с f-строкой и предложит использовать параметризованные запросы.
2. DAST-анализ веб-приложения
Когда использовать: Для проверки работающего приложения на уязвимости.
Промт:
Проведи динамический анализ безопасности (DAST) для веб-приложения по адресу [URL]. Проверь следующие аспекты:
- инъекции (SQL, XSS, LDAP)
- нарушение аутентификации и управления сессиями
- небезопасная конфигурация
- утечка чувствительных данных
- использование компонентов с известными уязвимостями.
Для каждой найденной проблемы дай описание, потенциальный вектор атаки и рекомендации по исправлению.
Пример использования: Для приложения на http://test-app.local:5000/api.
Результат: Модель сформирует список уязвимостей с деталями и рекомендациями.
3. Проверка зависимостей на известные уязвимости
Когда использовать: Перед обновлением зависимостей или при аудите.
Промт:
Проанализируй файл зависимостей [requirements.txt/package.json] и определи, какие библиотеки имеют известные уязвимости. Используй базу данных национального института стандартов и технологий (NVD) и OWASP Dependency-Check. Для каждой уязвимости укажи:
- CVE-идентификатор
- критичность (CVSS-оценка)
- затронутую версию
- рекомендуемую версию для обновления.
Файл: [вставьте содержимое]
Пример использования: Для requirements.txt с уязвимой версией Flask.
Результат: Модель перечислит CVE и предложит обновления.
4. Генерация Dockerfile с учётом безопасности
Когда использовать: При создании Docker-образов.
Промт:
Создай Dockerfile для приложения [описание] с учётом лучших практик безопасности:
- используй минимальный базовый образ (например, alpine)
- запускай контейнер от непривилегированного пользователя
- не храни секреты в переменных окружения
- используй multi-stage сборку для уменьшения размера
- добавь HEALTHCHECK.
Объясни каждый шаг и укажи, как это повышает безопасность.
Пример использования: Для Python-приложения на Flask.
Результат: Безопасный Dockerfile с комментариями.
5. Настройка политик безопасности в Kubernetes
Когда использовать: Для обеспечения безопасности кластера.
Промт:
Сгенерируй манифест Kubernetes для пода с следующими политиками безопасности:
- запрет запуска от root
- read-only root filesystem
- ограничение capabilities (drop ALL, add только необходимые)
- seccomp и AppArmor профили
- network policies для ограничения трафика.
Также объясни, как эти политики защищают кластер.
Пример использования: Для пода с веб-сервером Nginx.
Результат: YAML-манифест с комментариями.
6. Аудит Terraform-конфигураций на безопасность
Когда использовать: При работе с IaC.
Промт:
Проведи аудит следующего Terraform-кода на предмет нарушений безопасности. Проверь:
- открытые порты, доступные из интернета
- отсутствие шифрования данных
- слишком широкие IAM-роли
- использование публичных IP для ресурсов.
Для каждой проблемы укажи принцип безопасности (например, least privilege) и предложи исправление.
Код: [вставьте код]
Пример использования: Для конфигурации AWS EC2 с открытым портом 22.
Результат: Рекомендации по ограничению доступа.
7. Разбор OWASP Top 10 для вашего приложения
Когда использовать: При проектировании архитектуры или ревью.
Промт:
Проанализируй описание моего приложения и определи, какие из OWASP Top 10 (2021) наиболее применимы. Для каждого риска:
- объясни, как он может проявиться
- предложи меры по предотвращению
- укажи примеры кода (если применимо).
Описание: [вставьте описание]
Пример использования: Для приложения с аутентификацией и загрузкой файлов.
Результат: Список рисков и мер.
8. Автоматизация проверки секретов в коде
Когда использовать: Для предотвращения утечки секретов.
Промт:
Проверь следующий код на наличие захардкоженных секретов (API-ключи, пароли, токены). Используй gitleaks или truffleHog. Для каждого найденного секрета:
- укажи тип (AWS key, GitHub token)
- местоположение
- рекомендации по безопасному хранению (например, переменные окружения, Vault).
Код: [вставьте код]
Пример использования: Для файла конфигурации с API-ключом.
Результат: Список секретов и рекомендации.
9. Интеграция проверок безопасности в CI/CD
Когда использовать: При настройке пайплайна.
Промт:
Создай фрагмент конфигурации CI/CD (GitHub Actions/GitLab CI) для интеграции SAST, DAST и проверки зависимостей. Включи шаги:
- статический анализ (например, Bandit для Python)
- сканирование зависимостей (OWASP Dependency-Check)
- динамический анализ (OWASP ZAP) для тестового окружения.
Укажи, как использовать результаты для блокировки неудачных проверок.
Пример использования: Для GitHub Actions.
Результат: YAML-конфигурация пайплайна.
10. Обучение команды безопасной разработке
Когда использовать: Для повышения осведомлённости.
Промт:
Составь краткое руководство по безопасной разработке для моей команды. Включи:
- основные принципы (least privilege, defense in depth)
- частые ошибки в [языке/фреймворке]
- чек-лист перед релизом
- примеры безопасного и небезопасного кода.
Целевая аудитория: [джуниоры/мидлы]
Пример использования: Для команды Python-разработчиков.
Результат: Структурированный документ.
11. Анализ логов безопасности
Когда использовать: При инцидентах или аудите.
Промт:
Проанализируй следующие логи на предмет признаков атаки: подозрительные IP, брутфорс, SQL-инъекции, аномальные запросы. Используй MITRE ATT&CK для классификации. Для каждого события:
- опиши технику атаки (например, T1110 Brute Force)
- укажи уровень критичности
- предложи меры по реагированию.
Логи: [вставьте логи]
Пример использования: Логи Nginx с попытками входа.
Результат: Отчёт с рекомендациями.
12. Генерация политики безопасности для организации
Когда использовать: При разработке стандартов.
Промт:
Создай политику безопасности для разработки программного обеспечения. Включи:
- требования к управлению доступом
- управление уязвимостями
- процессы реагирования на инциденты
- требования к шифрованию и хранению данных
- ответственность сотрудников.
Ссылайся на стандарты ISO 27001 и NIST.
Пример использования: Для небольшой компании.
Результат: Документ политики.
Эти промты помогут вам сдвинуть безопасность влево и сделать процесс разработки более надёжным. Начните с одного-двух промтов, которые решают вашу текущую задачу, и постепенно расширяйте использование. Помните, что AI — это помощник, а не замена экспертной оценки. Всегда проверяйте результаты и адаптируйте их под свой контекст.
Если вы хотите углубиться в тему, рекомендую изучить официальную документацию OWASP и NIST. А если нужна помощь с автоматизацией, попробуйте ASI Biont — он поможет интегрировать эти промты в ваш рабочий процесс.
Удачной и безопасной разработки!
Комментарии