AgentCap Vibe 项目
eBPF 驱动的 AI Agent 行为可观测性监控工具
项目简介
AgentCap 是一款基于 eBPF 技术的开源监控工具,专门用于观测 AI 编程 Agent 在你机器上的一举一动。Claude Code、Cursor、Codex、OpenClaw、Gemini CLI 等主流 Agent 在运行时会产生大量系统调用——执行二进制工具、访问文件、发起网络请求——这些行为大多数对用户不可见。AgentCap 通过 Linux 内核级别的 eBPF 探针,在不修改任何 Agent 代码、不添加任何 SDK 的前提下,完整记录每个 Agent 的活动,并将其以 Prometheus 指标的形式暴露出来,最后通过 Grafana 仪表板直观呈现。它开箱即用,支持十余种主流 Agent,10 分钟内即可完成部署并看到第一份活动仪表板。
核心功能
- 无侵入式监控:无需在 Agent 端安装任何 SDK 或修改配置,直接在内核层面拦截系统调用,现有 Agent 无需重启即可接入监控
- 子进程归属追踪:Agent 调用的 bash、node、curl 等子进程的指标归属于启动它的父 Agent,而非孤立地显示
- 多 Agent 识别:开箱支持 OpenClaw、Claude Code、OpenAI Codex、Gemini CLI、aider、opencode、goose、cline、Continue、Cursor、Qwen Code 等十余种 Agent,可按需添加任意进程名
- DNS 域名追踪:通过 eBPF LSM 钩子拦截 DNS 查询请求,呈现每个 Agent 查询过的域名(仅覆盖直接 DNS 解析路径,DoH/DoT 因技术限制不可见)
- 端口与连接审计:记录每个 Agent 发起的所有网络连接的目标端口,配合域名信息可用于审计"Agent 是否访问了非预期地址"
- 文件访问监控:区分读/写模式,记录每个 Agent 打开过的文件路径,检测是否有文件被意外写入
- CPU、内存、网络 I/O 统计:按 Agent 聚合的 CPU 时间、网络收发字节数和文件读写字节数统计
- Grafana 仪表板:开箱提供完整的 Grafana 仪表板 JSON,一键导入即可看到 Agent 活动的可视化视图
- Docker 一键演示:
make demo启动包含 Prometheus + Grafana + AgentCap 的完整演示环境,无需任何配置
技术实现
AgentCap 的架构分为内核态 BPF 模块和用户态 Collector 两部分:
内核态 BPF 程序(src/bpf/agentcap.bpf.c)通过三种机制挂载:tracepoint(生命周期事件)、LSM 钩子(socket_connect/socket_sendmsg)和 fexit trampoline(实际网络接收字节和文件 I/O)。BPF 程序通过 LPM(最长前缀匹配)字典存储 Agent 进程名列表,确保匹配查找为 O(1) 复杂度,不随 Agent 数量线性增长。
用户态 Collector(Rust 实现)从 BPF ring buffer 读取生命周期事件(fork/exec/exit),从 hash map 读取聚合统计指标(每秒轮询一次),并解析 DNS 域名信息。Collector 通过 yeet 工具链完成 BPF 程序的编译和加载,无需手动处理 CO-RE(Compile Once – Run Everywhere)复杂性。
网络流量归属通过进程树追踪实现:每个被监控的 Agent 进程作为树的根节点,fork/exec 产生的所有子进程自动继承父节点的 agent label,确保 curl、bash、node 等被 Agent 调用的工具的执行记录正确归因。
快速上手
- 安装 yeet 工具链:
curl -fsSL https://yeet.cx | sh(安装 yeet CLI + yeetd 守护进程) - 认证:
yeet login(注册/登录账号) - 验证环境:
yeet status,确保输出Status: Ok. - 启动 AgentCap:
git clone https://github.com/yeet-src/agentcap && cd agentcap make up此命令编译 BPF 程序、加载内核模块,并在
127.0.0.1:9464启动 Prometheus 指标端点 - 导入 Grafana 仪表板:
make wire输出 Prometheus scrape config 和 Grafana dashboard import 步骤 - 一键演示:
make demo启动完整 Docker 环境,在 http://localhost:3000/d/agentcap/agent-activity 查看仪表板 - 停止:
make down
适用人群
- 安全审计团队:需要了解 AI Agent 在企业环境中实际访问了哪些网络地址和文件
- 开发者:想追踪自己的 AI 编程 Agent 调用了哪些工具、产生了多少系统调用
- DevOps 工程师:在 Kubernetes 或物理服务器上运行 AI 编程工具,需要纳入统一可观测性体系
- AI 安全研究人员:采集 Agent 行为数据集,分析行为模式和潜在风险
评论与建议
登录 后参与评论或提建议