10 промтов для DevSecOps: аудит, сканирование и политики безопасности

Введение

DevSecOps — это не просто модный термин, а необходимость в современной разработке. По данным отчета State of DevOps 2025 от Puppet, организации, внедрившие практики безопасности на ранних этапах CI/CD, сокращают время устранения уязвимостей на 60%. Однако интеграция безопасности требует не только инструментов, но и правильного подхода к автоматизации. Промты для LLM (например, GPT-4 или Claude 3) помогают генерировать политики, писать скрипты для SAST/DAST и анализировать отчеты. В этой подборке — 10 проверенных промтов, которые я использую в своей работе. Каждый из них сопровождается примером результата и кодом.

Категория 1: Базовые промты для аудита кода

Промт 1: SAST-анализ уязвимостей в Python

Задача: Сканировать фрагмент кода на Python на наличие уязвимостей, таких как SQL-инъекции и небезопасная работа с файлами.
Промт: «Выступи в роли эксперта по безопасности. Проанализируй следующий код на Python и найди уязвимости: (вставь код). Для каждой уязвимости укажи: тип, строку кода, риск (Critical/High/Medium/Low) и рекомендацию по исправлению. Пример: SQL-инъекция в строке 12 — риск High — используй параметризованные запросы.»
Пример результата:

Уязвимость 1: SQL-инъекция
Строка: cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
Риск: High
Рекомендация: Замените f-строку на параметризованный запрос: cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))

Промт 2: DAST-сканер веб-приложения

Задача: Создать скрипт для автоматического тестирования веб-приложения на уязвимости XSS и CSRF.
Промт: «Напиши Python-скрипт с использованием библиотеки requests для DAST-сканирования. Скрипт должен отправлять POST-запросы с XSS-пейлоадами на эндпоинты /search и /login, анализировать ответы на наличие отраженного XSS (например, проверять, что пейлоад не отображается в HTML). Добавь логирование результатов в файл scan_results.log.»
Пример результата:

import requests
import logging

logging.basicConfig(filename='scan_results.log', level=logging.INFO)

def scan_xss(url, payload):
    data = {'query': payload}
    response = requests.post(url, data=data)
    if payload in response.text:
        logging.warning(f"XSS found at {url}")
    else:
        logging.info(f"No XSS at {url}")

scan_xss('http://example.com/search', '<script>alert(1)</script>')

Промт 3: Аудит зависимостей

Задача: Проверить requirements.txt на уязвимые версии пакетов.
Промт: «Представь, что ты — инструмент для аудита зависимостей. Сравни список пакетов из requirements.txt с базой CVE (например, через API NVD). Для каждого пакета укажи: имя, версию, есть ли CVE (да/нет), уровень риска и ссылку на CVE. Пример вывода: Flask 2.0.1 — CVE-2023-1234 — High.»
Пример результата:

Пакет Версия CVE Риск Ссылка
Flask 2.0.1 CVE-2023-1234 High https://nvd.nist.gov/vuln/detail/CVE-2023-1234
Django 3.2.0 CVE-2023-5678 Medium https://nvd.nist.gov/vuln/detail/CVE-2023-5678

Категория 2: Продвинутые промты для политик доступа

Промт 4: Генерация IAM-политики для AWS

Задача: Создать минимальную политику для S3-бакета с ограничением доступа.
Промт: «Сгенерируй JSON-политику AWS IAM для роли разработчика. Условия: доступ только к бакету dev-bucket, разрешены операции GetObject и PutObject, запрещен DeleteObject. Используй Condition с IP-ограничением (диапазон 10.0.0.0/16).»
Пример результата:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::dev-bucket/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": "10.0.0.0/16"
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": "s3:DeleteObject",
      "Resource": "arn:aws:s3:::dev-bucket/*"
    }
  ]
}

Промт 5: Анализ логов на инциденты

Задача: Написать запрос для поиска подозрительной активности в логах.
Промт: «Ты — аналитик SOC. Напиши Splunk-запрос для поиска неудачных попыток входа (status=403) за последние 24 часа, сгруппированных по IP-адресу. Выведи топ-10 IP с количеством попыток. Используй sourcetype=access_combined.»
Пример результата:

sourcetype=access_combined status=403 earliest=-24h
| stats count by clientip
| sort - count
| head 10
| table clientip count

Промт 6: Шаблон политики паролей

Задача: Разработать политику паролей для корпоративной сети.
Промт: «Создай политику паролей в формате Markdown. Требования: длина не менее 12 символов, обязательны заглавные, строчные, цифры и спецсимволы, срок действия 90 дней, история 5 паролей. Добавь примеры strong и weak паролей.»
Пример результата:

# Политика паролей
- Минимальная длина: 12 символов
- Обязательные элементы: A-Z, a-z, 0-9, !@#$%
- Срок действия: 90 дней
- История: 5 предыдущих паролей
- Пример strong: MyS3cur3P@ss!2026
- Пример weak: password123

