
Модель может составить безупречный вызов инструмента и запросить договор из чужого аккаунта. Схема верна, аргумент подходит, но договор принадлежит другому клиенту. Более строгий промпт снизит риск, однако границей авторизации не станет.
Автор собрал экспериментальную Rust-библиотеку TenantInvariant. Модель передаёт только идентификатор ресурса, сервер сам находит владельца в базе и сравнивает его с аккаунтом авторизованного пользователя. Если владельцы различаются или поиск ничего не вернул, вызов блокируется.
Код и сценарные тесты охватывают поддельный идентификатор клиента и пакет ресурсов от разных владельцев. При этом библиотека не заменяет проверку разрешений и запросы с ограничением по клиенту. Для SaaS здесь полезнее самой библиотеки порядок проверок: модель предлагает ресурс, а полномочия определяет сервер.