yogami/aegismcp

GitHub: yogami/aegismcp

AegisMCP 通过操作系统级沙箱封装 stdio MCP 服务器,拦截 JSON-RPC 通信并强制执行文件和网络访问策略,防御 prompt 注入导致的数据泄露。

Stars: 0 | Forks: 0

# 🛡️ AegisMCP **用于 Model Context Protocol 的内核级安全守护进程** *拦截 stdio JSON-RPC • 执行 OS 级别沙箱化 • 阻断 prompt 注入的数据外泄* [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/1a604c846a181425.svg)](https://github.com/yogami/aegismcp/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
## 问题:stdio 安全危机 Anthropic 的 **Model Context Protocol (MCP)** 已成为将 LLM 连接到本地工具的标准。大多数集成(Cursor、Claude Desktop、CLI 运行时)使用 **stdio 传输** —— 将工具服务器作为子进程启动,并通过 `stdin`/`stdout` 传输 JSON-RPC。 由于 stdio 不经过网络栈,**传统的防火墙和 API 网关对其完全不可见**。遭到 prompt 注入的 agent 可以: 1. 通过文件系统 MCP 服务器读取 `~/.ssh/id_rsa` 2. 通过网络 MCP 服务器将内容 POST 到 `evil-webhook.com` 3. 所有这一切都在子进程管道中无形地发生 ## 解决方案 AegisMCP 通过 **OS 级别的沙箱化** 封装任何 stdio MCP 服务器: ``` ┌─────────────────┐ stdio ┌──────────────┐ stdio ┌────────────────┐ │ MCP Client │◄──────────►│ AegisMCP │◄──────────►│ MCP Server │ │ (Cursor/Claude) │ │ (Wrapper) │ │ (Subprocess) │ └─────────────────┘ └──────┬───────┘ └───────┬────────┘ │ │ Policy Engine OS Sandbox Enforced JSON-RPC Intercept ├─ macOS: sandbox-exec Audit Logging ├─ Linux: Landlock LSM └─ Linux: seccomp-BPF ``` ## 快速开始 ``` # 安装 cargo install aegismcp # 使用对 /workspace 的只读访问权限封装 MCP filesystem server aegismcp --allow-read '/workspace/*' --deny-net-all -- \ npx @modelcontextprotocol/server-filesystem /workspace # 使用 policy 文件 aegismcp --policy policies/filesystem.json -- \ npx @modelcontextprotocol/server-filesystem /workspace ``` ## 许可证 MIT —— 详见 [许可证](LICENSE)。
标签:Docker镜像, MCP, 可视化界面, 沙箱, 系统守护进程, 通知系统