为 AI Agent 提供受限的基础设施访问

让 AI Agent 在真实基础设施上工作,意味着要精确决定它能碰什么。WingGate 提供一条狭窄、可审计的 MCP 通道,而不是把登录凭据交给 Agent:固定的工具集、项目级授权,以及每一次调用的记录。

为什么 Agent 需要受限通道

常见的取巧做法——把 SSH 私钥或跳板机 shell 交给 Agent——等于把该账号能做的一切全部放开,包括横向移动,而且几乎留不下「哪个动作服务于哪个任务」的有效记录。

WingGate 取相反形态:Agent 用项目级 MCP 凭据认证,只能发现其已被授权的项目内资产,并调用一组在项目/资产 MCP 配置中固定、运行期无法放大的工具。

工作方式

  1. 签发凭据

    Owner 或 Admin 在项目中创建 MCP 凭据。bearer 值只在创建时展示一次,之后以哈希形式保存。

  2. 发现入口

    MCP 客户端通过 WingGate API 发现授权资产的连接器 MCP endpoint,从不接触服务的数据面。

  3. 调用固定工具

    客户端连接连接器的 Streamable HTTP ingress,调用项目/资产 MCP 配置允许的工具——一次性非 PTY 的 shell.exec、file 工具组,以及浏览器资产上的浏览器工具。

  4. 逐次审计

    每次 initialize 和工具调用都会连同操作者、资产和结果记入组织审计,便于还原 Agent 做了什么、依据哪条授权。

能力边界

以下限制是实现的固有属性,不是配置层面的承诺:

Agent 能做什么

  • 通过 shell.exec 在已配置的工具集内运行一次性、非交互命令。
  • 在授权资产上通过 file 工具组读取、列出和搜索文件。
  • 资产安装了 Runner 时,使用 typed search(file.find、file.grep)。

Agent 不能做什么

  • 没有交互式 PTY 会话——shell.open 等不属于 MCP surface。
  • 无法提权:Runner 安装使用连接配置用户的缓存目录,从不使用 sudo。
  • 无法无边界扫描:file.find/grep 有硬预算(每次请求最多 10 万个目录项、4,096 个文件、64 MiB 内容),超预算返回明确错误而不是伪造的部分结果。
  • 无法放大授权:MCP 工具由项目/资产 MCP 配置固定,客户端无法扩大。

与「把私钥交给 Agent」的对比

区别在于信任放在哪里、证据留在哪里。

凭据项目级 MCP bearer,可撤销,只展示一次复制进 Agent 上下文的 SSH 私钥
触达范围仅限已授权项目内的资产,再由项目/资产 MCP 配置收窄账号能触达的一切,包括横向移动
能力固定的非 PTY 工具集,带硬性执行预算完整的交互式 shell,账号能跑什么就能跑什么
证据逐次调用审计,关联操作者、资产和授权最多只有目标主机上的 shell 历史

配置 MCP 访问

按配置指南签发凭据并连接客户端,然后在安全页面查看完整授权链。