Шаблон промпта для проверки кода на уязвимости создаётся путём комбинации контекста задачи, спецификации стандартов безопасности и структурированного формата вывода результатов. Используйте готовые промпты ниже, адаптировав их под вашу кодовую базу и требования compliance.
Зачем нужны шаблоны промптов для проверки кода
- Автоматизация анализа кода на предмет SQL-injection, XSS и других уязвимостей OWASP Top 10
- Обеспечение соответствия коду стандартам MISRA, CERT, CWE и внутренним гайдлайнам компании
- Сокращение времени code review за счёт предварительной машинной обработки
- Документирование обнаруженных проблем в единообразном формате для трекера задач
- Обучение junior-разработчиков признакам уязвимого кода через примеры из их собственных проектов
Пошаговая инструкция по созданию и использованию промпта
- Выберите язык программирования, который требует проверки (Python, JavaScript, Java, PHP, Go и т.д.).
- Скопируйте фрагмент кода, подлежащий анализу, в буфер обмена.
- Откройте интерфейс AI-модели (ChatGPT, Claude, Gemini или локальный инструмент вроде Ollama).
- Вставьте в чат базовый промпт из раздела ниже.
- Добавьте к промпту ваш исходный код между маркерами
```. - Уточните требуемые стандарты (OWASP, MISRA, PCI DSS) в поле
[STANDARDS]промпта. - Отправьте промпт на анализ (нажмите
EnterилиSend). - Дождитесь результата и экспортируйте отчёт в формат
JSONилиMarkdown. - Передайте результаты в систему управления ошибками (Jira, GitLab Issues, GitHub Issues).
- Проведите исправления в коде на основе рекомендаций.
Готовые шаблоны промптов
Шаблон 1: Базовая проверка на уязвимости
Проанализируй следующий код на предмет уязвимостей безопасности согласно стандартам OWASP Top 10 и CWE. Укажи найденные проблемы, их тип, степень критичности (критическая, высокая, средняя, низкая), строку кода и рекомендацию по исправлению. Формат ответа: JSON с полями "vulnerability_type", "severity", "line", "description", "fix".
Шаблон 2: Проверка соответствия стандартам
Проверь этот код на соответствие стандартам: [STANDARDS]. Выведи список всех нарушений с указанием: номер стандарта, описание нарушения, номер строки кода, пример корректного кода. Формат: таблица Markdown с колонками Standard | Violation | Line | Fix.
Шаблон 3: Детальный audit с рекомендациями
Выполни полный security audit кода на Python [или другой язык]. Проверь: 1) ввод и валидация данных, 2) обработка ошибок, 3) аутентификация и авторизация, 4) шифрование и управление ключами, 5) логирование и мониторинг. Для каждой категории укажи найденные проблемы, risk level и шаги по исправлению.
Шаблон 4: Проверка для CI/CD pipeline
Проанализируй код. Вывести ТОЛЬКО критические и высокие уязвимости в формате: [SEVERITY] ISSUE_CODE | Description | Line | Fix. Если уязвимостей нет — напиши "No critical vulnerabilities found".
Примеры использования
Пример 1: Python код с SQL-injection
Промпт: Проанализируй код на SQL-injection согласно OWASP:
def get_user(user_id):
query = f"SELECT * FROM users WHERE id = {user_id}"
return db.execute(query)
Результат: Модель укажет на динамическое формирование SQL-query без использования prepared statements и порекомендует использовать параметризованные запросы.
Пример 2: JavaScript код с XSS
Промпт: Проверь на XSS-уязвимости:
document.getElementById('output').innerHTML = userInput;
Результат: Модель обнаружит прямое использование innerHTML с пользовательскими данными и предложит textContent или DOMPurify.
Частые вопросы
1. Какую AI-модель выбрать для анализа кода? Используйте Claude 3.5 Sonnet, GPT-4 Turbo или локальный Code Llama для лучшей точности в security анализе; для быстрого скана подойдёт ChatGPT 4o.
2. Можно ли автоматизировать проверку через API? Да, интегрируйте промпт в CI/CD через OpenAI API, Anthropic API или локальный LLM, вызывая анализ при каждом push в репозиторий.
3. Какие стандарты указывать в [STANDARDS]? Выбирайте в зависимости от индустрии: OWASP Top 10 для веб, MISRA C для embedded, PCI DSS для платёжных систем, HIPAA для healthtech, GDPR для работы с данными.