Обзор CI/CD для Codex Security

Выберите интеграцию с CI, подготовьте доступ для сканирования и определите, как результаты и охват сканирования будут влиять на ваш конвейер.

Запускайте Codex Security в CI, чтобы проверять изменения в pull request или merge request, сканировать ветку по умолчанию и сохранять сведения о выявленных проблемах и охвате. Порядок работы, обработку отчётов и варианты применения политик см. в руководстве для вашего провайдера CI.

Подготовка рабочего процесса

Для запуска сканирования требуется доступ к Codex Security. Сохраните OpenAI API key в хранилище секретов вашего провайдера CI под именем CODEX_SECURITY_API_KEY, затем передайте его процессу сканирования через переменную окружения OPENAI_API_KEY.

Запускайте сканирование только для репозиториев и изменений, которым вы доверяете. Сканирование использует локальные разрешения раннера и не приостанавливается для подтверждения. Храните посторонние учётные данные и выполняйте шаги развёртывания в отдельных заданиях.

Используйте одобренную модель Daybreak

Для доступа к Daybreak Blue через Trusted Access for Cyber задайте для входного параметра GitHub Action model значение gpt-6-sol, а для cyber-access-program — daybreak_blue. Для сканирования напрямую через CLI используйте --model gpt-6-sol и --cyber-access-program daybreak_blue.

Используйте API key проекта, в котором включён Daybreak Blue и есть доступ к выбранной модели. Указание модели или программы не предоставляет доступ. Настройки Action см. в разделе Настройка дополнительного доступа к Daybreak.

Выберите интеграцию

Добавьте рабочий процесс GitHub Actions

Используйте руководство по GitHub Actions для проверки pull request и сканирования репозитория по расписанию. Codex Security Action устанавливает CLI, сохраняет отчёты и добавляет сводку задания и аннотации к исходному коду. Руководство описывает настройку раннера, дополнительный доступ к Daybreak, загрузку SARIF и применение порога серьёзности.

Добавьте конвейер GitLab CI/CD

Используйте руководство по GitLab CI/CD для сканирования merge request, ветки по умолчанию и запуска по расписанию. Начните с конвейера, который только сканирует, затем добавьте обработку отчётов, применение политик и при необходимости проверяемое устранение проблем.

Используйте другую систему CI

Установите общедоступный пакет @openai/codex-security и запускайте CLI напрямую. Используйте --auth api-key, выберите сканирование репозитория или изменений и сохраняйте результаты в закрытом каталоге вне рабочего дерева Git. На раннере должны быть доступны зависимости, описанные в кратком руководстве по CLI.

Параметры сканирования, ревизии для сравнения изменений, форматы отчётов, каталоги состояния и результатов, а также поведение повторных попыток см. в справочнике CLI.

Выбор политики уровней серьезности

Начните с результатов в рекомендательном режиме. Изучите типичные выявленные проблемы, охват сканирования, стоимость и время выполнения, прежде чем решать, какие результаты должны блокировать слияние.

Оценивайте и выявленные проблемы, и полноту сканирования. Политика серьёзности учитывает проблемы из текущего сканирования с уровнем не ниже заданного порога. Ранее выявленные незакрытые проблемы в сводке репозитория не влияют на эту политику. Неполное сканирование может оставить отдельные области без проверки, даже если оно не сообщает о выявленных проблемах.

В выпуске Action action-v0.3.0 завершённое сканирование означает, что настроенный анализ дал корректный результат. Исключения из области проверки, отложенные исследования и другие примечания об охвате не позволяют обойти политику серьёзности. Ошибки сканера и обязательного формирования отчётов приводят к сбою задания. CLI 0.3.0 возвращает код выхода 2 при ошибках входных данных, выполнения, целостности результата или обязательных выходных данных. При оценке результата изучите coverage.json; завершение не гарантирует, что найдены все уязвимости.

Настройте применение политики по руководству по GitHub Actions или руководству по GitLab CI/CD. Для прямых интеграций с CLI см. раздел Применение порога серьёзности и коды выхода.