Одна пропущенная криптографическая проверка дала 16-летнему школьнику административный доступ к внутренней аналитической платформе Microsoft, за которой стояли базы с оценочными 17,3 трлн строк данных.
Исследователь под псевдонимом Faav изучал внутренний сервис Titan, который Microsoft использует для аналитики. Веб-интерфейс требовал VPN, однако связанный API оставался доступен из интернета. Среди его маршрутов находился метод для выполнения SQL-запросов. Для авторизации Titan принимал JWT и проверял указанные в токене параметры, включая tenant, audience, идентификатор приложения и пользователя.
Критическая ошибка скрывалась в следующем шаге. Titan не проверял криптографическую подпись токена, поэтому содержимое можно было изменить и представить серверу как настоящее. Faav создал неподписанный JWT с алгоритмом none и записал в поле upn имя admin. Сервис сопоставил его с локальным пользователем ID 1, которому принадлежала роль администратора, после чего выполнил тестовый запрос SELECT 1.
Дальше школьник оценил потенциальный масштаб доступа. Из 56 найденных в старых конфигурациях маршрутов 30 продолжали работать и вели через 24 конфигурации к 17 базам ClickHouse. В них находились 9863 уникальных имени таблиц. По внутренней статистике баз Faav получил итоговую оценку в 17 333 335 124 315 строк.
Цифра не означает утечку 17,3 трлн записей или данные такого же числа пользователей. Подсчёт включает исторические, дублированные и производные наборы. В метаданных Titan исследователь увидел около 25 тыс. записей об аккаунтах и электронной почте, 17 990 адресов сотрудников и 15 001 запись об организационной структуре. Отдельно школьник проверил доступность аналитики Bing двумя выборками по одной строке и не стал массово выгружать данные.
Значительную часть поиска выполнил созданный Faav ИИ-агент Antares. Система около десяти дней перебирала варианты и разбирала ответы сервера, постепенно проходя проверки Titan. Однако агент продолжал подставлять адреса электронной почты и не догадался, что поле upn может содержать обычное локальное имя. Вариант admin придумал сам школьник, что хорошо показывает нынешнюю границу возможностей автономного агента в пентесте.
Antares обнаружил доступный API 25 августа. Faav подтвердил административный доступ и отправил отчёт в Microsoft Security Response Center 5 сентября. Четыре дня спустя компания закрыла уязвимый API, а 17 сентября выплатила исследователю $5000. После согласования раскрытия Faav опубликовал технический разбор находки.
История Titan показывает, насколько бесполезными становятся дополнительные проверки аутентификации, если система доверяет содержимому токена без проверки его подписи. Сервер тщательно сверял несколько параметров, но атакующий мог самостоятельно записать в те же поля любые значения. Сценарий также оказался показательным для bug bounty: исследователь остановился после подтверждения доступа, сообщил о проблеме и дождался исправления, тогда как преждевременное раскрытие уязвимостей оставляет пользователей без защиты.
Почти такой же класс ошибки уже встречался в 2026 году в библиотеке pac4j-jwt. Из-за неверной обработки неподписанных токенов атакующий мог указать в JWT произвольную роль, включая admin, и пройти аутентификацию без настоящего закрытого ключа.
Microsoft параллельно пытается встроить ИИ глубже в поиск подобных проблем. Весной компания выпустила открытые инструменты RAMPART и Clarity для проверки безопасности ИИ-агентов ещё на этапе проектирования. Случай Titan показывает другую сторону той же тенденции: автоматизация уже способна неделями вести технический поиск, но решающий шаг пока может зависеть от одной человеческой догадки.
