Codex Security — это исследовательская предварительная версия, доступная пользователям ChatGPT Enterprise, Edu, Business и Pro. Она помогает командам выявлять, проверять и устранять уязвимости в коде. Она спроектирована так, чтобы работать скорее как исследователь безопасности, чем как традиционный сканер: читает код, запускает тесты, исследует реалистичные пути атак и предлагает патчи, которые команды могут проверять в своем обычном рабочем процессе.
Обзор
Сегодня Codex Security подключается напрямую к репозиториям GitHub. После включения репозитория он строит модель угроз, специфичную для кодовой базы, сканирует историю репозитория, проверяет потенциальные уязвимости в изолированной среде и показывает предлагаемые исправления для проверки человеком.
Codex Security построен вокруг трех этапов: выявления, проверки и устранения. На этапе выявления он анализирует репозиторий и исследует реалистичные пути атак. На этапе проверки он пытается воспроизвести каждую проблему, чтобы подтвердить, что она реальна. На этапе устранения он генерирует конкретный патч, который команды могут проверить и оформить как пулл-реквест.
Как работает Codex Security
Когда Codex Security подключается к репозиторию, он сканирует коммиты в обратном хронологическом порядке и строит модель угроз, специфичную для кодовой базы. Эта модель фиксирует точки входа атакующего, границы доверия, конфиденциальные данные и критически важные пути кода, которые Codex использует, чтобы сосредоточить анализ на реалистичных сценариях атак. Команды могут просматривать и редактировать модель угроз, чтобы она отражала их реальные предположения о развертывании.
Codex Security использует замкнутый рабочий процесс устранения:
Сканирование репозитория: Codex подключается к вашему репозиторию GitHub, анализирует кодовую базу и строит модель угроз на основе репозитория и истории коммитов.
Обнаружение уязвимостей: используя эту модель угроз, Codex исследует реалистичные пути кода и выявляет потенциальные уязвимости.
Проверка в песочнице: Codex запускает автоматический валидатор в изолированной среде, чтобы воспроизвести проблему, зафиксировать детали выполнения и подтвердить возможность эксплуатации, прежде чем показать находку.
Генерация патча: для подтвержденных уязвимостей Codex создает предложение минимального патча, устраняющего первопричину.
Проверка человеком и пулл-реквест: патч не изменяет ваш код автоматически. Он показывается для проверки человеком и может быть преобразован в пулл-реквест для вашего обычного рабочего процесса.
Повторная проверка после устранения: после того как подтвержденная проблема исправлена и изменения объединены, Codex может повторно проверить исправление, замкнув цикл от обнаружения до устранения.
Для каждой найденной проблемы Codex Security может подготовить анализ пути атаки, показывающий, как ввод, контролируемый атакующим, может пройти от точки входа к чувствительному результату. Он оценивает этот путь по вероятности и влиянию и делает базовые предположения видимыми, что помогает командам отдавать приоритет реалистичным рискам, а не отдельным оповещениям.
Прежде чем показать найденную проблему, Codex Security пытается воспроизвести ее в изолированной среде. Валидатор записывает результаты воспроизведения, детали выполнения и артефакты proof-of-concept, чтобы команды могли сосредоточиться на проблемах, работоспособность которых действительно была показана.
Для подтвержденных находок Codex Security предлагает минимальный патч, устраняющий первопричину. Он не изменяет ваш код автоматически. Вместо этого патч показывается для проверки человеком и может быть преобразован в пулл-реквест в вашем существующем рабочем процессе.
Начало работы
Перейдите в Codex Security.
Подключите и включите репозитории GitHub, которые Codex Security должен сканировать.
Дождитесь завершения начального сканирования. Сначала Codex Security строит модель угроз для проекта и сканирует историю репозитория на наличие существующих уязвимостей. Для крупных проектов это может занять больше времени. Сканирование нового кода выполняется быстрее.
Просмотрите найденные проблемы, сведения о проверке и предложенные патчи.
Управление доступом на основе ролей (RBAC)
Для рабочих областей Enterprise и Edu администраторы могут управлять доступом к Codex Security в разрешениях рабочей области. Для Codex Security в рабочей области должен быть включен доступ как к Codex Cloud, так и к Codex Security. Доступ также можно ограничить определенными ролями или группами через RBAC, включая группы, синхронизированные через SCIM. Чтобы участники могли управлять конфигурациями сканирования Codex Security, также включите разрешение администратора Codex Security для соответствующей роли или группы.
Чтобы обновить разрешения рабочей области:
В ChatGPT выберите значок профиля, затем выберите Настройки рабочей области > Разрешения, чтобы открыть разрешения рабочей области.
Прокрутите вниз до Codex Cloud.
Убедитесь, что доступ к Codex Cloud включен.
Включите или отключите доступ с помощью переключателя Разрешить участникам использовать Codex Security.
Если роль или группа должна управлять конфигурациями сканирования, также включите Разрешить участникам администрировать Codex Security.
Подробнее об управлении доступом на основе ролей в рабочей области ChatGPT.
Рекомендации
Начните с небольшого набора репозиториев и выделенной группы ревьюеров. На первых этапах мы рекомендуем целенаправленное внедрение, особенно пока подключение и обмен сведениями об уязвимостях остаются относительно ручными.
Уточняйте модель угроз по мере обучения. Небольшие обновления модели могут улучшить контекст и со временем сделать результаты точнее.
Если сейчас вы не используете GitHub Cloud, для оценки рассмотрите возможность начать с репозиториев с меньшим риском или не предназначенных для продакшена. Это поможет командам укрепить уверенность в рабочем процессе перед более широким внедрением.
Проверяйте сгенерированные пулл-реквесты (PR) с патчами в рамках обычного процесса проверки. Мы также рекомендуем использовать Codex Code Review для пулл-реквестов (PR) Codex Security, чтобы исправления не вносили регрессии.
Вопросы и ответы
Codex Security автоматически изменяет мой код?
Нет. Codex Security предлагает патч для проверки человеком. Это предложение можно преобразовать в пулл-реквест, но оно не изменяет ваш код автоматически.
Codex Security полагается на фаззинг или сканирование по сигнатурам?
Нет. Codex Security использует рассуждения языковой модели, вычисления во время тестирования, инструменты и большой контекст, а не фаззинг или сканирование по сигнатурам.
Можно ли просматривать или редактировать модель угроз?
Да. Модель угроз доступна для просмотра и редактирования, поэтому команды могут проверить, как Codex Security понимает приложение, и обновить предположения в соответствии со своей средой.
Что означает проверка?
Проверка — это этап, на котором Codex Security пытается воспроизвести потенциальную уязвимость в изолированной среде, прежде чем показать ее. Это помогает снизить число ложных срабатываний и сделать обнаруженные проблемы более значимыми.
Что происходит после подтверждения обнаруженной проблемы?
После проверки Codex Security предлагает патч, который устраняет первопричину и может быть преобразован в пулл-реквест для проверки.
