ИИ-модель Claude обнаружила почти 500 уязвимостей в open-source проектах, включая 21-летнюю ошибку конфигурации
Anthropic с помощью Claude проверила 25 крупных open-source проектов и нашла около 500 проблем безопасности, включая дыру, существовавшую более двух десятилетий.
Компания Anthropic использовала собственную модель искусственного интеллекта Claude для поиска уязвимостей в 25 крупных проектах с открытым исходным кодом, написанных на языках C, C++, Java, PHP и Python. В совокупности эти проекты содержат более 5 млн строк кода. В результате проверки было обнаружено почти 500 проблем безопасности — от отключённых из-за конфликта настроек механизмов защиты до доступа к критически важному коду без прохождения аутентификации.
Вместо точечного поиска отдельных уязвимостей инженеры Anthropic сосредоточились на том, чтобы сократить поверхность атаки и ограничить доступ к коду, который потенциально могут использовать злоумышленники. Для этого Claude составил список из более чем 17 000 параметров конфигурации изученных проектов, из которых 3842 оказались связаны с функциями и механизмами безопасности.
Исследователи выделили три типичные проблемы: функции, включённые по умолчанию, хотя они не нужны для работы программы; сочетания настроек, которые в совокупности ослабляют защиту; и излишне сложные участки кода, которые выполняются ещё до проверок безопасности. Во всех 11 проектах, предназначенных для работы с авторизованными пользователями, нашёлся код, который был доступен без необходимой авторизации. Всего обнаружили 93 поверхности атаки, открытые до аутентификации при настройках по умолчанию, 37 случаев выполнения кода до её прохождения и 61 комбинацию настроек, ослаблявших защиту до авторизации пользователя.
Отдельно во всех 25 проектах нашли 162 комбинации настроек, поведение которых не было описано в документации. В части случаев это приводило к отключению защитных механизмов, в других — к ошибкам и нестыковкам в работе программ. Один из таких дефектов конфигурации оставался незамеченным более 20 лет: одна настройка должна была требовать от пользователей подтверждения личности с помощью сертификатов, а другая вместо временной отсрочки этой проверки полностью её отключала.
Показательным примером стала программа удалённого доступа OpenSSH. Её компонент мог обращаться к 4500 строкам экспериментального кода, реализующего постквантовый алгоритм цифровой подписи, ещё до того, как сервер проверял, разрешена ли такая операция его конфигурацией. Сам алгоритм был отключён по умолчанию, но обрабатывающий его код оставался доступен неавторизованным клиентам. После обращения Anthropic разработчики устранили проблему в версии OpenSSH 10.6, закрыв доступ к примерно 20% кода для пользователей без авторизации.
На основе наработок исследования в Anthropic создали специализированный инструмент для Claude, который вскоре войдёт в состав OSS-Scanner — бесплатного сервиса для проверки безопасности проектов с открытым кодом. Новый инструмент анализирует конфигурации по умолчанию, участки кода, доступные для проверок безопасности, и противоречащие друг другу настройки, а также отслеживает выполнение программы в динамике, сопоставляя найденные уязвимости с реальным поведением системы и сообщая разработчикам об изменениях, которые могут нарушить работу ПО.
Почему это важно
Открытый исходный код лежит в основе значительной части современной IT-инфраструктуры — от серверов и операционных систем до инструментов удалённого доступа вроде OpenSSH. Уязвимости в таких проектах способны затронуть миллионы систем одновременно, а их обнаружение вручную требует колоссальных ресурсов и, как отмечают в Anthropic, плохо масштабируется.
Использование ИИ-моделей для системного анализа конфигураций и кода позволяет находить не только отдельные ошибки, но и системные закономерности — например, комбинации настроек, которые по отдельности безопасны, а вместе ослабляют защиту. Появление подобных инструментов, встроенных в такие сервисы, как OSS-Scanner, может ускорить выявление и устранение подобных проблем в будущем.
Главные цифры
- Проверено 25 крупных open-source проектов на пяти языках программирования
- Обнаружены почти 500 проблем безопасности
- Проанализировано более 5 млн строк кода
- Составлен список из более чем 17 000 параметров конфигурации, 3842 из которых связаны с безопасностью
- Одна из уязвимостей в конфигурации оставалась незамеченной 21 год
- В OpenSSH после исправления закрыт доступ к около 20% кода для неавторизованных пользователей
По материалам: 3dnews.ru