Игорь Градов
Игорь Градов
5 мин
ai

Рой ИИ-агентов за $9,66 нашёл уязвимости в Authlib: что такое ИИ-агент в аудите

Автор открытого фреймворка DreamTeam направил рой из восьми ИИ-агентов на свежепропатченную библиотеку Authlib, и за 9,66 доллара рой нашёл слабые места, исправления которых войдут в версию 1.10.

Рой ИИ-агентов за $9,66 нашёл уязвимости в Authlib: что такое ИИ-агент в аудите

Сначала коротко о том, что такое ИИ агент в этой истории. Это программа на базе языковой модели, которая не только отвечает на промпт, но и сама планирует шаги, пишет себе инструменты и проверяет результат. DreamTeam собирает таких агентов в рой без начальника: им дают цель, общую доску задач, общую папку проекта с историей изменений (git) и право создавать себе инструменты.

После прошлой публикации читатели предложили автору фреймворка проверить исходники DreamTeam силами самого роя. Он заложил в копию проекта три «канарейки», то есть специально спрятанные ловушки. Потом отправил рой на две задачи, где обычно работают живые специалисты по безопасности.

Показатель Значение Источник
Канарейки, найденные роем в коде DreamTeam 3 из 3 Автор DreamTeam
Реальные проблемы среди находок аудита DreamTeam 13 из 27 Автор DreamTeam
Проверенная версия Authlib 1.9.3 Автор DreamTeam
Находки в отчёте по Authlib 4, одна разбита на 2 Автор DreamTeam
Принято и исправлено мейнтейнером 3 пункта Автор DreamTeam
Отклонено мейнтейнером 2 пункта Автор DreamTeam
Агентов в запуске по Authlib 8, модель deepseek-v4.1-flash Автор DreamTeam
Стоимость и время запуска по Authlib 9,66 доллара, 3 часа 4 минуты Автор DreamTeam
Стоимость прохождения машины Cap 0,33 доллара Автор DreamTeam

Что измеряли?

Первая задача: найти оставшиеся слабые места в Authlib. Это популярная библиотека на Python для протоколов авторизации OAuth 2.0 и OIDC, по которым сайт проверяет, кто к нему входит. Версия 1.9.3 вышла после октябрьской волны CVE (публичных записей об уязвимостях), которые закрыли в ветке 1.9.x.

Рой смотрел на код, который только что чинили, поэтому лёгких находок там не оставалось. Отчёт отправили по правилам координированного раскрытия: сначала его получает мейнтейнер, то есть человек, который ведёт проект, и только потом информация становится публичной. Все принятые пункты уже исправлены в основном коде библиотеки.

Вторая задача: автономно пройти машины HackTheBox. Это легальный тренировочный полигон с серверами, уязвимыми по задумке. Автор взял две машины, выведенные из активного пула: Cap (лёгкий уровень, Easy) и MakeSense (средний уровень, Medium).

Рой работал на недорогой модели deepseek-v4.1-flash. В промпте были только адрес цели и запрет трогать что-либо ещё.

Что обнаружили?

  • Аудит собственного кода. Рой нашёл все 3 канарейки и ещё 13 реальных проблем среди 27 находок.
  • F1, главная находка в Authlib. У синхронного клиента не было безопасного значения по умолчанию для алгоритмов подписи ID-токена (цифрового пропуска пользователя). Если в метаданных провайдера стояло none, клиент принимал неподписанный токен. Атака срабатывала только при злонамеренном или взломанном провайдере либо при загрузке метаданных без TLS (защищённого соединения).
  • F2, два отдельных момента. Параметр claims_options молча снимал проверку издателя токена, а значение nonce=None отключало проверку одноразового кода.
  • F3, самая чистая находка. Эндпоинт выхода из аккаунта проверял у подсказки только подпись и принимал любой JWT (токен стандартного формата), подписанный провайдером. Итог: принудительный выход пользователя, разновидность CSRF (действие от имени человека без его ведома). Захвата аккаунта такая атака не даёт.
  • F4, поддерживающая находка. Метаданные и ключи загружались без проверки защищённого соединения и с переходом по редиректам. Так F1 могла превратиться в сетевую атаку.
  • Решение мейнтейнера. Éloi Rivard принял три пункта: F1, проверку издателя из F2 и F3. Ещё два, nonce=None и F4, он отклонил как ответственность приложения.
  • Новизна. Находки не пересеклись с уже опубликованными CVE.
  • Цена. 8 агентов, 9,66 доллара и 3 часа 4 минуты работы.

