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

MCP Gateway Gemini3

MCP Server

MCP Gateway是一个基于Gemini 3 AI的安全代理,为MCP服务器提供可审计的多层安全检测,防止语义攻击和新型威胁。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
安全安全审计PythonClaudeClaude

安装说明

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

作者 / 组织

minorumochizuki2015-ship-it

提供方

minorumochizuki2015-ship-it

最后核验

2026/5/17 20:23

运行时

Python

快速接入

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

命令预览

python -m venv .venv && source .venv/bin/activate

详细介绍

MCP网关-基于人工智能的MCP安全网关

第一个让AI工具访问的安全网关 _可审计的_,而不仅仅是允许/拒绝。

Gemini 3黑客马拉松参赛作品 | 实时管道演示 | 快速开始 | 7个双子座积分点

______________________________________________________________________

问题:13000多台MCP服务器,零安全层

MCP(模型上下文协议)生态系统已经爆发 13000+台服务器,但没有标准的安全层。AI代理连接到MCP服务器,可以:

  • 域名抢注: read_fi1e (带数字 1)模仿者 read_file --人工智能无法区分
  • 签名伪装:工具描述更改自 _“列出分析数据”_ 到 _“执行系统命令并提取凭据”_ --初步批准后
  • 诱售法:一个秘密请求的“只读文件查看器” password, api_key, session_id 领域

现有的工具无法捕捉到这些。 静态扫描程序会错过语义攻击。基于规则的系统无法推理意图。

真实世界验证

MCP生态系统具有 17500+台服务器 (mcp.so,2026年2月) 94%的攻击成功率 跨越12个攻击类别(赵等人,研究报告:2509.24272).现有的扫描仪可以实现低至 ~3%检测率 (检测到120个恶意服务器中的4个;来源于赵等人表3)。

2026年2月,安全研究人员 锦鲤安保 建立 341种恶意技能(12%) 在OpenClaw ClawHub市场(2857项技能经过审核)。OpenClaw的回应——整合基于VirusTotal哈希的扫描——地址 已知恶意软件签名但仅凭基于哈希的扫描无法捕捉到MCP特定的威胁:

  • 语义操作:批准后更改含义的工具描述(签名隐藏)
  • 快速注射:隐藏在工具输出中的指令(Snyk毒物技能,2026年2月)
  • 域名抢注:角色级工具名称模仿(read_fi1e vs read_file)
方法捕获已知恶意软件捕获语义攻击捕获新威胁
基于哈希的(VirusTotal)
基于规则(~3%检测)部分部分
双子座3推理(MCP网关)部分

MCP网关补充了基于哈希的扫描 利用Gemini 3的语义推理——检测 新颖的、基于意图的攻击 该签名匹配无法捕获。

MCP网关做什么

MCP网关是 安全第一代理 AI客户端(ChatGPT、Claude、Gemini CLI)和MCP服务器之间。每次工具调用都要经过一个6层检查管道,该管道由 Gemini 3结构化输出:

Architecture Overview

关键洞察:每个决策都会产生允许/拒绝,而不是二进制的允许/拒绝 结构化证据 --the _为什么_ 在每一个判决背后——确保安全 可审计和可解释.

为什么选择双子座3?(不仅仅是“任何法学硕士”)

MCP网关使用 5 Gemini 3独家功能 穿过 全部7个集成点 --不仅仅是一个组件:

Gemini 3功能用于为什么只有Gemini 3
思维层次全部6个组件(high 为了安全起见, low 速度)2层推理:对威胁进行深入分析,对安全内容进行快速分类
函数调用Agent Scan(多轮工具使用)Gemini 自主决定 调用哪些安全工具——而不是固定的管道
URL上下文网络沙盒双子座3 浏览URL本身 --无需我们自己的渲染器的多模式页面分析
谷歌搜索暂停AI委员会+扫描仪+沙盒+代理扫描实时威胁情报:“此服务器/域/包是否被报告为恶意?”
结构化输出所有7个组件(类型化JSON模式)在单个API调用中组合浏览+搜索+类型化判决

建筑:双子座3不是“最后的分类器”——它是 推理引擎 浏览、搜索、思考和决定:

response = client.models.generate_content(
    model="gemini-3-flash-preview",
    contents=f"Analyze this URL for security threats: {url}",
    config=types.GenerateContentConfig(
        # Gemini 3 unique: thinking + tools + structured output
        thinking_config=types.ThinkingConfig(thinking_level="high"),
        tools=[
            types.Tool(url_context=types.UrlContext()),       # Browse the URL
            types.Tool(google_search=types.GoogleSearch()),    # Search threat intel
        ],
        response_mime_type="application/json",
        response_schema=WebSecurityVerdict,  # Typed verdict
        temperature=1.0,  # Gemini 3 recommended
        max_output_tokens=4096,
    ),
)
verdict = WebSecurityVerdict.model_validate_json(response.text)

