ИИ для пентестера интернет-магазинов: конструктор промптов
Современный пентест интернет-магазина требует обработки больших объёмов данных: от анализа JavaScript-кода до проверки API-эндпоинтов. LLM-модели ускоряют рутину, но только при правильно составленном промпте. Ниже — разбор эффективной структуры запроса и готовые шаблоны.
Анатомия эффективного промпта
Промпт для пентеста должен содержать 5 обязательных блоков:
- Роль — задаёт экспертизу модели (например, «ты — senior-пентестер, специалист по e-commerce»).
- Контекст — описание стека магазина (CMS, фреймворк, платёжные шлюзы).
- Задача — конкретный вектор атаки или тип уязвимости.
- Ограничения — запрет на вредоносный код, требование использовать только пассивные методы.
- Формат вывода — таблица, список, JSON-схема отчёта.
Пример слабого промпта: «найди уязвимости». Пример сильного: «Ты — пентестер. Магазин на WooCommerce 6.2. Проверь, возможна ли подмена ID в запросах к /wp-json/wc/v3/orders. Используй только GET-запросы. Выведи таблицу: параметр, риск, рекомендация».
Готовые шаблоны промптов
1. Анализ корзины и ценообразования
Назначение: поиск логических уязвимостей при изменении цены, количества или валюты.
Ты — пентестер интернет-магазина. Стек: Node.js, Express, MongoDB. Проанализируй сценарий: пользователь добавляет товар в корзину, затем перехватывает POST /api/cart/update и меняет price на 0.01. Опиши возможные последствия, проверь, защищён ли сервер от подмены цены (серверная валидация). Выведи 3-5 рекомендаций по исправлению.
2. Проверка API-эндпоинтов на IDOR
Назначение: выявление доступа к чужим заказам, профилям, платёжным данным.
Ты — специалист по API-безопасности. Магазин использует REST API с JWT-авторизацией. Дай список из 5 типов IDOR-атак на эндпоинты /orders/{id}, /users/{id}, /payments/{id}. Для каждого укажи: метод, параметр, ожидаемый ответ при уязвимости. Ограничение: не генерируй эксплойты, только описание.
3. Анализ JavaScript-бандла на утечки
Назначение: поиск API-ключей, скрытых маршрутов, секретов в клиентском коде.
Ты — аналитик безопасности. Вот фрагмент JS-кода интернет-магазина: [вставьте код]. Найди: 1) ключи API (Stripe, Google, Firebase), 2) скрытые админ-роуты, 3) слабые места в обработке токенов. Выведи в формате таблицы: тип находки, фрагмент, риск, рекомендация.
Как настраивать промпты под свой проект
- Уточняйте стек — модель должна знать CMS (Shopify, Magento, OpenCart) и язык бэкенда.
- Добавляйте примеры — покажите 1-2 реальных запроса/ответа, чтобы модель следовала стилю.
- Используйте цепочки промптов — сначала анализ, потом генерация тест-кейсов, затем отчёт.
- Вводите ограничения — запрет на активные атаки, требование только теоретической оценки.
- Проверяйте вывод — LLM может ошибаться в версиях библиотек, сверяйте с документацией.
Пример настройки под конкретный магазин
Для магазина на Magento 2.4.6 с платёжным модулем Stripe промпт будет выглядеть так:
Ты — пентестер Magento. Проверь возможность обхода rate limiting на /rest/V1/carts/mine/payment-information. Опиши, как злоумышленник может перебирать номера карт, если лимит не настроен. Дай 3 рекомендации по защите (настройка Nginx, модуль, WAF).
| Компонент | Пример | Зачем |
|---|---|---|
| Роль | «Ты — senior-пентестер» | Повышает точность |
| Контекст | «Magento 2.4.6, Stripe» | Сужает область |
| Ограничение | «Только пассивный анализ» | Безопасность |
Используйте эти шаблоны как основу, адаптируя под конкретный проект. Помните: ИИ — помощник, а не замена ручного тестирования.