Коротко: Codex Security — CLI и TypeScript SDK от OpenAI для автоматического обнаружения уязвимостей в коде. Устанавливается через npm за три команды, встраивается в CI через переменную окружения, работает с Node.js 22+ и Python 3.10+. Поддерживает как API-ключ, так и аккаунт ChatGPT.
Что делает Codex Security и чем отличается от линтеров
Codex Security — это инструмент на базе ИИ, который анализирует логику кода, а не просто ищет совпадения с паттернами уязвимостей. В отличие от Semgrep или Bandit, он понимает контекст: где именно поведение кода становится опасным, даже если формальных ошибок нет.
Инструмент решает три задачи:
- Сканирование всего репозитория
- Проверка конкретных изменений перед мержем
- Автоматический аудит безопасности в CI-пайплайне
История сканирований сохраняется локально — можно отслеживать динамику уязвимостей со временем.
Как установить и запустить за три команды
Требования: Node.js 22+, Python 3.10+, доступ к Codex Security.
```bash
npm install @openai/codex-security
npx codex-security login
npx codex-security scan .
```
При интерактивном запуске, если настроены и API-ключ, и ChatGPT-аккаунт, инструмент предложит выбор. Явно задать способ авторизации:
```bash
npx codex-security scan . --auth chatgpt
npx codex-security scan . --auth api-key
```
Чтобы убрать API-ключ из приоритета и всегда использовать ChatGPT:
```bash
unset OPENAI_API_KEY CODEX_API_KEY
```
Как настроить Codex Security в CI
Для работы в CI (GitHub Actions, GitLab CI и других) логин не нужен. Достаточно добавить переменную окружения OPENAI_API_KEY — инструмент автоматически переходит в неинтерактивный режим.
Пример для GitHub Actions:
```yaml
- name: Run security scan
run: npx codex-security scan .
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
```
Результат: каждый пул-реквест проверяется автоматически. Уязвимость ловится до того, как код уходит в продакшн.
Если в CI ограничен доступ к файловой системе, задай путь для хранения истории сканирований:
```bash
export CODEX_SECURITY_STATE_DIR=/writable/path
```
TypeScript SDK: программная интеграция
Для встройки сканирования в собственный пайплайн — дашборд, автоотчёт, Slack-уведомление — используй SDK:
```typescript
import { CodexSecurity } from "@openai/codex-security";
const security = new CodexSecurity();
const result = await security.run(".");
console.log(result.reportPath);
await security.close();
```
Результат содержит путь к отчёту, который можно парсить и передавать дальше в любой инструмент.
Ограничения, которые важно знать
- Требует Node.js 22+ — старые окружения нужно обновлять.
- Нужен API-ключ или ChatGPT-аккаунт с доступом к Codex Security — полностью бесплатного режима нет.
- ИИ-анализ может давать ложные срабатывания — используй как дополнение к существующим инструментам, не как замену.
- История хранится локально — в изолированных CI-контейнерах нужно явно задавать директорию.
Часто задаваемые вопросы
Нужен ли платный API-ключ OpenAI для Codex Security?
Да, требуется либо API-ключ OpenAI, либо ChatGPT-аккаунт с доступом к Codex Security. Без учётных данных инструмент не запустится.
Можно ли использовать Codex Security в CI без интерактивного логина?
Да. Задайте переменную OPENAI_API_KEY в секретах CI — инструмент автоматически перейдёт в неинтерактивный режим и не потребует логина.
Чем Codex Security лучше обычных анализаторов безопасности?
Обычные инструменты работают по фиксированным правилам. Codex Security использует ИИ для анализа контекста и логики кода, находя уязвимости, которые не укладываются в стандартные паттерны.
Как хранится история сканирований?
В рабочей директории состояния Codex Security. Путь меняется через переменную CODEX_SECURITY_STATE_DIR — актуально для CI-сред с ограниченным доступом к файловой системе.
Разбираем ИИ-инструменты для бизнеса →
<a href='https://t.me/contentrunbot'>ИИ Инструменты</a> | <a href='https://contentrun.ai/'>Контент-завод</a> | <a href='https://platform.contentrun.ai/'>База знаний</a>