Кибербезопасность

Когда ИИ-агент выдаёт себя за вас: унаследованные учётные данные смешивают человека и машину

Практическое измерение программного агента, использовавшего учётные данные Azure пользователя, показывает, что система регистрировала его действия от имени самого человека, а набор разрешений варьировался от двух до 107 разрешений в двух производственных хранилищах. Этот случай показывает, что область доступа и аудит могут зависеть от пути подключения и членства в группах сильнее, чем от идентичности, отображаемой в журнале.

2026-10-08
4 мин. чтения
529 просмотров
certi.news Editorial Team
Когда ИИ-агент выдаёт себя за вас: унаследованные учётные данные смешивают человека и машину

Когда ИИ-агент использует учётные данные человека для доступа к базам данных, система не получает скрытую за учётной записью «идентичность агента» — она видит самого пользователя. Таков главный вывод измерения, проведённого Naseeb Ahmed Mian в производственной среде с использованием Azure, Azure CLI и sqlcmd.

В исследуемой конфигурации навыки программного агента подключались к базам данных через команду sqlcmd, используя аутентификацию через Azure CLI. Команда извлекает кэшированный токен доступа после входа пользователя, а затем передаёт его базе данных. В результате подключения отображались под именем пользователя, с именем его устройства и инструментом sqlcmd — независимо от того, написал ли запрос сам пользователь или выполнил его агент.

Журнал аудита видит учётные данные, но не видит намерение

Журнал сеанса показывал имя учётной записи пользователя, имя рабочей станции и клиентский интерфейс, но не содержал поля, отличающего действия, выполненные агентом. Поэтому человеческие и автоматизированные запросы в журнале выглядели одинаково, а последующие средства контроля не могли применять разные ограничения частоты запросов, этапы одобрения или политики хранения в зависимости от источника выполнения.

Проблема не ограничивается расследованиями безопасности. Если позднее, через несколько месяцев, будет оспорен выполненный запрос, журнал не докажет, написал ли его пользователь или запустил автоматизированный инструмент. Он точно связывает действие с учётными данными, но ничего не говорит о намерении и фактическом исполнителе.

Что раскрывает токен доступа?

Переданный Azure CLI токен содержал область user_impersonation, а также утверждение о том, что аутентификация включала многофакторный фактор. На практике каждое действие агента сопровождалось доказательством того, что пользователь прошёл многофакторную аутентификацию, даже если это произошло несколько часов назад и в рамках другой задачи.

Кроме того, срок действия токена, составляющий 84 минуты, не обязательно означает завершение работы агента. CLI автоматически обновляет токен с помощью токена обновления, поэтому автономное выполнение может продолжаться до истечения срока действия токена обновления или отключения учётной записи пользователя.

Членство в группах расширяет картину

Проверка назначений ролей показала лишь одну строку: роль Reader в непродуктивной подписке. Однако токен доступа содержал 37 групп, тогда как запрос прямого членства показал 34 группы с наличием вложенных групп. Среди связанных с доступом групп были такие роли, как средство просмотра баз данных SQL, пользователь с повышенными привилегиями, участник ресурсов и администратор базы данных.

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

Что меняется на практике?

При проверке той же идентичности в двух производственных хранилищах с разницей в один час были получены резко различающиеся результаты. В одном из них идентичность имела только разрешения CONNECT и SELECT и не могла подключиться к защищённому уровню. Другая производственная аналитическая точка показала 430 таблиц и 107 разрешений, включавших чтение, запись, определение схемы и администрирование базы данных.

Сравнение показывает, что область разрешений определяется не только идентичностью: путь доступа, движок и средства контроля, связанные с конечной точкой, также имеют решающее значение. Конечная точка может быть предназначена только для чтения согласно своей документации, однако её правила безопасности не обязательно применяются, когда данные вызываются через другой движок.

Редакционный вывод certi.news: проблема не в том, что у агента «нет идентичности», а в том, что идентичность человека была использована как быстрый заменитель отдельной автоматизированной идентичности. Это даёт сбой в трёх аспектах: атрибуции, расширении разрешений и отзыве доступа. Измерение также показало, что среда, в которой учётные данные имели возможность удаления из защищённой базы данных, была единственной средой без включённого журнала аудита. Открытыми остаются важные вопросы о согласованности членства в группах, сохранении временных разрешений внутри выданных токенов и способности организаций регистрировать намерение выполнения, а не только владельца учётных данных.

Источник новости
The New Stack - Software Development
Открыть первоисточник ↗
c
Автор

certi.news Editorial Team

Что важно знать

Когда ИИ-агент использует учётные данные человека через Azure CLI, его действия отображаются в журналах аудита под именем самого человека, без чёткого различия между действиями человека и автоматизированным выполнением. Кроме того, членство в группах и путь доступа могут расширять фактические разрешения beyond того, что показывают традиционные проверки ролей.

  • Агент использовал токен доступа, извлечённый из сеанса Azure CLI пользователя, поэтому подключения отображались с именем пользователя, его устройством и инструментом sqlcmd.
  • В журнале аудита отсутствовало поле, позволяющее отличить запросы, выполненные агентом, от запросов, написанных пользователем.
  • Токен доступа содержал область user_impersonation и указание на многофакторную аутентификацию; автоматизированная работа могла продолжаться благодаря обновлению токена.
  • Токен показывал 37 групп, тогда как запрос прямого членства отображал 34 группы; среди членств были роли, способные предоставлять широкий доступ к данным.
  • Разрешения различались между двумя производственными хранилищами: от одного лишь CONNECT и SELECT до 107 разрешений, включавших чтение, запись, определение схемы и администрирование базы данных.
  • Это сравнение указывает, что масштаб доступа зависит от пути подключения, механизма и средств контроля конечной точки, а не только от личности пользователя.

Частые вопросы

Как активность агента отображалась в журнале аудита?

Она отображалась под именем того же человека, с именем его устройства и инструментом sqlcmd, без поля, указывающего, что выполнение осуществлял агент.

Соответствует ли срок действия токена доступа продолжительности работы агента?

Не обязательно: указанный срок действия токена составлял 84 минуты, но Azure CLI может обновлять его с помощью токена обновления, что позволяет продолжать работу до истечения срока действия токена обновления или отключения учётной записи.

Почему фактические разрешения могут быть шире, чем показывается при проверке ролей?

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

Были ли разрешения одинаковыми в двух производственных хранилищах?

Нет. В одном доступ ограничивался CONNECT и SELECT, тогда как другая производственная аналитическая точка показала 107 разрешений для 430 таблиц.

В той же категории

Вам также может понравиться

Все новости