Microsoft обнаружила и устранила критическую уязвимость в своём новом открытом протоколе NLWeb, разработанном для интеграции систем искусственного интеллекта в сайты и веб-приложения, и анонсированном на конференции Build несколько месяцев назад. Уязвимость, обнаруженная исследователями по безопасности Аонаном Гуанем (Aonan Guan) и Лэй Ваном (Lei Wang), позволяла удалённым пользователям без аутентификации получать доступ к конфиденциальным файлам, включая системные конфигурации и API-ключи к OpenAI и Gemini.
Уязвимость основана на классической ошибке path traversal, также известной как обход каталога. Для её эксплуатации достаточно просто перейти по специально сформированному URL. Хотя исправление было выпущено 1 июля, Microsoft до сих пор не присвоила проблеме идентификатор CVE, что является стандартной практикой в индустрии для отслеживания уязвимостей. При этом, как пишет The Verge, исследователи неоднократно призывали компанию опубликовать CVE, подчёркивая, что это позволило бы разработчикам быстрее и надёжнее отреагировать на угрозу, особенно учитывая, что протокол NLWeb пока не получил широкого распространения.
Гуань, старший инженер по облачной безопасности в компании Wyze, который проводил исследование независимо от своей основной работы, отметил, что утечка файла .env в традиционных веб-приложениях в любом случае представляет серьёзную опасность, но в случае с ИИ-агентами последствия становятся катастрофическими. По его словам, такие файлы содержат ключи доступа к языковым моделям, включая GPT-4, которые формируют «когнитивный механизм» агента, и их компрометация означает, что злоумышленник может не просто украсть учётные данные, но и подменить или клонировать поведение ИИ, что чревато масштабным финансовым ущербом из-за несанкционированного использования API-интерфейса.
Представитель Microsoft Бен Хоуп (Ben Hope) заявил, что компания оперативно исправила проблему в открытом репозитории. По его словам, сама Microsoft не использует уязвимый код в своих продуктах, а клиенты, применяющие репозиторий, автоматически получат защиту после обновления. Тем не менее, Гуань предупредил, что разработчики, использующие NLWeb, обязаны самостоятельно обновить сборку, иначе любое публичное развёртывание останется подверженным атакам.