Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

SAM: защищенная P2P-сеть для автономных ИИ-агентов

SAM: защищенная P2P-сеть для автономных ИИ-агентов

Что такое Sovereign Agent Mesh и какую проблему он решает

Проект sam от Google не имеет отношения к инструменту Segment Anything. Аббревиатура SAM здесь расшифровывается как Sovereign Agent Mesh — это сетевой проект с открытым исходным кодом под лицензией Apache-2.0, предназначенный для автономных ИИ-агентов. Стоящая перед ним задача предельно конкретна. Современные агенты функционируют на самых разных платформах: в облачных серверах, локальных дата-центрах, на ноутбуках, миникомпьютерах Raspberry Pi и мобильных устройствах под управлением Android. Обеспечение совместного использования инструментов агентами обычно требует выставления внутренних скриптов, конечных точек LLM или частных API в публичный интернет. Альтернатива от SAM представляет собой одноранговую оверлейную сеть (P2P) с нулевой конфигурацией и нулевым доверием. По своей сути это решение ближе к частному VPN, но сфокусированное конкретно на обмене инструментами между агентами через протокол Model Context Protocol (MCP). Узлы находят друг друга в автоматическом режиме, успешно преодолевают NAT и выполняют криптографическую авторизацию каждого вызова. Важная оговорка: в репозитории содержится явный отказ от ответственности, указывающий, что данный продукт не поддерживается компанией Google официально.

Пригодно ли решение к развертыванию? Частично: инженерная база выполнена на производственном уровне, однако публичная сеть пока имеет статус бета-тестнета. На текущий момент разработчикам доступны исполняемые файлы на Go, установочный скрипт, Docker-образы в реестре ghcr.io, чарт Helm acharts/sam-mesh, руководство по развертыванию в production-среде Kubernetes, а также поддержка мобильных платформ Android и iOS. Публичная тестовая сеть доступна по адресу bananas.sam-mesh.dev. Для реальных рабочих нагрузок рекомендуется развертывать собственную плоскость управления (control plane). В документации этот подход называется «режимом самостоятельной сборки» (DIY Mode) и рассматривается как оптимальный путь к полноценному контролю над данными и политиками доступа.

На корпоративном уровне проект лучше всего подходит для организаций среднего бизнеса и крупных инженерных команд, запускающих агентов через несколько сетевых границ. Стартапам, работающим внутри одного виртуального приватного облака (VPC), это приносит меньше пользы, но ценность резко возрастает, как только агенты начинают охватывать облака, дата-центры и персональные устройства.

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

Архитектурное устройство: три ключевых бинарных файла

Инфраструктурная часть проекта строится на базе трех основных компонентов:

  • sam-control-plane — отвечает за регистрацию идентификационных данных, выпуск токенов и распространение политик безопасности.
  • sam-router — точки загрузки bootstrap для libp2p и маршрутизационные оверлеи GossipSub.
  • sam-node — P2P-клиент, обеспечивающий транспортный уровень сети, самовосстанавливающееся соединение и локальный HTTP-интерфейс MCP.

Узел присоединяется к сети с помощью команды sam-node join, после чего запускается через sam-node run. Транспортный протокол libp2p задействует порты 5001/udp и 5002/tcp, тогда как локальный API MCP по умолчанию использует порт 8080.

Идентификация: от OIDC к токенам Biscuit

Этот аспект заслуживает отдельного внимания. Плоскость управления проверяет входящий JSON Web Token (JWT) протокола OIDC. Затем она транслирует полученные утверждения (claims) в факты Datalog и упаковывает их в криптографически защищенный токен Biscuit. Поле sub преобразуется в факт user(...), каждая группа трансформируется в group(...), а идентификатор узла (peer ID) привязывается через client_peer_id(...).

Следствием такого подхода становится возможность автономной авторизации узлов в офлайн-режиме. Узел самостоятельно оценивает предъявленный токен на основе локальных правил без необходимости обращаться к серверу. Политика безопасности строится на строгом принципе запрета по умолчанию (default-deny). Для доступа требуется явный факт наличия полномочий, например granted_service_exact(...). Встроенные исключения отсутствуют: даже системный каталог обнаружения system://sam.catalog должен быть явно разрешен.

Для сервисов применяется строгий формат наименования type://name с поддержкой подстановочных знаков, таких как mcp://* или mcp://build-runner.*. Каждый запрос проходит двухэтапный конвейер проверки. На первом этапе соединение фильтруется по кэшам заблокированных и отозванных токенов. На втором этапе выполняются ровно два прохода авторизатора Biscuit. Первый проход анализирует собственный токен идентичности узла для генерации целевых утверждений target_fact, второй проверяет токен вызывающей стороны. Базовая проверка предотвращает атаки повторного воспроизведения (replay), требуя совпадения идентификатора узла связи с токеном. Операторы могут настраивать локальные ограничения — например, запрещать инструменты записи после 21:00 или ограничивать доступ для подрядчиков. При этом локальные разрешения не могут обойти ограничения плоскости управления.

Практическое применение и взаимодействие с агентами

Узел предоставляет стандартные инструменты MCP: discover_remote_services, find_remote_tools и call_remote_tool. Существующие руководства охватывают интеграцию с Gemini, Claude Code, Claude Desktop, Google Antigravity и OpenClaw. Команда sam-node skill install автоматически записывает файл SKILL.md, чтобы агент мог самостоятельно переводить узел в рабочее состояние, в то время как процедура авторизации и входа в систему разработчики намеренно оставили за человеком.

Контроль исходящего трафика: sam-box и nano-init

Защищенный шлюз исходящего трафика (Secure Outbound Gateway) решает реальную проблему безопасности агентов. Компонент nano-init запускается в качестве процесса PID 1 внутри изолированной среды (песочницы) и настраивает переменные окружения для прокси. Для утилит, которые игнорируют эти переменные, он использует механизм LD_PRELOAD для перехвата системного вызова C connect() на портах 80 и 443. Сетевой трафик направляется в sam-box через доменный сокет Unix. Шлюз проверяет токен Biscuit, внедряет реальные учетные данные из файла secrets.yaml и модернизирует запрос до защищенного протокола HTTPS. Сама изолированная среда агента никогда не получает доступа к закрытым ключам.

Типовой паттерн: пул прогретых агентов

Пример пула код-ревьюеров распределяет пакетную работу по одинаковым запущенным воркерам с использованием обычных сервисов MCP. Менеджер обнаруживает коллег через DHT-происхождение и отслеживает состояние занятости с помощью механизма аренды (leases). Корректность работы достигается за счет синхронного назначения аренды, токенов защиты от устаревания (fencing tokens), механизма плавной эвакуации и предохранителя POOL_BUSY. Воркеры выполняют офлайн-проверку краткосрочного HMAC-токена; в противном случае возвращается статус NO_LEASE.

Ключевые выводы

  • SAM — это Sovereign Agent Mesh, одноранговая P2P-оверлейная сеть под лицензией Apache-2.0, а не Segment Anything.
  • Архитектура включает три бинарных файла: плоскость управления для идентификации и политик, маршрутизаторы для транспорта libp2p и узлы для MCP.
  • Утверждения OIDC переводятся в факты Datalog Biscuit, что позволяет узлам проводить авторизацию без подключения к сети.
  • Принцип запрета по умолчанию действует безусловно: даже для каталога обнаружения требуется явное разрешение.
  • Для производственного использования необходимо самостоятельно разворачивать плоскость управления, так как публичная сеть функционирует как бета-тестнет.

Источник: marktechpost.com

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

01.
На платформе MonsterInsights