CyberGym: комплексная система оценки для проверки агентов искусственного интеллекта на наличие уязвимостей в крупных кодовых базах
Кибербезопасность стала важной областью интереса в сфере искусственного интеллекта (ИИ), что обусловлено растущей зависимостью от крупных программных систем и расширением возможностей инструментов ИИ. По мере усложнения угроз обеспечение безопасности программных систем стало больше, чем просто вопрос традиционных средств защиты; теперь оно пересекается с автоматизированным рассуждением, обнаружением уязвимостей и пониманием кода на уровне исходников.
Проблема с существующими бенчмарками
Одной из актуальных проблем является отсутствие эффективных способов оценки того, действительно ли системы ИИ способны понимать и решать задачи по обеспечению безопасности в реальных условиях. Существующие методы тестирования часто основаны на упрощённых задачах, которые редко отражают сложную и многоуровневую реальность крупномасштабных репозиториев программного обеспечения.
Без надёжных методов оценки сложно определить, можно ли доверять ИИ-агентам выполнение таких задач, как обнаружение уязвимостей или разработка эксплойтов. Более того, текущие бенчмарки не отражают масштаб и нюансы уязвимостей, обнаруженных в активно поддерживаемых и широко используемых программных системах, оставляя существенный пробел в оценке.
Ограничения существующих инструментов
Некоторые бенчмарки использовались для оценки возможностей кибербезопасности, включая Cybench и NYU CTF Bench. Они сосредоточены на задачах в стиле захвата флага, которые предлагают ограниченную сложность, обычно связанную с небольшими кодовыми базами и ограниченными тестовыми средами.
Многие инструменты полагаются либо на синтетические тестовые случаи, либо на узкоспециализированные задачи, которые не отражают разнообразие входных данных программного обеспечения, путей выполнения и типов ошибок, встречающихся в реальных системах.
Введение CyberGym
Исследователи представили CyberGym — крупномасштабный и всеобъемлющий инструмент для оценки ИИ-агентов в реальных условиях кибербезопасности. CyberGym разработан в Калифорнийском университете в Беркли и включает 1507 различных эталонных задач, полученных из реальных уязвимостей, обнаруженных и исправленных в 188 крупных проектах с открытым исходным кодом.
Эти уязвимости были первоначально выявлены OSS-Fuzz, непрерывной кампанией фаззинга, поддерживаемой Google. Чтобы обеспечить реалистичность, каждый экземпляр бенчмарка включает полную кодовую базу до патча, исполняемый файл и текстовое описание уязвимости.
Уровни оценки CyberGym
Система оценки в CyberGym построена на четырёх уровнях сложности, каждый из которых увеличивает объём предоставляемой входной информации. На уровне 0 агенту предоставляется только кодовая база без намёка на уязвимость. Уровень 1 добавляет описание на естественном языке. Уровень 2 вводит достоверное доказательство концепции (PoC) и трассировку стека, а уровень 3 включает сам патч и кодовую базу после патча.
Каждый уровень представляет новый уровень рассуждений и сложности. Например, на уровне 1 агенты должны определить местоположение и контекст уязвимости исключительно на основе её текстового описания и кодовой базы.
Экспериментальные результаты
При тестировании по этому бенчмарку существующие агенты показали ограниченные успехи. Среди четырёх фреймворков агентов — OpenHands, Codex, ENiGMA и Cybench — лучшим исполнителем был OpenHands в сочетании с Claude-3.7-Sonnet, который воспроизвёл только 11,9% целевых уязвимостей.
Этот показатель значительно снизился при работе с более длинными входными данными PoC: уровень успеха был самым высоким для PoC длиной до 10 байт (43,5%) и упал ниже 8% для длин более 100 байт.
Ключевые выводы
* Объём и реалистичность бенчмарка. CyberGym содержит 1507 задач, полученных из реальных, исправленных уязвимостей в 188 программных проектах, что делает его крупнейшим и наиболее реалистичным бенчмарком в своём роде.
* Ограничения агентов. Даже наиболее эффективная комбинация агент-моделей воспроизвела только 11,9% уязвимостей, причём многие комбинации показали результаты ниже 5%.
* Масштабирование сложности. Предоставление дополнительной информации, такой как трассировки стека или патчи, значительно улучшило производительность: задачи уровня 3 обеспечили 17,1% успеха.
* Чувствительность к длине. Агенты испытывали трудности с задачами, связанными с длинными PoC. PoC длиной более 100 байт, которые составили 65,7% набора данных, имели самые низкие показатели успеха.
* Потенциал обнаружения. 15 новых уязвимостей нулевого дня были обнаружены с помощью PoC, сгенерированных агентами, что подтверждает их потенциал для использования в реальном анализе безопасности.
* Поведение модели. Большинство успешных эксплойтов было сгенерировано на ранних этапах выполнения задачи, с уменьшением отдачи после 80 шагов.
* Взаимодействие с инструментами. Агенты работали лучше, когда им разрешалось взаимодействовать с инструментами (например, использовать «awk», «grep» или устанавливать «xxd») и адаптировать PoC на основе обратной связи во время выполнения.
Заключение
Это исследование подчёркивает критическую проблему: оценка ИИ в кибербезопасности не только сложна, но и необходима для понимания его ограничений и возможностей. CyberGym выделяется, предлагая крупномасштабную, реальную среду для этого.
Исследователи подошли к проблеме с помощью практического и подробного бенчмарка, который заставляет агентов глубоко рассуждать по всему коду, генерировать действительные эксплойты и адаптироваться посредством итераций. Результаты показывают, что, хотя текущие агенты демонстрируют многообещающие результаты, особенно в обнаружении новых ошибок, предстоит ещё долгий путь, чтобы ИИ мог надёжно способствовать кибербезопасности в масштабе.