Инженеры Anthropic изучили 25 крупных проектов с открытым исходным кодом с помощью модели искусственного интеллекта Claude. Целью исследования было выявление проблем безопасности в программах, написанных на языках C, C++, Java, PHP и Python. В результате было обнаружено почти 500 угроз, в том числе отключённые механизмы защиты из-за конфликтов в настройках и доступ к критически важным фрагментам кода до аутентификации. и даже уязвимость, которой уже 21 год.
«На этот раз в Anthropic решили не ограничиваться стандартным поиском уязвимостей — выявление их по отдельности в рамках данного исследования охарактеризовали как «сизифов труд«, потому что такой подход плохо масштабируется и не даёт гарантий безопасности», — сообщает 3dnews.
Эксперты сделали акцент на сокращении поверхности атаки в ПО и ограничении ненужного доступа к коду, который могли использовать злоумышленники. В 25 изученных проектах содержались более 5 млн строк кода. Claude составил список из более чем 17 000 параметров конфигурации, 3842 из которых относятся к механизмам и функциям, влияющим на безопасность.
Исследование затронуло три сценария, при которых доступ к некоторым фрагментам кода оказывается неоправданным: функции, включённые по умолчанию, но не требующиеся для работы; сочетания настроек, ослабляющие защиту; а также излишне сложные и критически важные фрагменты кода, выполняющиеся до проверок безопасности. Все 11 проектов, предназначенных для работы с авторизованными пользователями, содержали код, доступ к которому был возможен, когда этого быть не должно.
Были выявлены 93 поверхности атаки, доступные до аутентификации в конфигурациях по умолчанию; 37 случаев выполнения кода до прохождения аутентификации; а также 61 комбинация настроек, которая приводила к ослаблению механизмов защиты, действующих до аутентификации. Во всех 25 проектах обнаружили 162 комбинации настроек, для которых в документации не было описано ожидаемое поведение. В некоторых случаях это приводило к отключению средств защиты, в других — к различным несоответствиям и ошибкам.
Один из изъянов в конфигурации оставался незамеченным более двух десятилетий. Одна настройка требовала от пользователей подтверждения личности с помощью сертификатов, а другая полностью отключала эту проверку, хотя должна была лишь временно её отложить. В качестве примера приводится OpenSSH — программа безопасного удалённого доступа содержала компонент (демон), который мог обращаться к 4500 строкам экспериментального кода — реализации постквантового алгоритма цифровой подписи — до проверки того, разрешена ли такая операция конфигурацией сервера. Сам алгоритм был по умолчанию отключён, но код, предназначенный для обработки его данных, был доступен неавторизованным клиентам. После сообщения от Anthropic разработчики OpenSSH устранили уязвимость в версии 10.6 — около 20 % кода стали недоступны для неавторизованных пользователей.
Сформированные в ходе исследования методы инженеры Anthropic объединили в специализированный инструмент для Claude. Вскоре его интегрируют в OSS-Scanner — бесплатный сервис для проверки безопасности проектов с открытым исходным кодом. Новый инструмент анализирует конфигурации по умолчанию, доступные для проверок безопасности фрагменты кода и противоречащие друг другу настройки. Система будет проверять выявленные уязвимости через динамическое отслеживание выполнения программы, сопоставляя их с текущим поведением системы — об изменениях, которые могут нарушить работу ПО, сообщат разработчикам.
Подписывайтесь на наш Telegram-канал, чтобы быть в курсе всех новостей и событий Рунета.









English (US) ·
Russian (RU) ·