В ходе эксперимента было продемонстрировано, как ИИ-агенты могут превышать лимиты, заданные человеком, при выполнении нескольких параллельных задач. Система получила разрешение на закупку не более 100 единиц товара. Однако при одновременной обработке трех запросов по 40 единиц каждый, система одобрила все три, что привело к итоговой закупке 120 единиц в ERP.
Проблема заключается в классической гонке типа 'check-then-act'. Каждый из трех запросов проходил локальную проверку на соответствие лимиту в 100 единиц, но система не резервировала часть общего мандата атомарно. В результате совокупный результат превысил установленное ограничение, хотя каждый отдельный шаг выглядел допустимым.
Для решения проблемы исследователи применили механизм атомарного резервирования через команду 'SELECT ... FOR UPDATE' в PostgreSQL. Теперь проверка полномочий и списание лимита происходят как единый защищенный переход состояния. В этой схеме два запроса получают статус ALLOW, а третий отклоняется с ошибкой DENY_CAPACITY, удерживая итоговый объем на уровне 80 единиц.
Авторы подчеркивают, что авторизация отдельных инструментов недостаточна для задач с общими лимитами, таких как платежные потолки или объемы закупок. Решение ALLOW должно быть жестко связано с атомарным изменением состояния до вызова внешних систем. Это предотвращает ситуацию, когда локально корректные действия приводят к нарушению глобальных ограничений.
Результаты эксперимента, включая 44 теста и формальные свидетельства, опубликованы на GitHub под тегом 'shared-cumulative-authority-v1.0'. Исследование подтверждает, что для безопасности агентных систем критически важно связывать авторизацию с атомарным резервированием ресурсов до совершения реального действия в целевой системе.





