Промпт для проверки кода на уязвимости и соответствие стандартам

Шаблон промпта для проверки кода на уязвимости и соответствие стандартам

Шаблон промпта для проверки кода на уязвимости создаётся путём комбинации контекста задачи, спецификации стандартов безопасности и структурированного формата вывода результатов. Используйте готовые промпты ниже, адаптировав их под вашу кодовую базу и требования compliance.

Зачем нужны шаблоны промптов для проверки кода

  • Автоматизация анализа кода на предмет SQL-injection, XSS и других уязвимостей OWASP Top 10
  • Обеспечение соответствия коду стандартам MISRA, CERT, CWE и внутренним гайдлайнам компании
  • Сокращение времени code review за счёт предварительной машинной обработки
  • Документирование обнаруженных проблем в единообразном формате для трекера задач
  • Обучение junior-разработчиков признакам уязвимого кода через примеры из их собственных проектов

Пошаговая инструкция по созданию и использованию промпта

  1. Выберите язык программирования, который требует проверки (Python, JavaScript, Java, PHP, Go и т.д.).
  2. Скопируйте фрагмент кода, подлежащий анализу, в буфер обмена.
  3. Откройте интерфейс AI-модели (ChatGPT, Claude, Gemini или локальный инструмент вроде Ollama).
  4. Вставьте в чат базовый промпт из раздела ниже.
  5. Добавьте к промпту ваш исходный код между маркерами ```.
  6. Уточните требуемые стандарты (OWASP, MISRA, PCI DSS) в поле [STANDARDS] промпта.
  7. Отправьте промпт на анализ (нажмите Enter или Send).
  8. Дождитесь результата и экспортируйте отчёт в формат JSON или Markdown.
  9. Передайте результаты в систему управления ошибками (Jira, GitLab Issues, GitHub Issues).
  10. Проведите исправления в коде на основе рекомендаций.

Готовые шаблоны промптов

Шаблон 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 для работы с данными.

Похожие материалы

Промпт с жесткими ограничениями по количеству слов в абзаце
Промпт для автоматического составления протокола встречи из аудио
Промпт для создания контент плана в ChatGPT