
Руководство по аудиту с открытым Codex Security CLI
Узнайте, как Codex Security CLI сканирует репозитории, проверяет находки, экспортирует SARIF и применяется в локальных проверках, CI и безопасных процессах аудита.
По данным OpenAI, за 30 дней этот инструмент просканировал 1.2 миллиона коммитов, нашёл 792 критические проблемы и 10,561 проблему высокой серьёзности, а также помог обнаружить 14 CVE. Для меня это ясно описывает назначение Codex Security CLI: рано находить серьёзные проблемы в коде и конфигурации из терминала или в CI.
Краткая версия:
- Его можно использовать для полного аудита репозитория или проверки только diff в PR
- Он ищет секреты, ошибки инъекций, SSRF, обход путей, неверные конфигурации, небезопасные зависимости и многое другое
- Он не ограничивается сопоставлением паттернов: строит модель угроз, проверяет находки в песочнице и предлагает небольшие патчи
- Поддерживает вывод JSON, CSV и SARIF для конвейеров и отчётов
- Требует Node.js 22+, Python 3.10+, доступ к GitHub и соответствующий доступ к рабочему пространству ChatGPT
- В CI использует простые коды завершения:
0при успехе и51при обнаружении проблем - Команды могут запускать его при локальных проверках, в хуках pre-commit, процессах проверки PR и массовом сканировании
Иными словами, это CLI для команд, которым нужна проверка безопасности с высоким качеством сигнала до позднего этапа ревью или рабочего запуска. Находки всё равно должны классифицировать люди, но инструмент способен сократить список элементов для ручной проверки.

Краткое сравнение
| Область | Что выполняется | Где я бы использовал |
|---|---|---|
| Полный аудит | Сканирование всего репозитория и истории коммитов | Первичная проверка, плановые глубокие проверки |
| Проверка diff | Сканирование только изменённого кода | Pull request, проверка веток |
| Локальные хуки | Проверка перед коммитом или отправкой | Повседневная разработка |
| Шлюз CI | Сборка завершается ошибкой при находках | Применение командной политики |
| Массовое сканирование | Сканирование множества репозиториев | Проверка на уровне организации |
Больше всего меня впечатляет сочетание проверки кода, моделирования угроз, доказательств в песочнице и готового к экспорту вывода в одном процессе командной строки.
Основные возможности: что CLI сканирует, отмечает и экспортирует
Сканирование репозитория и проверки на основе diff
Codex Security CLI поддерживает два режима сканирования: полный аудит и проверку на основе diff.
Полный аудит репозитория проверяет всю кодовую базу и историю коммитов, чтобы определить точки входа, границы доверия, конфиденциальные данные и пути высокого риска [3]. Он подходит для первого подключения нового проекта к инструменту или планового глубокого сканирования [3].
Проверки на основе diff анализируют только конкретный набор изменений и выполняются намного быстрее полного аудита [3][4]. Они хорошо подходят для обновлений pull request и других небольших изменений кода [3][4].
| Режим сканирования | Охват | Скорость | Лучшее применение |
|---|---|---|---|
| Полный аудит репозитория | Вся кодовая база и история коммитов | Медленнее; зависит от размера репозитория | Первичное подключение, плановые глубокие проверки |
| Проверка на основе diff | Конкретные коммиты или наборы изменений PR | Значительно быстрее | Поиск регрессий в новом коде |
Команда codex-security scan запускает полный аудит по пути к репозиторию или URL GitHub. Она возвращает модель угроз, подтверждённые находки и предложенные патчи [3].
Для pull request команда codex-security review принимает имя ветки или SHA коммита и возвращает сфокусированный анализ рисков нового кода [3].
Проще говоря:
- Используйте полный аудит при подключении и для глубокого сканирования
- Используйте проверки diff для недавно добавленного кода
Результаты сканирования напрямую переходят в находки, описанные далее.
Типы рисков, которые может выявить CLI
CLI отслеживает реалистичные пути атак в кодовой базе, а затем подтверждает находки в изолированной песочнице до включения в отчёт [3][7].
Это позволяет выявлять жёстко заданные секреты, SQL-инъекции, LDAP-инъекции, Server-Side Request Forgery (SSRF), обход путей, нарушения изоляции арендаторов и переполнения буфера [7]. Инструмент также может отмечать ошибки конфигурации, например небезопасные параметры S3 без обязательного ExpectedBucketOwner [2].
Ранние тестовые данные показывают масштаб. За первые 30 дней исследовательского тестирования инструмент просканировал 1.2 миллиона коммитов, нашёл 792 критические проблемы и 10,561 проблему высокой серьёзности, а также помог обнаружить 14 CVE в крупных проектах с открытым исходным кодом, включая OpenSSH, PHP и Chromium [7][1].
Находки, метки серьёзности и форматы экспорта
После выявления рисков CLI оформляет их так, чтобы результаты было легко просмотреть и передать в процессы отчётности.
Каждой находке присваивается метка серьёзности: Critical, High, Medium или Low. Оценка основана на вероятности и последствиях реального эксплойта [3]. В находку также входят уровень серьёзности, журналы песочницы, доказательство концепции и минимальный патч, направленный на первопричину [3][7].
Для отчётов и конвейеров находки экспортируются в JSON и CSV [6]. Вывод также поддерживает SARIF, что упрощает загрузку в системы CI и панели мониторинга [3][4].
| Категория находки | Вероятная серьёзность | Типичное исправление | Метод проверки |
|---|---|---|---|
| Жёстко заданные секреты | Критическая | Сменить учётные данные; перенести секреты в переменные среды | Детерминированное сопоставление 450+ паттернов учётных данных [2][4] |
| Инъекция (SQL/LDAP) | Высокая | Очистка входных данных; параметризованные запросы | Воспроизведение эксплойта в песочнице [7][3] |
| Нарушенная авторизация | Критическая | Обновление сеанса; обязательная MFA | Анализ пути атаки и моделирование границ доверия [7][3] |
| Небезопасная конфигурация S3 | Высокая | Добавить ExpectedBucketOwner в вызовы API | Агентный анализ через плагин SonarQube [2] |
| Переполнение буфера | Критическая | Проверка границ; более безопасные функции памяти | Воспроизведение эксплойта в песочнице [7][3] |
Команды могут редактировать модель угроз, чтобы она соответствовала реальным допущениям развёртывания и правилам проекта [3][4].
Далее — установка, вход и первое сканирование.
Настройка и поддержка среды: установка, вход и требования
Системные требования и доступ
Для Codex Security CLI необходим доступ ChatGPT Pro, Enterprise, Business или Edu. Администратор также должен включить разрешения Codex Cloud и Codex Security в Workspace Settings [1][3].
Для локальной работы CLI требует Node.js 22+ и Python 3.10+ [2]. Ему также нужен прямой доступ к GitHub для проверки репозиториев и истории коммитов [3].
Для MCP-серверов или отдельных плагинов безопасности потребуется среда выполнения контейнеров, например Docker, Podman или Nerdctl [2]. CLI работает на нескольких платформах, но некоторые адаптеры и запасные методы авторизации зависят от Linux [8].
Установка CLI и запуск первого сканирования
Подготовив доступ, языковые среды выполнения и поддержку контейнеров, установите CLI и сначала протестируйте его на небольшом репозитории. Для первого сканирования выберите непроизводственный репозиторий [3].
Этот небольшой тест позволит команде проверить вывод, выявить проблемы настройки и привыкнуть к процессу до перехода к более активным кодовым базам.
Авторизация
После установки войдите один раз и сохраните токен локально. Выполните codex-security login для авторизации CLI. После этого токен сохраняется в системном хранилище ключей [2].
При работе с процессами SonarQube может также потребоваться sonar auth login [2].
Если запуск MCP завершился ошибкой, сначала проверьте, что среда выполнения контейнеров активна. Затем перезапустите сеанс [2].
Как команды используют CLI: локальные проверки, шлюзы CI и процессы аудита
После настройки Codex Security CLI и входа команды обычно используют его в трёх местах: при локальном редактировании, проверках pre-commit и в шлюзах CI.
Локальная разработка и сканирование Pre-Commit
Распространённая схема — запускать сканирование, пока разработчики ещё пишут код, до создания коммита. Хук PostToolUse может запускать Агентный анализ после каждого изменения, давая агенту возможность обнаружить и исправить проблемы безопасности ещё до того, как разработчик увидит вывод [2][4]. Проблемы останавливаются рано, а не накапливаются на потом.
Если команде нужен более строгий контроль, те же проверки можно перенести в хуки и этапы конвейера. Команда install-hook подключает сканер к процессам pre-commit и pre-push, блокируя коммиты или отправку при наличии секретов или уязвимых зависимостей. Есть и хук UserPromptSubmit, который блокирует промпты с 450+ паттернами секретов, включая личные токены доступа GitHub [2][6].
Шлюзы безопасности CI/CD и массовое сканирование
В CI/CD CLI возвращает удобные для автоматизации коды завершения: 0 при успехе и 51 при обнаружении секретов, уязвимостей или рисков зависимостей [6]. Правила конвейера становятся простыми: пропустить при 0, завершить ошибкой при 51.
Команды могут ограничить область сканирования параметром --severities CRITICAL,HIGH, если хотят сосредоточиться на проблемах с наибольшим потенциальным ущербом.
Организациям с большим числом репозиториев bulk-scan помогает проверить множество кодовых баз за один запуск. Сохранённая история сканирования также позволяет отслеживать состояние безопасности с течением времени [7].
Распространённые сценарии аудита кода
Одни и те же находки могут поддерживать совершенно разные процессы в зависимости от места запуска сканирования.
| Среда | Способ вызова | Создаваемые материалы | Польза для команды |
|---|---|---|---|
| Локальная разработка | Интерактивные сеансы CLI / хук PostToolUse | Находки в контексте, предложенные патчи | Немедленная обратная связь; исправление проблем до их записи на диск |
| Хуки Pre-commit | install-hook / pre-commit или pre-push | Сообщения об отказе, заблокированные попытки коммита | Не позволяет утечкам учётных данных и очевидным ошибкам попасть в историю репозитория |
| Конвейеры CI/CD | bulk-scan / неинтерактивный CLI | Отчёты JSON/CSV/Table, статус успеха или сбоя, история сканирования | Применение стандартов безопасности в масштабе и отслеживание долгосрочного состояния |
| Аудиты агентами | Агентный анализ / проверка в песочнице | Редактируемые модели угроз, проверенные PoC, патчи с учётом контекста | Глубокий архитектурный анализ с проверкой высокой достоверности |
При отправке вывода CLI обратно ИИ-агентам флаг --format toon помогает сократить расход токенов. Он создаёт кодировку в стиле YAML, которая сохраняет все детали находок, используя меньше токенов [6].
Безопасное внедрение и заключение: ограничения, рекомендации и выводы
Правила безопасности при запуске инструмента
До подключения Codex Security CLI к локальным процессам или CI сначала изучите его поверхность выполнения и настройки. Если вы собираетесь сканировать незнакомый репозиторий, остановитесь и проверьте .codex/config.toml, .codex/hooks.json и .env. Эти файлы управляют зарегистрированными MCP-серверами и активными хуками, поэтому предварительная проверка является стандартной практикой безопасности[2].
Также полезно регулярно обновлять CLI[6]. При работе с конфиденциальными кодовыми базами используйте изолированное выполнение инструмента в контейнере. Тогда анализ будет проводиться на временной копии кода в песочнице, а не в вашей рабочей среде[9].
Обработка данных и границы процесса
Эти защитные меры помогают ограничить сканирование кодом и разрешениями, которые вы действительно собирались анализировать. Не менее важно, что Codex Security CLI — инструмент находок с высоким качеством сигнала, а не окончательная инстанция при оценке риска. Он может предложить находки и патчи, но люди всё равно должны классифицировать проблемы, менять утёкшие учётные данные и решать, приемлем ли конкретный риск[5][7].
Такое разделение обязанностей важно. Инструмент помогает быстрее замечать проблемы, а проверка людьми сохраняет принятие решений за теми, кто за них отвечает.
Итоговые положения руководства
Codex Security CLI способен выявлять жёстко заданные секреты в файлах кода и пользовательских промптах, риски зависимостей и более сложные классы уязвимостей, такие как SSRF и обход путей[2][6][7]. Агентный подход объединяет архитектурный анализ с проверкой в песочнице, помогая отделить реальные проблемы от шумных или предположительных[1][5][7].
Codex Security CLI выделяется тем, как объединяет контекстный анализ, редактируемые модели угроз и проверенный людьми вывод безопасности в удобном для процессов CLI.
Часто задаваемые вопросы
Кому следует использовать Codex Security CLI?
Codex Security CLI создан для разработчиков, инженеров безопасности и команд, которым нужно защищать кодовые базы путём поиска, проверки и исправления уязвимостей.
Он хорошо подходит командам, работающим с крупными репозиториями или сложными конфигурациями, сопровождающим открытые проекты специалистам, которые классифицируют уязвимости, и всем, кому нужны более ясные и менее шумные находки безопасности прямо в терминальных процессах.
Чем полный аудит отличается от проверки diff?
Проверка diff — это сфокусированный анализ изменений в рабочем дереве, обычно перед коммитом. Она помогает обнаружить ошибки, рискованные паттерны и пограничные случаи в только что внесённых изменениях.
Полный аудит глубже анализирует всю кодовую базу. Он отслеживает пути атак, строит модель угроз проекта и тестирует возможные уязвимости в песочнице. Результатом становятся более достоверные находки и более широкие предложения патчей.
Что требуется перед запуском?
Нужен тариф ChatGPT Pro, Enterprise, Business или Edu.
До запуска Codex Security CLI сначала подготовьте среду разработки. Активируйте виртуальные среды исходных языков, запустите необходимые фоновые службы и экспортируйте нужные переменные среды.
Если вы используете плагин SonarQube, убедитесь, что Docker, Podman или Nerdctl установлен и запущен.
Выберите нужную модель в маркетплейсе моделей
Попробуйте чат, изображения и видео в маркетплейсе APIMart и быстро оцените возможности моделей через единый API.