Ad
Искусственный интеллект

OpenAI открыла код Codex Security CLI

Маша Даровская
By Маша Даровская , IT-редактор и автор
OpenAI открыла код Codex Security CLI
Обложка © Anonhaven

OpenAI опубликовала исходный код Codex Security CLI — инструмента для поиска, проверки и исправления уязвимостей из командной строки. Вместе с CLI компания открыла TypeScript SDK, позволяющий запускать проверки из других приложений и внутренних инструментов.

Репозиторий опубликован по лицензии Apache 2.0. Код можно изучать, изменять и встраивать в собственные процессы разработки. При этом Codex Security не стал полностью автономным открытым сканером: для проведения анализа всё ещё требуется доступ к сервису OpenAI.

В публичном репозитории Codex Security находятся CLI, TypeScript SDK, Docker-конфигурация, примеры интеграции и вспомогательные файлы. Пакет устанавливается через npm:

npm install @openai/codex-security

npx codex-security login

npx codex-security scan .

Для работы нужен Node.js 22 или новее. Запуск сканирования и экспорт результатов также требуют Python 3.10 или более новой версии.

Главное ограничение: публикация исходников не означает свободный доступ ко всем возможностям продукта. В официальной инструкции CLI и SDK по-прежнему называются бета-версией, для которой требуется разрешённый доступ к Codex Security. Для некоторых полноценных проверок репозиториев может дополнительно понадобиться Trusted Access for Cyber. Иными словами, открытым стал клиентский код, но не модели и инфраструктура, выполняющие анализ.

Как запускается сканирование

Для локальной работы пользователь может авторизоваться через учётную запись ChatGPT: npx codex-security login

На сервере без браузера поддерживается авторизация с другого устройства: npx codex-security login --device-auth

В CI/CD вместо интерактивного входа используется ключ OpenAI API. Само наличие ключа не гарантирует доступ к Codex Security: соответствующее разрешение должно быть предоставлено учётной записи.

CLI умеет проверять весь репозиторий, отдельные каталоги, рабочее дерево Git и изменения между двумя ревизиями:

npx codex-security scan .

npx codex-security scan . --path src

npx codex-security scan . --diff origin/main --head HEAD

npx codex-security scan . --working-tree --base HEAD

Для более широкого анализа предусмотрен глубокий режим: npx codex-security scan . --mode deep

К проверке можно приложить архитектурную документацию, модель угроз или внутренние правила безопасности. Это помогает агенту учитывать назначение системы, границы доверия и допустимые потоки данных.

Какие результаты создаёт CLI

После завершения проверки Codex Security сохраняет читаемый отчёт и набор структурированных файлов:

codex-security-results/

├── scan-manifest.json

├── findings.json

├── coverage.json

├── report.md

├── artifacts/

└── exports/

findings.json содержит обнаруженные проблемы, их серьёзность, уверенность модели, расположение в коде, доказательства и рекомендации по исправлению.

coverage.json описывает полноту проверки. Она может быть обозначена как полная, частичная или неизвестная. Частичный отчёт нельзя считать подтверждением отсутствия уязвимостей: часть компонентов или путей выполнения могла остаться без анализа.

Результаты экспортируются в CSV, JSON и SARIF. Последний формат поддерживается GitHub Code Security и другими платформами анализа кода.

Сравнение проверок

Codex Security умеет сопоставлять результаты двух запусков:

npx codex-security scans match PREVIOUS_SCAN_ID CURRENT_SCAN_ID

npx codex-security scans compare PREVIOUS_SCAN_ID CURRENT_SCAN_ID

После сопоставления находки распределяются на новые, сохранившиеся, повторно появившиеся, устранённые и находки с неопределённым статусом.

Однако такое сравнение не делает анализ детерминированным. Документация CLI предупреждает, что повторные проверки с одинаковыми настройками могут дать разные результаты.

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

Создание исправлений

CLI содержит отдельную команду для генерации исправления:

npx codex-security patch findings.json \

  "Missing authorization check in src/routes.ts:18"

Codex Security может подготовить патч с учётом контекста проекта, но результат необходимо проверить вручную, прогнать через тесты и обычную процедуру код-ревью. Генерация исправления не гарантирует, что оно полностью закрывает уязвимость или не создаёт регрессию.

Для повторной проверки находки используется команда:

npx codex-security validate findings.json \

  "Recheck the SQL injection in src/orders.ts:42"

Интеграция с CI/CD

OpenAI опубликовала отдельную инструкцию по запуску Codex Security в CI. CLI может проверять изменения в pull request, сохранять отчёты как артефакты сборки и выгружать результаты в формате SARIF.

Порог блокировки задаётся параметром --fail-on-severity:

npx codex-security scan . \

  --diff origin/main \

  --fail-on-severity high

Если полная проверка обнаружит уязвимость указанного или более высокого уровня, команда завершится с кодом 1. Код 2 используется при ошибке выполнения или неполном покрытии.

OpenAI рекомендует сначала запускать проверки в информационном режиме. Это позволяет оценить продолжительность анализа, полноту покрытия и число спорных находок до того, как Codex Security начнёт блокировать сборки.

Сколько стоит сканирование

CLI позволяет установить приблизительный бюджет проверки: npx codex-security scan . --max-cost 5

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

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

Есть новость? Станьте автором.

Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.