Отказ от статического анализа в новом ИИ-инструменте безопасности от OpenAI

OpenAI объясняет, почему их новый продукт Codex Security не использует традиционные отчеты статического анализа (SAST) в качестве отправной точки для поиска уязвимостей.

Обновлено:
2 мин чтения
Отказ от статического анализа в новом ИИ-инструменте безопасности от OpenAI

Компания OpenAI представила подход к поиску уязвимостей в своем новом продукте Codex Security, отказавшись от использования традиционных отчетов статического анализа защищенности приложений (SAST) в качестве базового источника данных. Вместо этого ИИ-агент начинает работу непосредственно с исходного кода, анализируя архитектуру, границы доверия и ожидаемое поведение системы.

Долгое время статический анализ оставался основным методом масштабирования проверки кода для команд безопасности. SAST эффективно отслеживает потоки данных от ненадежного источника к чувствительному приемнику (sink), указывая на потенциальные проблемы. Однако, по мнению разработчиков Codex Security, самые сложные уязвимости редко сводятся к простым ошибкам потока данных.

Designing AI agents to resist prompt injection > Cover Image

Designing AI agents to resist prompt injection > Cover Image

Проблема заключается в том, что статический анализ часто не может ответить на главный вопрос: действительно ли сработала защита? Например, SAST может зафиксировать вызов функции очистки данных, но не способен оценить, достаточна ли эта очистка для конкретного контекста рендеринга или последующих преобразований. Уязвимости часто возникают из-за ошибок в порядке операций, частичной нормализации или неоднозначностей парсинга, когда проверка формально существует, но фактически не ограничивает значение нужным образом.

Подход Codex Security основан на понимании намерений системы и попытках опровергнуть гарантии безопасности, которые код пытается обеспечить. Агент читает код с полным контекстом репозитория, выделяет минимальные тестируемые фрагменты и пишет для них микро-фаззеры. Для решения сложных задач ограничения входных данных ИИ может использовать внешние инструменты, такие как z3-solver в среде Python. В идеале система стремится выполнить код в изолированной среде, чтобы предоставить доказательство концепции (Proof of Concept), отличая потенциальную проблему от реальной.

Learning Blocks ArtCard 1x1

Learning Blocks ArtCard 1x1

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

OpenAI подчеркивает, что инструменты SAST остаются важной частью эшелонированной защиты (defense-in-depth). Однако для интеллектуальных агентов, чья задача — превращать подозрения в доказанные уязвимости с рабочими исправлениями, требуется иной подход, ориентированный на поведение системы и проверку инвариантов.

oai Blog Codex Security Art Card 1x1

oai Blog Codex Security Art Card 1x1

TL;DR

Главное

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

Ключевые факты

  • /Codex Security не использует отчеты SAST как стартовую точку.
  • /ИИ анализирует контекст репозитория и пишет микро-фаззеры для проверки гипотез.
  • /Для сложных задач агент использует z3-solver и песочницы для запуска кода.

Инсайт

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

Источник:Openai

Читайте также

Гайды по теме