Token导航 LogoToken导航TokenDH.com
MCP Airlock logo
安全风控stdio官方级别未说明来源级核验

MCP Airlock

MCP Server

MCP Airlock是一个零信任安全网关,通过短期的上下文绑定能力决策和防篡改来源验证,为MCP工具提供安全保障。

工具数

4

提示词数

0

GitHub Stars

1

资源数

0
PythonCursor安全Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lara-muhanna

提供方

lara-muhanna

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m pip install -e .

详细介绍

MCP气闸

![CI](https://github.com/lara-muhanna/mcp-airlock/actions/workflows/ci.yml) ![License: MIT](./LICENSE) ![Python](./pyproject.toml)

MCP工具的零信任安全网关。\ MCP Airlock将每个工具调用都变成了一个短暂的、上下文绑定的能力决策,具有篡改的来源。

为什么存在

代理工具生态系统在一个痛苦的边界上失败了: 从不受信任的提示文本跳到特权工具执行.

目前的模式通常是:

  • 静态排外主义者(agent can call tool X)
  • 弱正则表达式过滤
  • 没有完整性保证的事后日志

当提示注入在会话中期改变意图时,它们会失败,导致无声的特权升级或数据泄露。

MCP Airlock解决了这个问题,它为MCP提供了一个缺失的原语:

  • 能力租赁:短期、已签署、受上下文约束的权利(session + intent + tool scope + constraints)
  • 上下文感知策略:每次通话的动态授权(风险评分+工具约束+租赁检查)
  • 篡改证据来源:在所有允许/拒绝决策中仅附加哈希链

核心创新

上下文约束能力租赁(CBCL)

每次工具调用都是根据签署的租约授权的:

  • 绑定到 session_id
  • 绑定到 intent_hash
  • 适用于特定工具
  • 时间有限
  • 可选约束(例如允许的域、最大风险)

如果提示注入试图改变意图或跳过工具范围,则执行将被拒绝。

建筑

flowchart LR
    A[Agent / MCP Client] -->|tools/call| B[MCP Airlock Server]
    B --> C[Risk Engine]
    B --> D[Capability Verifier]
    B --> E[Policy Engine]
    E -->|allow| F[Tool Adapter Layer]
    E -->|deny| G[Policy Deny Response]
    F --> H[External APIs / Internal Services]
    B --> I[Provenance Ledger Hash Chain]

信任边界

flowchart TB
    subgraph Untrusted
      U1[Prompt Content]
      U2[Agent Reasoning Trace]
    end

    subgraph Trusted Control Plane
      T1[MCP Airlock]
      T2[Policy + Lease Validation]
      T3[Signed Provenance Ledger]
    end

    subgraph External Targets
      X1[Public APIs]
      X2[Internal APIs]
    end

    U1 --> T1
    U2 --> T1
    T1 --> T2
    T2 --> X1
    T2 --> X2
    T1 --> T3

主要特点

  • MCP stdio服务器兼容 initialize, tools/list, tools/call
  • 能力发布工具: airlock_issue_capability
  • 代理/API使用分析工具: airlock_usage_stats
  • API暴露测量工具: airlock_exposure_report
  • 具有每个工具风险阈值的策略执行中间件
  • 快速注射签名评分
  • 抗SSRF HTTP工具适配器(http_get_json)
  • 真实的API集成示例(weather_hourly)
  • 篡改明显来源日志+验证命令
  • 用于代理API安全性的沙盒强化指南
  • CLI用于服务/演示/问题/验证/统计/曝光

2分钟快速入门

git clone https://github.com/lara-muhanna/mcp-airlock
cd mcp-airlock
python -m pip install -e .
python -m mcp_airlock --config examples/airlock.config.json demo

您将看到:

  • 人性化的总结(握手、能力、允许/拒绝、审计完整性)
  • 恶意呼叫被拒绝,原因很简单
  • 签名来源证据

一个命令本地演示(无需安装)

python -m mcp_airlock --config examples/airlock.config.json demo --city Austin --state Texas

对于演示期间的完整JSON有效载荷:

python -m mcp_airlock --config examples/airlock.config.json demo --raw

以MCP服务器运行

python -m mcp_airlock --config examples/airlock.config.json serve

MCP客户端设置示例:

命令行界面

# Issue a capability directly
python -m mcp_airlock --config examples/airlock.config.json issue \
  --session-id sess-123 \
  --subject agent:planner \
  --tools weather_hourly,http_get_json \
  --intent "Plan safe outdoor activities" \
  --ttl-seconds 900 \
  --constraints '{"allowed_domains":["api.open-meteo.com"],"max_risk":0.6}'

# Verify audit integrity
python -m mcp_airlock --config examples/airlock.config.json verify-log

# API usage stats by agent
python -m mcp_airlock --config examples/airlock.config.json stats --lookback-hours 24

# API exposure measurement
python -m mcp_airlock --config examples/airlock.config.json exposure --lookback-hours 24

代理集成示例

运行:

python examples/agent_integration.py

此脚本:

  • 通过stdio启动气闸
  • 协商MCP初始化/列表
  • 签发租约
  • 运行正常的工具调用
  • 运行一个被阻止的注入呼叫

配置模板

examples/airlock.config.json

{
  "secret_key": "dev-secret-change-this-before-production",
  "provenance_log": "./airlock-provenance.log",
  "max_ttl_seconds": 1800,
  "default_risk_threshold": 0.55,
  "tools": {
    "weather_hourly": {
      "require_capability": true,
      "risk_threshold": 0.7
    },
    "http_get_json": {
      "require_capability": true,
      "risk_threshold": 0.45,
      "allowed_domains": ["api.open-meteo.com", "geocoding-api.open-meteo.com"]
    }
  }
}

安全模型摘要

  1. 代理通过以下方式请求租赁 airlock_issue_capability.
  2. 租约已签署HMAC,包括 session, intent_hash, tool_scope, expiry.
  3. tools/call 请求包括 _capability_context.
  4. 气闸强制执行:

- 租约有效期+签名 - 会话和意图连续性 - 风险阈值 - 特定于工具的约束(例如,域分配列表)

  1. 决策+证据被哈希链接到来源日志。

项目结构

mcp-airlock/
  mcp_airlock/
    cli.py
    server.py
    policy.py
    capability.py
    risk.py
    provenance.py
    config.py
    tool_ids.py
    tools/
      http_json.py
      weather.py
  examples/
    airlock.config.json
    agent_integration.py
  docs/
    CLIENT_SETUP.md
    SANDBOXING_AGENTIC_APIS.md

路线图

  • 上游MCP代理模式(透明地封装现有MCP服务器)
  • OPA/Rego政策后端
  • OpenTetry跟踪+SIEM接收器
  • 管理能力经纪人+密钥轮换
  • 已签名的事件响应回放包

社区

许可证

麻省理工学院

目录标签

目录标签

PythonCursor安全零信任安全本地部署上下文绑定能力防篡改来源MCP工具安全网关

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP