Пусть ИИ-агенты действуют внутри вашей организации, не получая ключей.
КороткоTunnel Zero-Trust — инфраструктура для ИИ-агентов, которые работают с собственными системами организации. Каждый агент получает собственную идентичность и набор явных возможностей. Его запросы идут через коннектор Tunnel, который отказывает во всём, что не выдано, передаёт значимые действия конкретному человеку через Flamecloak, добавляет настоящие учётные данные только после того, как вызов разрешён, и записывает каждый вызов. Агент никогда не держит учётные данные. Продукт в разработке и пока недоступен.
В разработке. Даты, которую мы могли бы честно назвать, нет, поэтому мы её не называем: оставьте адрес, и мы напишем, когда будет что попробовать.
Агент не владеет доступом. Tunnel выдаёт возможности.
У агента могут быть легитимные учётные данные, и он всё равно может принять неправомерное решение: инъекция в промпт, неверно понятая инструкция или обычная ошибка рассуждения превращают разрешённый доступ в результат, который никто не разрешал. Поэтому агент вообще не получает постоянного доступа.
Собственная идентичность
Каждый агент зарегистрирован отдельно, со своим ключом и с человеком или командой, от имени которых действует. Ключ можно отозвать в любой момент, а запись всегда говорит, какой агент действовал.
Явные возможности
Возможность — это один HTTP-маршрут или один инструмент MCP, и он разрешён, передан человеку или запрещён по условиям, которые пишете вы, например возвраты ниже заданной суммы. Всё, что не выдано, запрещено: по умолчанию ответ — нет.
Учётные данные остаются у Tunnel
Коннектор хранит API-ключи и токены. Агент отправляет запрос без них, а Tunnel добавляет учётные данные после того, как вызов разрешён. Учётные данные, которые агент пытается отправить сам, удаляются.
Человек для значимых действий
Некоторые действия не должны происходить, пока кто-то не скажет «да». Одобрения Flamecloak входят в продукт: вызов ждёт, конкретный человек решает, и только тогда вызов выполняется, один раз.
Только данные, нужные для задачи
Возможность может пропускать только часть полей ответа, например статус клиента и историю заказов без его платёжных данных. Ответ, который нельзя безопасно урезать, отклоняется, а не передаётся целиком.
Лимиты на много вызовов
Правило для одного вызова можно обойти множеством мелких. Возможность может нести и накопительный лимит на агента — число вызовов или сумму в день, — а то, что его превышает, запрещается или передаётся человеку.
Запись каждого вызова
Разрешён, запрещён или решён человеком — каждый вызов записывается с агентом, возможностью и результатом в журнал, связанный цепочкой хешей, который можно проверить. Тела запросов и учётные данные в него никогда не попадают.
Что происходит с одним запросом
В этом порядке, каждый раз.
Агент идентифицирован
Его ключ говорит, что это за агент. Неизвестный или отозванный ключ отклоняется раньше всего остального.
Его собственные учётные данные удалены
Всё, что похоже на учётные данные в запросе агента, вырезается. До ваших систем доходят только те учётные данные, которые хранит Tunnel.
Возможность найдена, или вызов отклонён
Запрос сверяется с тем, что выдано этому агенту. Ничего не подходит — отказ, и причина записана.
Условия читаются из самого запроса
Суммы и идентификаторы берутся из запроса, который Tunnel собирается отправить, а не из того, что агент о нём говорит.
Решает человек, когда этого требует возможность
Вызов ждёт, пока конкретный человек его одобрит или отклонит. Одобряется ровно то, что будет отправлено.
Учётные данные добавлены, вызов выполнен один раз
Tunnel добавляет учётные данные и сам выполняет вызов, ровно один раз.
Ответ урезан, вызов записан
Поля, которые возможность не пропускает, удерживаются, а вызов попадает в запись.
Где это работает
Часть, которая хранит учётные данные, стоит там, где они уже есть. Всё, что делает человек, — в вашем кабинете Tunnel.
В вашей сети
Коннектор работает внутри вашей сети, рядом с системами, которые защищает, как контейнер или служба. Он только подключается наружу, поэтому ему не нужен входящий порт.
Или на стороне Tunnel, для публичных сервисов
Для публичных API, например платёжного провайдера, коннектор может работать у нас, по одному на организацию. Он обращается только к названным вами сервисам по HTTPS и никогда к внутреннему адресу.
Всё, что делает человек, — в кабинете
Регистрация агентов, выдача возможностей, одобрение действий и чтение записи — всё это в вашем аккаунте Tunnel.
Чего Tunnel Zero-Trust не утверждает
Граница держится, только если агент не может её обойти. Машина, на которой работает агент, не должна хранить учётных данных и не должна иметь доступа никуда, кроме коннектора, — это сетевое правило на вашей стороне. Мы выпустим эталонные конфигурации и проверку, которая доказывает это со стороны агента; пока правило не введено, не каждое взаимодействие проходит через границу.
Коннектор видит каждый запрос и ответ, которые через него проходят. В вашей сети он работает на вашем оборудовании, под вашим контролем, а его запись никогда не хранит тела запросов.
Возможность без правила для ответа пропускает ответ целиком. Урезание выбирается для каждой возможности отдельно, а кабинет показывает, у каких его нет.
Он не фильтрует записи по субъекту, например не убирает посторонних клиентов из одного ответа. Это отдельная работа, которая будет сделана, когда её попросят.
Он не судит, прав ли агент. Он решает, куда агент может попасть, по правилам, которые пишете вы; ни модель, ни оценка в этом решении не участвуют.
Купить или попробовать пока нечего, и даты нет.
Что об этом спрашивают
Нужно ли переписывать наших агентов?
Нет. Агент отправляет свои HTTP-запросы и вызовы инструментов MCP на коннектор, а не напрямую в сервис, со своим ключом Tunnel. Больше в нём ничего не меняется, и ему не нужно знать, что Tunnel существует.
Как это связано с Flamecloak?
Flamecloak — слой авторизации действий в Tunnel, и его одобрения включены: возможность, которой нужен человек, использует тех же одобряющих, те же одобрения на телефоне и ту же запись. Второй продукт не нужен.
Где хранятся учётные данные?
В коннекторе, зашифрованные на диске, и больше нигде. Они никогда не отправляются нам, не пишутся в журнал и не показываются снова после ввода. Когда коннектор работает у нас для публичного сервиса, введённое вами значение шифруется в вашем браузере только для этого коннектора, а наши серверы передают лишь то, что не могут прочитать.
Что происходит, если одобрение занимает время?
Коннектор недолго удерживает вызов, чтобы быстрое одобрение пришло в ответ на тот же запрос. После этого он просит агента повторить, и тот же запрос, отправленный снова, находит то же решение, а не открывает новое. После одобрения он выполняется один раз.
Это оценка риска?
Нет. Разрешён вызов, запрещён или передан человеку, определяют условия, которые вы пишете по самому запросу: сумма, счёт, поле. Никакая модель его не оценивает, а запись говорит, какое правило решило.
Когда можно будет пользоваться Tunnel Zero-Trust?
Даты нет, а выдуманная ничего бы вам не дала. Продукт в разработке, у него нет цены и не на что подписываться. Оставьте адрес на этой странице, и мы напишем, когда будет что попробовать.