ИИ-агент обнаружил критический обход OTP в продакшене страховщика

ИИ-агент компании Reflectiz обнаружил критическую уязвимость аутентификации на производственном сайте крупного страховщика с миллионами пользователей. В ходе санкционированной проверки система смогла запросить одноразовый код входа и направить его на контролируемый ею почтовый ящик, после чего успешно вошла в учётную запись.
Как работал обход одноразового кода
Проблема заключалась в запросе на отправку OTP. В нём присутствовали два параметра: канал доставки и адрес получателя. В штатном сценарии код отправлялся SMS-сообщением на телефон, связанный с аккаунтом клиента.
Однако канал можно было переключить на электронную почту, а в поле адреса указать произвольный ящик. Сервер отправлял код на этот адрес и не проверял, принадлежит ли он владельцу учётной записи. При наличии требуемых идентификаторов клиента атакующий потенциально мог получить доступ к его аккаунту.
Такой контроль считается базовым для механизмов аутентификации: одноразовый код подтверждает личность только тогда, когда доставляется на заранее привязанный к пользователю канал. В руководстве OWASP по тестированию отдельно поставлен вопрос о том, связаны ли OTP с корректной учётной записью.
Почему требовалась проверка в рабочем сценарии
Reflectiz сообщает, что агент начал с разведки: изучил JavaScript сайта и API-вызовы, которые выполняют страницы. Это позволило выделить параметры, предположительно управлявшие способом и адресом доставки кода.
Одних подозрительных полей в запросе недостаточно для подтверждения уязвимости: сервер мог отклонить изменённые значения или заблокировать вход на следующем этапе. Поэтому агент сформировал целевую проверку, выполнил её в реальном процессе авторизации и подтвердил обход. После успешного входа встроенные ограничения остановили тест, а компания уведомила страховщика.
Контекст для регулярного тестирования
Компания отмечает, что её система использует накопленный контекст авторизованных веб-сценариев: она управляет реальным браузером, проходит многошаговые процессы, включая OTP и двухфакторную аутентификацию. Это важно для проверки логики, которая находится за экраном входа и недоступна обычному неавторизованному сканированию.
Для каждого предполагаемого дефекта отдельный агент-валидатор воспроизводит проверку с тем же полезным содержимым запроса и контекстом до подготовки отчёта. Параллельно формируется запись покрытия: какие тесты запускались, каковы результаты и какие исключения были заданы.
Страховщик сообщил, что сайт проходил пентест примерно за шесть месяцев до этой оценки, при этом неизвестно, когда появилась слабость. Для бизнеса практический вывод состоит в том, чтобы проверять связку OTP с конкретным аккаунтом и всеми разрешёнными каналами доставки, а также повторять проверки авторизованных сценариев после изменений сайта.

