Компания Anthropic 20 октября (по местному времени) опубликовала первые результаты исследования, в котором с помощью AI-модели Claude анализировала и сокращала атакующие поверхности (атакующие области) в программном обеспечении. Под атакующими поверхностями понимаются участки кода, доступные для внешних злоумышленников.
В рамках исследования Claude проанализировала 25 открытых проектов (более 5 млн строк кода) на C, C++, Java, PHP, Python. Модель выявила свыше 17 тыс. настроек, из которых 3842 имели отношение к безопасности. В итоге обнаружено 493 проблемы.
В 11 проектах, где предполагается аутентификация, везде нашли код, непреднамеренно доступный извне. Выявлено 162 сочетания настроек, которые принимаются без ошибок и предупреждений, причём в 94 случаях это приводило к непреднамеренному отключению функций безопасности. Например, было найдено противоречие в настройках, которое в течение 21 года позволяло обойти проверку клиентских сертификатов.
Особенно значимым результатом стало улучшение OpenSSH. В версии 10.4 около 4500 строк экспериментального кода, связанного с методом подписи ML-DSA-44 (устойчивым к квантовым компьютерам), были доступны клиентам до аутентификации — это около 16 % кода, выполняемого до аутентификации в начальной конфигурации OpenSSH. Anthropic сообщила разработчикам OpenSSH о проблеме, и в версии 10.5 были приняты меры. Однако Claude обнаружила в этих мерах два возможных обхода. После дополнительных исправлений доля кода, доступного до аутентификации, сократилась примерно на пятую часть — это было реализовано в версии 10.6, вышедшей 6 октября.
Anthropic планирует включить разработанный метод в сервис по поиску уязвимостей для открытого ПО — OSS Scanner. Метод предполагает трёхэтапный анализ с последующей проверкой найденных проблем путём запуска программы. Изменения в начальных настройках тестируются через запуск тестов проекта, чтобы убедиться, что стандартное поведение не изменилось. Изменения, влияющие на другие режимы работы, требуют оценки человеком.