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

Компания OpenAI представила Codex Security — агента по обеспечению безопасности приложений, который анализирует кодовую базу, проверяет наличие потенциальных уязвимостей и предлагает исправления, которые разработчики могут просмотреть перед установкой патчей. В настоящее время продукт внедряется в формате исследовательского превью для клиентов ChatGPT Enterprise, Business и Edu через Codex web.

Зачем OpenAI создала Codex Security?

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

В своём объявлении команда OpenAI утверждает, что основная проблема заключается не только в качестве обнаружения, но и в отсутствии системного контекста. Уязвимость, которая выглядит серьёзной при общем сканировании, может иметь низкое воздействие в реальном приложении, в то время как тонкая проблема, связанная с архитектурой или границами доверия, может быть полностью пропущена.

Codex Security позиционируется как система с учётом контекста, которая пытается сократить этот разрыв.

Как работает Codex Security?

Codex Security работает в три этапа:

1. Создание модели угроз для конкретного проекта.

Первый шаг — анализ репозитория и создание модели угроз для конкретного проекта. Система изучает структуру кодовой базы, имеющую отношение к безопасности, чтобы смоделировать, что делает приложение, чему оно доверяет и где оно может быть уязвимо. Эта модель угроз является редактируемой, что важно на практике, поскольку реальные системы обычно включают в себя предположения, специфичные для организации, которые автоматизированные инструменты не могут надёжно определить самостоятельно.

2. Поиск и проверка уязвимостей.

Второй шаг — обнаружение и проверка уязвимостей. Codex Security использует модель угроз в качестве контекста для поиска проблем и классификации результатов по их вероятному реальному воздействию в рамках этой системы. Там, где это возможно, она проводит стресс-тестирование результатов в изолированных средах проверки. Если пользователи настроят среду, адаптированную к проекту, система сможет проверить потенциальные проблемы в контексте работающего приложения.

3. Предложение исправлений с учётом системного контекста.

Третий шаг — устранение неполадок. Codex Security предлагает исправления, используя полный контекст окружающей системы, с целью создания патчей, которые улучшают безопасность, минимизируя при этом регрессии. Пользователи могут фильтровать результаты, чтобы сосредоточиться на проблемах, имеющих наибольшее влияние для их команды.

Кроме того, Codex Security может со временем учиться на обратной связи. Когда пользователь изменяет критичность результата, эта обратная связь может быть использована для уточнения модели угроз и повышения точности последующих сканирований.

Переход от сопоставления шаблонов к проверке с учётом контекста

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

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

Отчёт о бета-метриках, представленный OpenAI

OpenAI также поделилась результатами бета-тестирования. Сканирование одних и тех же репозиториев с течением времени показало повышение точности, и в одном случае уровень шума был снижен на 84% с момента первоначального внедрения. Уровень результатов с завышенной серьёзностью снизился более чем на 90%, а уровень ложных срабатываний при обнаружении снизился более чем на 50% по всем репозиториям.

За последние 30 дней Codex Security, по сообщениям, просканировала более 1,2 миллиона коммитов во внешних репозиториях в своей бета-группе, выявив 792 критических результата и 10 561 результат с высокой степенью серьёзности. Команда OpenAI добавляет, что критические проблемы появились менее чем в 0,1% отсканированных коммитов.

Работа над безопасностью открытого исходного кода и отчёт о CVE

Выпуск также включает компонент с открытым исходным кодом наряду с Codex для OSS. Команда OpenAI использовала Codex Security в репозиториях с открытым исходным кодом, от которых она зависит, и поделилась результатами с высоким воздействием с сопровождающими.

Среди проектов, в которых были обнаружены критические уязвимости, были перечислены OpenSSH, GnuTLS, GOGS, Thorium, libssh, PHP и Chromium. Было указано, что было назначено 14 CVE, причём двойное сообщение о двух из них.

Основные выводы

* Codex Security — это агент по обеспечению безопасности приложений, а не просто сканер. OpenAI утверждает, что он анализирует контекст проекта для выявления уязвимостей, проверки их наличия и предлагает исправления, которые разработчики могут просмотреть.
* Система работает в три этапа: она создаёт редактируемую модель угроз, затем определяет приоритеты и проверяет проблемы в изолированных средах, где это возможно, и, наконец, предлагает исправления с учётом полного контекста системы.
* Продукт разработан для снижения шума при проверке безопасности. В бета-версии сообщается о снижении шума на 84% в одном случае, более чем на 90% снижении завышенной серьёзности и более чем на 50% снижении уровня ложных срабатываний в репозиториях.
* OpenAI также расширяет продукт для открытого исходного кода через Codex for OSS, который предлагает соответствующим сопровождающим 6 месяцев ChatGPT Pro с Codex, условный доступ к Codex Security и кредиты API.

1. Какие проблемы решает Codex Security и как она отличается от традиционных сканеров безопасности?

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

2. Какие этапы включает в себя работа Codex Security?

Работа Codex Security включает в себя три этапа:
1. Создание модели угроз для конкретного проекта путём анализа репозитория.
2. Поиск и проверка уязвимостей с использованием модели угроз в качестве контекста.
3. Предложение исправлений с учётом системного контекста.

3. Какие результаты были получены в ходе бета-тестирования Codex Security?

В ходе бета-тестирования было просканировано более 1,2 миллиона коммитов во внешних репозиториях. Было выявлено 792 критических результата и 10 561 результат с высокой степенью серьёзности. Уровень шума был снижен на 84% в одном случае, уровень результатов с завышенной серьёзностью снизился более чем на 90%, а уровень ложных срабатываний при обнаружении снизился более чем на 50% по всем репозиториям.

4. Как OpenAI планирует развивать Codex Security в будущем?

OpenAI планирует расширять продукт для открытого исходного кода через Codex for OSS. Это позволит соответствующим сопровождающим получить 6 месяцев ChatGPT Pro с Codex, условный доступ к Codex Security и кредиты API.

5. Какие проекты были обнаружены с критическими уязвимостями при использовании Codex Security?

Среди проектов, в которых были обнаружены критические уязвимости, были перечислены OpenSSH, GnuTLS, GOGS, Thorium, libssh, PHP и Chromium. Было указано, что было назначено 14 CVE, причём двойное сообщение о двух из них.

Источник