Категория 3: Экспертные промты для автоматизации DevSecOps

Промт 7: Интеграция SAST в CI/CD

Задача: Настроить GitLab CI для запуска Bandit (Python-анализатор) при каждом коммите.
Промт: «Напиши .gitlab-ci.yml для стадии security. Используй образ bandit:latest, запусти сканирование всех .py файлов в репозитории, сохрани отчет в формате JSON. Если найдены уязвимости с риском High или Critical, заверши пайплайн с ошибкой.»
Пример результата:

security-stage:
  stage: security
  image: bandit:latest
  script:
    - bandit -r . -f json -o bandit_report.json
  artifacts:
    paths:
      - bandit_report.json
    when: always
  rules:
    - if: $CI_COMMIT_BRANCH == "main"

Промт 8: Шаблон политики безопасности для Kubernetes

Задача: Создать PodSecurityPolicy для запрета привилегированных контейнеров.
Промт: «Сгенерируй манифест Kubernetes PodSecurityPolicy для production-кластера. Запрети: privileged=true, hostNetwork, hostPID. Разреши: runAsUser=1000, readOnlyRootFilesystem=true. Добавь аннотации с описанием.»
Пример результата:

apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: restricted-psp
  annotations:
    description: "Запрещает привилегированные контейнеры"
spec:
  privileged: false
  hostNetwork: false
  hostPID: false
  runAsUser:
    rule: MustRunAs
    ranges:
      - min: 1000
        max: 1000
  readOnlyRootFilesystem: true

Промт 9: Сценарий реагирования на инцидент

Задача: Разработать пошаговый план для реагирования на утечку данных.
Промт: «Создай план реагирования на инцидент (IRP) для утечки данных. Включи этапы: идентификация, сдерживание, ликвидация, восстановление, извлечение уроков. Для каждого этапа укажи: действия, ответственные, сроки. Пример: Этап 1 — анализ логов (команда SOC, в течение 1 часа).»
Пример результата:

Этап Действия Ответственный Срок
Идентификация Анализ логов, оповещение SOC 1 час
Сдерживание Изоляция затронутых систем DevOps 2 часа
Ликвидация Удаление вредоносного ПО Security 4 часа
Восстановление Восстановление из бэкапов DevOps 8 часов
Извлечение уроков Анализ причин, обновление политик Все команды 1 неделя

Промт 10: Обучение команды безопасности

Задача: Создать краткий чек-лист для code review с фокусом на безопасность.
Промт: «Напиши чек-лист для code review на 10 пунктов. Включи: проверка на SQL-инъекции, XSS, небезопасное хранение паролей, использование HTTP вместо HTTPS, открытые API-ключи. Для каждого пункта укажи, как проверить (например, поиск pattern в коде).»
Пример результата:
1. Проверка SQL-инъекций: ищи f-строки в SQL-запросах.
2. Проверка XSS: убедись, что пользовательский ввод экранируется.
3. Хранение паролей: используй bcrypt, не храни в plaintext.
4. HTTPS: все эндпоинты должны быть защищены.
5. API-ключи: не должны быть в коде, используй переменные окружения.

Заключение

Эти 10 промтов покрывают ключевые аспекты DevSecOps: от сканирования кода до политик доступа и реагирования на инциденты. Помните, что промты — это лишь инструмент; важно адаптировать их под вашу инфраструктуру и регулярно обновлять. Начните с базового SAST-анализа, затем переходите к автоматизации в CI/CD. Если вы хотите углубиться в тему, рекомендую изучить официальную документацию OWASP и руководства по Security Champion. Делитесь своими промтами в комментариях — возможно, они попадут в следующую подборку!

← Все статьи

Комментарии

Читайте также

Освоение SEC и инсайдерской торговли: регулирование и соблюдение требований — ваше карьерное преимущество в 2026 году с Asibiont

21 июля 2026

ROS 2 и ASI Biont: Как AI-агент управляет роботами через диалог в чате

21 июля 2026

Освоение налогового права Российской Федерации с помощью ИИ: практический обзор курса на Asibiont

21 июля 2026

Я устал каждый проект объяснять ИИ правила инженерии. Поэтому я создал GEF

21 июля 2026

От «не беспокойтесь» до миллиарда: как Бен Аффлек за два года превратил ИИ из угрозы в актив и продал стартап Netflix за $587 млн

21 июля 2026

Автоматизация Shopify с AI-агентом ASI Biont: подключение за 5 минут и управление заказами без кода

21 июля 2026

Опыт моего общения с «близняшками»: что скрывает ИИ Gemini от Google

21 июля 2026

YouTube против AI-мусора: новые правила платформы и их влияние на контент в 2026 году

21 июля 2026

15 промтов для Docker: от Dockerfile до multi-stage сборок и оптимизации образов

21 июля 2026