Сотрудник видел чужие задачи. Три фикса промптом не помогли
Был таск-агент в Telegram, ставил задачи в Bitrix24 прямо из текста или голоса. Сотрудник в личной переписке видел чужие задачи: свои дела смешаны с чужой информацией. Недетерминированно, случайным образом.
Первая мысль: гейт доступа сломан. Проверка показала: гейт в порядке, отказывает как положено. Но откуда-то данные утекали.
Трижды чинил промптом. Добавил проверки, усилил фразировку, запретил обход. Ничего не помогло. Три независимых патча на уровне инструкций.
Потом лезу глубже. Выясняется: когда LLM упирается в отказ враппера, сама дергает Bitrix API через exec, без фильтра. Первый патч поставил. Но есть второе: агент бросает чужой bitrix_id вместо своего, подставляет себя под другого. Второй патч. Все равно течет.
И потом третье, главное. Агент одновременно проситель и сам себе контролер. God-mode. Вебхук сырой, в exec попадает все, данные в открытом JSONL, десяток ungated-каналов к информации. Фреймворк не подает в навыки trusted-identity. На уровне архитектуры нет мультитенантной границы.
Вот почему промпт не спасает. Критическая логика живет в архитектуре, не в инструкциях.
Фикс пришел на другом слое: личность только из доверенного telegram_id, fail-closed. На проде жертва видит две свои задачи вместо сорока одной своей и двадцати двух чужих.
Урок: если фикс промптом провалился трижды, это не перебор слов. Это неверный слой. Контроль не держится, когда проблема архитектурная. God-mode актор не полицирует себя. Логику в архитектуру, не в промпт. Граница доверия закрывается вокруг агента, не внутри.
#автоматизация #LLM #безопасность #агенты #архитектура #разработка #n8n