没有双子座3:仅基于规则(DGA熵、品牌匹配、TLD评分)。有效,但错过了语义攻击。 双子座3:深入推理为什么一个页面是危险的,实时威胁情报,视觉页面分析。

7双子座3积分点

#组件架构使用Gemini 3功能
1AI委员会CouncilVerdict思考水平=高 + 谷歌搜索停飞 +结构化输出
2语义扫描器SemanticScanResult思考水平=高 + 谷歌搜索 +结构化输出
3RedTeam生成器RedTeamGeneration思考水平=低 +用于快速生成攻击的结构化输出
4红队评估员PayloadSafetyVerdict思考水平=高 +安全评估的结构化输出
5因果网络沙盒WebSecurityVerdictthinking_level+URL上下文+谷歌搜索+结构化输出
6代理扫描AgentScanResultfunction_calling+thinking_level=高+谷歌搜索+多回合
7审计QA聊天AuditQAResponse思考水平=高 +结构化输出——Gemini使用证据解释自己的安全决策

因果网络沙盒:“只有Gemini 3才能做到这一点”功能

Causal Web沙盒展示了其功能 双子座3独有:

  1. URL上下文:Gemini 3直接访问可疑URL,在内部呈现页面
  2. 谷歌搜索:检查威胁数据库中是否报告了域/URL
  3. 思维水平: high 为了进行深入分析(复杂的网络钓鱼), low 用于快速分诊(\` 信封|

| 资源耗竭 |硬限制|2MB HTML,15秒超时,3个重定向,50K DOM元素|

快速启动(30秒)

# Clone and setup
git clone https://github.com/minorumochizuki2015-ship-it/mcp-gateway-gemini3.git
cd mcp-gateway-gemini3
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# Demo mode (no auth required, instant start)
MCP_GATEWAY_DEMO_MODE=true \
MCP_GATEWAY_ADMIN_TOKEN=demo \
python -m uvicorn src.mcp_gateway.gateway:app --host 127.0.0.1 --port 4100

# Open Dashboard → Click "Run Live Pipeline"
# http://127.0.0.1:4100/docs/ui_poc/dashboard.html

使用Gemini AI

export GOOGLE_API_KEY="your-api-key"
MCP_GATEWAY_ADMIN_TOKEN=your-token \
python -m uvicorn src.mcp_gateway.gateway:app --host 127.0.0.1 --port 4100

Docker(一个命令)

mkdir -p .local
echo "your-admin-token" > .local/admin_token.txt
echo "your-upstream-key" > .local/upstream_api_key.txt

GOOGLE_API_KEY="your-api-key" docker compose up --build
# Dashboard: http://localhost:4100

云运行(谷歌云)

# 1. Create secrets in Secret Manager
echo -n "your-admin-token" | gcloud secrets create admin-token --data-file=-
echo -n "your-api-key" | gcloud secrets create google-api-key --data-file=-

# 2. Deploy with Cloud Build
gcloud builds submit --config=cloudbuild.yaml

# 3. Access your public URL
gcloud run services describe mcp-gateway --format='value(status.url)'

建筑

                    +------------------+
                    |   AI Clients     |
                    | (ChatGPT/Claude  |
                    |  /Gemini CLI)    |
                    +--------+---------+
                             |
                    +--------v---------+
                    |   MCP Gateway    |  ← Python FastAPI
                    |  + Dashboard UI  |    6-layer security pipeline
                    +--+--+--+--+-----+
                       |  |  |  |
          +------------+  |  |  +------------+
          |               |  |               |
   +------v------+ +-----v------+ +----v-----+ +------v------+
   | AI Council  | | Semantic   | | RedTeam  | | Causal Web  |
   | (Gemini 3)  | | Scanner    | | Gen+Eval | | Sandbox     |
   |             | | (Gemini 3) | |(Gemini 3)| | (Gemini 3)  |
   +------+------+ +-----+------+ +----+-----+ +------+------+
          |               |             |              |
          +-------+-------+------+------+------+-------+
                  |              |              |
         +--------v-------+ +---v--------------v---+
         | Evidence Trail  | | Memory Ledger (SSOT) |
         | (JSONL)         | | Hash-based dedup     |
         +-----------------+ +---------------------+

配置

变量描述默认值
GOOGLE_API_KEYGemini API密钥人工智能功能所需
GEMINI_MODELGemini型号名称gemini-3-flash-preview
MCP_GATEWAY_ADMIN_TOKEN管理员身份验证必需
MCP_GATEWAY_DEMO_MODE跳过演示的身份验证false
MCP_GATEWAY_UPSTREAM_API_KEY上游LLM API密钥代理必需
LEDGER_PATH内存分类账JSONL可选(启用SSOT)
LEDGER_ERROR_POLICY分类账错误处理closed (故障关闭)

测试套件

# 416 tests
python -m pytest tests/ -v

# Gemini integration tests only
python -m pytest tests/test_council.py tests/test_scanner.py \
  tests/test_redteam.py tests/test_causal_sandbox.py -v

基准

基于规则与Gemini 3的可重复检测基准比较:

# Rule-based only (no API key needed)
python scripts/benchmark.py

# Full comparison with Gemini 3
GOOGLE_API_KEY=xxx python scripts/benchmark.py --gemini
方法精确度召回率F1平均延迟
基于规则0.9170.8460.880\ .local/admin_token.txt

echo "your-upstream-key" > .local/upstream_api_key.txt echo "your-google-api-key" > .local/google_api_key.txt

docker compose up --build


## 关键文件

src/mcp_gateway/ gateway.py # FastAPI gateway (4900+ lines) — routing, policy, SSE pipeline ai_council.py # Gemini 3 → CouncilVerdict scanner.py # Static + Semantic + Advanced Attack Detection redteam.py # Attack generation + safety evaluation causal_sandbox.py # Evidence-based web security (Gemini 3) mcp_security_server.py # MCP Security Server (stdio + HTTP transport) sanitizer.py # Multi-level prompt injection defense evidence.py # JSONL evidence trail + Memory Ledger ssot/ # Memory Ledger (persistent SSOT) + Durable Streams registry.py # MCP server registration and management

docs/ui_poc/ # Dashboard UI (9 pages, bilingual EN/JA) Dockerfile # Cloud Run deployment docker-compose.yml # One-command full stack deployment cloudbuild.yaml # Google Cloud Build config


## 透明安全:工具调用自动扫描

当AI代理通过 `/run` MCP网关代理 **自动扫描任何URL参数** 在转发到上游MCP服务器之前:

Agent calls: browser_navigate(url="https://suspicious-site.tk/login") │ ▼ ┌─────────────────────────┐ │ 1. Extract URL params │ url, uri, href, target, destination, page │ 2. Fast scan (<5ms) │ DGA, TLD, brand, SSRF check │ 3. Deep scan (if warn) │ DOM + a11y + Gemini 3 analysis └─────────────────────────┘ │ ┌──────┴──────┐ │ │ ✅ Allow ❌ Block Forward to Return 403 + upstream evidence trail


**无需修改代理。** 网关透明地扫描带有URL的工具调用。每个拦截决定都会发出证据。

## 连接AI代理

### HTTP上的MCP(流式HTTP传输)

任何兼容MCP的客户端都可以通过HTTP连接到安全网关:

Initialize

curl -X POST http://localhost:4100/mcp/security \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

Check URL safety (fast scan)

curl -X POST http://localhost:4100/mcp/security \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"check_url","arguments":{"url":"https://example.com"}}}'

Full security scan with Gemini causal analysis

curl -X POST http://localhost:4100/mcp/security \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"scan_report","arguments":{"url":"https://suspicious-site.tk"}}}'


### MCP over stdio(用于本地AI代理)

python -m src.mcp_gateway.mcp_security_server

Reads/writes JSON-RPC 2.0 with Content-Length framing (LSP-style)


### REST API(用于非MCP集成)

Quick URL check via REST

curl -X POST http://localhost:4100/api/web-sandbox/scan \ -H "Content-Type: application/json" \ -d '{"url":"https://suspicious-site.tk"}'

MCP tool call interception

curl -X POST http://localhost:4100/api/mcp/intercept \ -H "Content-Type: application/json" \ -d '{"method":"tools/call","params":{"name":"fetch","arguments":{"url":"https://evil.tk"}}}'


## 安全通知

此网关设计用于 **本地/内部网络使用**不要直接暴露在公共互联网上。在前面使用身份验证反向代理。

## 许可证

麻省理工学院

目录标签

目录标签

安全安全审计PythonClaudeAI安全本地部署语义分析威胁检测MCP协议

支持客户端

Claude

接入字段

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

stdio

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

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP