EMILIA Protocol MCP Server

официальный

Требует подтверждения от указанного человека с возможностью офлайн-верификации перед тем, как ИИ-агент выполнит необратимое действие — выпуск платежа, изменение записи, развёртывание. Правило двух лиц, доверительные квитанции Ed25519, проект IETF, лицензия Apache-2.0.

Документация

Протокол EMILIA

CI Verify Sample Receipt npm License IETF Internet-Draft Discord


Двигатель без тормозов

Пятьдесят лет безопасность программного обеспечения отвечала на один вопрос: кому разрешено войти? Брандмауэры, OAuth и пароли — всё создано для проверки личности человека на входе.

Эта эпоха заканчивается. Основными пользователями программного обеспечения становятся уже не люди, а автономные ИИ-агенты. Агенты не просто входят в систему — они пишут код, вызывают инструменты и меняют реальность на лету. Каждый CISO знает, что один неудачный промпт может заставить агента стереть боевую базу данных или перевести деньги не на тот счёт. Поэтому они блокируют развёртывание — сидят на миллиардах долларов бюджета на ИИ, которые не могут потратить, потому что их команды по комплаенсу не могут ответить на один вопрос:

Кто одобрил это действие?

Кризис нашего поколения — это не аутентификация. Это авторизация в момент действия: как доказать, что то, что агент собирается сделать, — это именно то, что авторизовал конкретный человек, — до выполнения?

EMILIA — это ремень безопасности для эпохи агентов.

Логи решений — это свидетельские показания. EMILIA создаёт квитанции.


Нет квитанции — нет необратимого действия

Если агент пытается переместить деньги, удалить код, развернуть в продакшене, изменить разрешения или мутировать регулируемое состояние без действительной квитанции EMILIA, инструмент отказывается выполняться — а если выполняется, любой может проверить, кто и что именно авторизовал, офлайн, никому не доверяя.

В этом весь протокол. Клин разработчика — это одна обёртка вокруг необратимого инструмента MCP. Посмотрите вживую, полностью офлайн, без ключа, без аккаунта — каждое демо проходит весь цикл (отказ → конкретный человек подписывает точное действие → инструмент выполняется → поддельная квитанция отклоняется):

node examples/mcp/payment-server.mjs    # release_payment  — refuses without a receipt
node examples/mcp/github-admin.mjs      # delete_repo      — refuses without a receipt
node examples/mcp/prod-deploy.mjs       # deploy_production — refuses without a receipt

Оберните свой диспетчер инструментов в продакшене — смотрите examples/mcp/ и /mcp:

import { withMcpGuard } from '@emilia-protocol/mcp-guard';
const guarded = withMcpGuard(handleTool, {
  annotations: { release_payment: { irreversible: true, action: 'payment.release' } },
}); // missing receipt → refused, never a silent pass

Попробуйте за 30 секунд

# Issue a receipt offline — no API key, no backend needed
npx @emilia-protocol/issue demo
# Add EMILIA to Claude / Cursor / Cline
npx -y @emilia-protocol/mcp-server

Попробуйте реальную подпись через Face ID → Одобрите перевод на $82 000 своим собственным ключом доступа. Посмотрите, как выглядит ПРОВЕРЕНО. Подделайте квитанцию. Посмотрите, как она не пройдёт проверку.

Проверьте любую квитанцию в браузере — вставьте её, ничего не загружается.


Как это работает — четыре акта

EMILIA crash test — an autonomous agent tries to wire $82,000; the policy engine holds it, a named human signs off on their own device, the receipt verifies offline, and a forged copy fails.

Запустите сами: node examples/crash-test.mjs — полностью офлайн, без API-ключа.

  [ INTENT ]          [ DECISION ]           [ CEREMONY ]           [ RECEIPT ]
  Agent calls a     Policy-bound, hash-    Named human signs     Signed, offline-
  tool via MCP   →  pinned: allow /     →  the EXACT action  →  verifiable proof.
                    allow-with-signoff /   on their own          Tamper it:
                    deny  (+observe        device (passkey).      fails by design.
                    mode: zero change      What they saw =
                    to production)         what they signed.

Акт I — Перехват (нативно для MCP). Никаких переписываний. EMILIA перехватывает вызов инструмента на границе Model Context Protocol — в момент, когда агент пытается удалить файл или переместить капитал, действие перехватывается на лету.

Акт II — Решение (привязанное к политике, детерминированное). Действие проверяется на соответствие политике, закреплённой хешем: allow, allow-with-signoff или deny. Плюс режим наблюдения, который ничего не меняет в продакшене и сообщает, что было бы задержано. Детерминированно, аудируемо — не оценка риска в чёрном ящике.

Акт III — Церемония (привязанная к устройству подпись человека). Когда политика требует участия человека, EMILIA выполняет подпись WebAuthn / passkey, привязанную к точному действию — Face ID / Touch ID на собственном устройстве оператора. Что человек увидел, то он и подписал. Никакой скрипт не может это подделать; никакой автономный цикл не может это пропустить.

Акт IV — Квитанция (доказательство). Результатом является подписанная квитанция авторизации, которую любой может проверить офлайн, с помощью открытого исходного кода, без бэкенда, без доверия к вендору. Подделайте её, и проверка провалится по построению. Опционально можно закрепить её для публичной временной метки — ядру не нужен блокчейн.


Почему разработчики это используют

Вам нужны агенты, которые действительно что-то делают, но вас парализуют неконтролируемые циклы, перерасход API и случайное уничтожение данных. EMILIA даёт вам подключаемый MCP-сервер + тонкую обёртку SDK. Примените хеш политики, и необратимые вызовы инструментов получают криптографически защищённый, соответствующий NIST-AI-RMF слой одобрения и доказательств — без необходимости создавать рабочие процессы утверждения или инфраструктуру аудита с нуля.

# langchain-emilia — wrap any LangChain tool with an EP gate
from langchain_emilia import EmiliaGateClient

gate = EmiliaGateClient(base_url="https://www.emiliaprotocol.ai", api_key="...")
safe_tool = gate.wrap(your_destructive_tool)
pip install langchain-emilia   # PyPI
npm install @emilia-protocol/verify  # npm

Ваш агент не может сорваться с поводка.


Почему это нужно предприятиям

Каждый сдвиг платформы создаёт новый примитив безопасности: веб получил SSL, облако — Okta / IAM, экономике агентов нужна доверенность на уровне действий. Предприятия сидят на бюджетах ИИ, которые комплаенс не позволяет им тратить — EMILIA — это ключ, который их открывает, превращая непредсказуемых агентов в готовую к аудиту инфраструктуру, которая примитив за примитивом соответствует NIST AI RMF, EU AI Act и SOC 2 CC6/7.

Управляемый слой (GovGuard / FinGuard) расширяет открытый стандарт отраслевыми пакетами политик, пилотными проектами в режиме наблюдения и готовыми к аудиту пакетами доказательств — для начала не требуется никаких закупок.


Стандарт

EMILIA — это открытый стандарт, а не продуктовая крепость. Ядро выпущено под Apache-2.0 и отслеживается как черновик IETF Internet-Draft.

Черновики IETFОпубликованы: authorization-receipts · quorum. Готовятся в standards/: authorization-evidence-chain (EP-AEC, композиция) · evidence-record (EP-EVIDENCE-RECORD, долгосрочное хранение). Карта области: landscape survey.
Кроссплатформенные верификаторыJavaScript · Python · Go — все три доказанно согласуются на состязательных векторах соответствия, при каждом пуше (npm run conformance). Это планка IETF для настоящего стандарта: несколько независимых совместимых реализаций.
Формальная верификация26 свойств безопасности TLA+ (0 ошибок) · 35 фактов Alloy, 22 утверждения — оба запускаются в CI
Реестры MCPОфициальный реестр MCP · Glama (Grade A, Official badge) · Smithery
ЛицензияApache-2.0

Три независимые реализации доказанно согласуются — смотрите CONFORMANCE.md или проверьте квитанцию самостоятельно на emiliaprotocol.ai/verify.


Стек EP

Eye observes. Handshake verifies. Signoff owns. Commit seals.
СлойЧто он делает
EP EyeНаблюдает и классифицирует поведение агента (OBSERVE → SHADOW → ENFORCE)
EP HandshakeКриптографическая церемония согласия с привязкой по 7 свойствам
EP SignoffИменная ответственность человека — WebAuthn / passkey Class A, привязано к устройству; многосторонний кворум (M-из-N / упорядоченный — правило двух лиц) для действий наивысшей важности
EP CommitАтомарное, неизменяемое завершение действия с квитанциями, связанными в цепочку Меркла

Доказательные пункты

МетрикаЗначение
Автоматизированные тесты4 220 в 173 файлах
Свойства безопасности TLA+26 проверено (T1–T26), 0 ошибок — смотрите PROOF_STATUS.md
Реляционные утверждения Alloy35 фактов + 22 утверждения в двух моделях — проверено в CI
Закаталогизировано кейсов красной команды85 — RED_TEAM_CASES.md
Устранено находок безопасности31
Соответствие (7/7)node conformance/ep-conformance-test.js https://www.emiliaprotocol.ai
Кроссплатформенное соответствие8 наборов — квитанции · подписи с устройств · многосторонний кворум · отзыв · временная аттестация · квитанция доверия · происхождение · запись доказательств — верификаторы JS / Python / Go согласуются (node conformance/run.mjs)
Handshake create p95575 мс при 50 VU — PERFORMANCE_PROOF.md

Основные объекты EP

EP стандартизирует три совместимых объекта, которые любая соответствующая реализация может создавать и проверять:

ОбъектЧто это такое
Квитанция доверия (Trust Receipt)Переносимая, подписанная запись события авторизации — что произошло
Профиль доверия (Trust Profile)Стандартизированная сводка наблюдаемого состояния доверия — что известно
Решение доверия (Trust Decision)Оцененный политикой результат с причинами и путём апелляции — что делать сейчас

Расширения EP (Handshake, Signoff, Commit, Delegation) добавляют более строгое принудительное исполнение там, где системы должны ограничивать выполнение. Продуктовые слои (GovGuard / FinGuard) построены поверх — а не являются самим протоколом.


Быстрый старт за пять вызовов

  1. Создать политику
  2. Инициировать рукопожатие
  3. Представить доказательства
  4. Проверить
  5. Подписать и использовать

90-секундное демо · Быстрый старт · Пошаговое руководство для агента · Черновик IETF · Discord


Что такое EP — и чем он не является

EP — это авторизация в момент действия, а не система идентификации, не кошелёк, не оценка репутации.

  • Является: стандартом доверия для связывания личности действующего, полномочий, политики и точного контекста действия до выполнения
  • Не является: заменой OAuth / OIDC (те отвечают на вопрос кто вы — EP отвечает на вопрос кто одобрил это точное действие)
  • Не является: проприетарным продуктом (ядро под Apache-2.0 и отслеживается IETF)
  • Не является: блокчейном (квитанция — главный герой; опциональная публичная временная метка — это сноска)

Смотрите CONFORMANCE.md · SECURITY.md · THREAT_MODEL.md · GOVERNANCE.md