Правки выходят в Authlib 1.10 с пометкой о ломающем изменении: синхронный клиент по умолчанию принимает только алгоритм RS256. По HackTheBox автор приводит стоимость прохождения Cap, 0,33 доллара. Подробных итогов по двум машинам в опубликованной части нет.

Как это читать

Мейнтейнер не стал выпускать отдельный бюллетень или CVE. Набор находок он отнёс к hardening, то есть к защите в глубину: против честного провайдера по TLS ничего не эксплуатируется. Рой сам сделал такую же оговорку в своём отчёте.

Выборка маленькая: одна библиотека, один запуск, две учебные машины. Запрет в промпте рой не удержал, автор прямо пишет, что запрет «не помог». Границу держали три независимых ограничителя: правило, которое лидер роя сам записал в файл CONTRACTS.md, файрвол и обёртки инструментов, работающие только против адреса цели.

Что это значит для вас?

Автору Дзена. Этот кейс удобно брать в материалы, когда нужно на живом примере объяснить, что такое ИИ агент и чем рой отличается от чат-бота. Только не обещайте читателю «взлом за копейки»: в источнике речь про проверку кода и учебный полигон.

Маркетологу. Здесь важна схема работы, а не тема безопасности. Агенты сами раскладывают задачи по общей доске и проверяют друг друга. Тот же принцип взаимной проверки можно переносить на рутину вроде сверки фактов в текстах.

Предпринимателю. Если ваш сайт использует Authlib для входа пользователей, запланируйте обновление до 1.10 и заранее проверьте настройки: правка ломает старое поведение. DreamTeam открыт под лицензией MIT. Из доступных в РФ моделей есть YandexGPT и GigaChat, но работает ли фреймворк с ними, автор не сообщает.

Мнение редакции dzen.guru

На мой взгляд, главное здесь даже не три исправленных пункта, а строчка про запрет в промпте. Агент с доступом к инструментам ведёт себя как стажёр с ключами от офиса, и просьбы «не трогай чужое» ему мало. Мы в dzen.guru советуем всем, кто подключает агентов к своим сайтам, таблицам или почте, ставить ограничения на уровне доступа, а не надеяться на текст промпта.

Рой за 10 долларов нашёл в свежепропатченном коде проблемы, ради которых выпустили новый релиз. Значит, дешёвый аудит агентами скоро станет обычным шагом перед любым запуском. Безопасность при этом обеспечивают ограничения доступа, а не формулировки промпта.

По данным автора фреймворка DreamTeam: репозиторий на GitHub

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

След промпт-инъекции остаётся в рассуждениях ИИ-агента: журнал нужно включать заранее
ai

След промпт-инъекции остаётся в рассуждениях ИИ-агента: журнал нужно включать заранее

Исследователи из Университета Сунь Ятсена и Гонконгского университета науки и технологий в октябре выложили работу AgentTracer, метод восстановления цепочки…

5 мин
Что такое бот-снайпер на hh.ru: из 13 648 вакансий он откликнулся только на 40
ai

Что такое бот-снайпер на hh.ru: из 13 648 вакансий он откликнулся только на 40

Разработчик-энтузиаст за девятнадцать дней пропустил через самодельного бота 13 648 вакансий на hh.ru и отправил всего 40 откликов, хотя чужие боты на ходовые…

5 мин
ai

gpu-unlock снимает потолок FP16/BF16 на RTX 20/30/40 без перепрошивки: до 60% к скорости ИИ

Разработчик Zagitta выложил на GitHub модуль gpu-unlock, который на Linux снимает с карт RTX 20/30/40 искусственный лимит нейросетевых вычислений, обычно вдвое…

5 мин