Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
mcpguard-dynamic — 内核级 eBPF 沙盒,用于保护通过模型上下文协议(MCP)进行的 LLM 代理工具调用。 | Kitploit
工具/GitHubGitHub/facebook/mcpguard-dynamic
防御工具容器安全动态分析 (沙盒)代码分析安全虚拟化入侵检测论文与研究错误配置学习与教育事件响应AI 安全
6898114天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
facebook/mcpguard-dynamic

mcpguard-dynamic

内核级 eBPF 沙盒,用于保护通过模型上下文协议(MCP)进行的 LLM 代理工具调用。

查看仓库

MCPGuard-Dynamic

针对通过模型上下文协议(MCP)发起的 LLM 智能体工具调用,提供内核级沙箱隔离。

MCPGuard 作为 MCP 客户端(智能体 / 运行器)与 MCP 服务器子进程之间的透明代理,对每次工具调用施加三层防御。最底层由 eBPF 实现,在系统调用边界强制执行能力策略,因此恶意 MCP 服务器无法通过在其自身实现中硬编码敏感行为来绕过策略。

本仓库包含代理、eBPF 程序、14 服务器 / 82 用例基准测试,以及配套论文 Kernel-Level Sandboxing for LLM Agent Tool Calls via eBPF 中使用的评估工具链。

架构

层级组件用途
L1proxy/policy_engine.py基于每个工具的 MCP schema 推导出的按服务器能力策略;路径、网络目标、进程、环境变量的允许列表。
L2proxy/argument_validator.py对工具调用参数进行应用层检查:路径规范化、URL 校验、提示注入检测、环境泄露 / 命令注入检测、敏感键扫描、响应净化。
L3ebpf/*.bpf.c + proxy/ebpf_sandbox.py操作系统级强制执行:三个 BPF LSM 程序(file_guard、net_guard、proc_guard)拦截 open() / connect() / execve(),以及一个 tracepoint 程序(fork_guard)通过 sched_process_fork 跟踪子进程,使策略能够跨 fork 传递。

六种可切换的防御配置(proxy/proxy_base.py)覆盖了论文中使用的消融空间:C0(直通)、C-AB(AgentBound 基线)、C-app(L1 + L2)、C-ebpf(仅 L3)、C-full(L1 + L2 + L3)、C-AB+ebpf(AgentBound + L3)。

仓库布局

.
├── proxy/        L1 策略引擎、L2 参数验证器、L3 eBPF 控制器、AgentBound 基线
├── ebpf/         file/net/proc/fork 防护的 BPF C 源码 + Makefile + vmlinux.h
├── policies/     按服务器的 JSON 能力策略(默认值 + 覆盖)
├── servers/      14 个 MCP 服务器:11 个 Python(filesystem、notes、weather、shell、sqlite、git、env + 恶意/木马变体)+ 3 个 JavaScript(servers/js/)
├── test_cases/   跨 7 个类别的 82 个基准场景(file_read、exfiltration、env_leak、sandbox_escape、priv_escalation、cross_language、benign)
├── notes_data/   notes_server 使用的 170 个有效合成笔记 JSON 夹具
├── runner/       evaluate.py、aggregate.py、agentbound_check.py、ebpf_edge_tests.py、latency_benchmark.py、override_workflow.py、smoke_test.py
└── EXECUTION_PLAN.md   分阶段的复现说明

环境要求

  • Linux 内核 6.x,启用 BPF LSM(内核命令行中 CONFIG_BPF_LSM=y、lsm=bpf)
  • clang 21 或更新版本,支持 BPF 目标
  • bpftool,用于加载 BPF 程序和映射
  • Python 3.12(仅标准库——无第三方依赖)
  • Node.js 16+(仅用于 servers/js/ 下的 JavaScript MCP 服务器)

快速开始

# Build the eBPF programs
cd ebpf && make && cd ..

# Smoke test (one server, a handful of cases)
python3 runner/smoke_test.py

# Full benchmark for one configuration
python3 runner/evaluate.py --config C-full --run-id trial

# Aggregate a reproduced run
python3 runner/aggregate.py --run-id trial

# Reproduce the steady-state latency table after installing eBPF
sudo python3 runner/latency_benchmark.py --run-id codex_20260523_latency --iterations 100 --warmup 20

# Reproduce the audit/override workflow
python3 runner/override_workflow.py --run-id codex_20260523_override

# Run focused eBPF edge tests after installing eBPF
sudo python3 runner/ebpf_edge_tests.py --run-id codex_20260523_ebpf_edges

# Run AgentBound-style baseline conformance checks
python3 runner/agentbound_check.py --run-id codex_20260523_agentbound

C-ebpf、C-full 和 C-AB+ebpf 现在在 BPF LSM 程序和固定映射不可用时 会以失败关闭(fail closed)方式处理。请仅在以 root 权限安装 eBPF 层之后 运行它们。

主要结果

针对单次固定运行 codex_20260523_full(14 服务器、82 用例基准测试;这是 fx_r 按类别配置——论文表 1 报告的是 N=5 均值,因此此处 C-app 显示为 13/48,而均值为 12/48)的攻击预防率(APR)、可行攻击 APR(V-APR)和误报率 (FPR):

配置APRV-APR可行攻击拦截FPR
C021.3%0.0%0/480/21
C-AB37.7%20.8%10/480/21
C-app42.6%27.1%13/480/21
C-ebpf60.7%50.0%24/480/21
C-full68.9%60.4%29/480/21
C-AB+ebpf67.2%58.3%28/480/21

APR 包含在 C0 下本质上就会失败的攻击。V-APR 仅使用在 C0 下成功的攻击作为 分母,这是对防御覆盖范围更为保守的度量。

重复的良性调用延迟基准测试存储在内部论文工作区中,路径为 results/latency/codex_20260523_latency.md。它测量 BN-01 (filesystem_server.read_file),每种配置进行 20 次预热调用和 100 次测量 调用;相对于 C0,C-full 增加了 +0.488 ms 的中位延迟,并且对于这个固定的 良性调用,p95 保持在 1.141 ms。公开的 CodeSync 树不包含 results/,因此 外部用户需使用上述命令重新生成此产物。

审计/覆盖工作流存储在内部,路径为 results/audit/codex_20260523_override.md。它演示了良性拒绝如何被记录为 结构化审计事件,并通过在 policies/overrides 兼容布局下添加作用域限定的 操作员覆盖来解决。

聚焦的 eBPF 边界测试存储在内部,路径为 results/ebpf_edges/codex_20260523_ebpf_edges.md。它们涵盖失败关闭的映射 可用性、工作区写入允许行为、目录前缀边界拒绝、/tmp 暂存拒绝以及 localhost 数据外泄拒绝。

AgentBound 风格基线检查存储在内部,路径为 results/agentbound/codex_20260523_agentbound.md。它记录了 C-AB 是按 服务器、应用层的复现,并验证了预期的参数可见覆盖范围和实现隐藏盲点。

威胁模型

MCP 服务器被视为不可信。它可能是良性但配置错误、故意恶意,或者是合法 服务器的木马化分支。智能体 / 运行器和宿主操作系统被视为可信。eBPF 层 假设内核未被攻陷;内核内权限提升(内核模块中的 CWE-269)不在范围内。

引用

论文发表后,将在此处添加 BibTeX 条目。

贡献

参见 CONTRIBUTING.md。所有贡献者必须签署 Meta 的 CLA。

安全

要报告安全问题,请参见 SECURITY.md。请勿为安全报告提交 公开的 GitHub issue。

许可证

MIT——参见 LICENSE。

下载工具