Технический директор компании Oblique Security Эрик Чан (Eric Chiang) опубликовал 19 августа результаты эксперимента: за месяц вечеров он с помощью ИИ-агентов на базе Claude нашел 16 уязвимостей в различных реализациях SAML. Среди них — четыре полных обхода аутентификации в Authentik, PHP-библиотеке lightsaml, платформе OneUptime и Java-проекте saml-client. Еще двенадцать проектов оказались уязвимы к обходу подписи на второстепенных сообщениях протокола.
SAML — это протокол единого входа, который используется в корпоративных системах. Он работает как подписанный пропуск: провайдер идентификации (IdP) выдает приложению XML-документ с адресом пользователя и криптографической подписью. Проблема в том, что подпись ставится под документом целиком, а читают его два разных компонента: библиотека проверки подписи и логика приложения. Если они разбирают XML по-разному, атакующий может подсунуть неподписанные данные под видом заверенных. Такие расхождения — не экзотика: с 2020 года обход в крупной SAML-библиотеке всплывает примерно раз в квартал, у одного только GitHub Enterprise их было четыре за 2024–2025 годы.
| Проект | Тип уязвимости | Статус |
|---|---|---|
| Authentik | Полный обход аутентификации | Исправлено в 2026.2.6 и 2026.5.5 |
| lightsaml | Полный обход аутентификации | Не указано |
| OneUptime | Полный обход аутентификации | Не указано |
| saml-client | Полный обход аутентификации | Не указано |
| Go-библиотеки | Отказ в обслуживании | Патчи приняты |
| Python и Node библиотеки | Отказ в обслуживании | Не закрыты |
Чан не новичок в этой теме: почти десять лет назад он добавил поддержку SAML в проект Dex, и та реализация со временем обросла уязвимостями. Он давно утверждал, что SAML опасен по своей конструкции. Прочитав эссе Нильса Провоса «Finding Zero-Days with Any Model», Чан решил проверить, сможет ли ИИ найти уязвимости в SAML-реализациях. Он подал заявку в программу Anthropic Cyber Verification Program, получил доступ к модели Opus, способной писать эксплойты, и за месяц попытался взломать все реализации SAML, до которых дотянулся. Оборудование — подписка Max 20x за двести долларов в месяц.
Четыре полных обхода аутентификации: Authentik, lightsaml, OneUptime, saml-client.
Технически Чан построил конвейер, который дробит работу между агентами, складывает промежуточные результаты в общее хранилище, приоритизирует и дедуплицирует задачи. Конвейер двухфазный: сначала агенты ищут странности в поведении библиотек (фаза «гаджетов»), затем комбинируют находки и подтверждают их сквозным эксплойтом. Все складывается в JSONL-файлы, которые обрабатывают отдельные шаги конвейера. Удивило Чана то, что учить модель взламывать не пришлось: накопленный корпус известных уязвимостей SAML делал только хуже, а лучше работала связка «модель угроз плюс свобода исследования».
Уязвимость в Authentik (CVE-2026-57580) позволяла вставить в поле NameID XML-комментарий, обрезать значение до чужого адреса и привязать к жертве подконтрольную атакующему учетную запись — подпись при этом оставалась валидной. Срабатывало это не у всех: нужны определенные настройки сопоставления учетных записей. Закрыли проблему в версиях 2026.2.6 и 2026.5.5. Интересно, что об этой уязвимости независимо сообщили восемь исследователей, что Чан объясняет просто: он не единственный, кто теперь взламывает с помощью ИИ.
Кроме обходов аутентификации, Чан нашел уязвимости в обработке второстепенных сообщений протокола — AuthnRequest, AttributeQuery и LogoutRequest. Безопасники традиционно не разглядывают эти сообщения, что приводит к раскрытию данных и принудительному завершению чужих сессий. Отдельная категория — отказ в обслуживании: SAML по своей природе обязан принимать произвольный XML, присланный POST-запросом из интернета, и почти все крупные библиотеки удалось довести до исчерпания памяти неаутентифицированным запросом. В экосистеме Go патчи приняли, в Python и Node проблемы на момент публикации не закрыты.
Структурно сломать протокол Чан не смог и открыто об этом жалеет: взрослые библиотеки за годы CVE обросли усиленными API, и «войти кем угодно» сегодня получается в основном там, где реализацию написали заново. Отсюда его практический вывод: не пишите свой SAML — возьмите готовую библиотеку, а лучше сразу OpenID Connect. Самые показательные сложности возникли при попытке сдать находки: с проектом OneUptime, который, по деликатной формулировке Чана, «принял ИИ всей душой», вышло нечто иное — подробности он обещал раскрыть позже.

