内容
凯兰:AI 代理安全平台
<div align="center">
[
[](LICENSE)
[](https://www.python.org/downloads/)
[](https://ebpf.io/)
[](https://csrc.nist.gov/Pubs/FIPS/203/final)
[](https://modelcontextprotocol.io)
**AI 代理行为监控与安全:由 eBPF、本地 AI 和后量子加密技术支持。**
[**快速入门**](#快速入门) · [**AgentBound**](#凯兰-agentbound) · [**架构**](#架构) · [**MCP 插件**](#mcp--claude插件)**](docs/) · [**贡献/CONTRIBUTING.md)
</div>
---
## 什么是凯兰?
凯兰是一个开源的 **AI 代理安全平台**,它完全在您自己的基础设施上运行。它在内核级别监控 AI 代理行为:文件访问、网络连接、进程创建,并标记任何超出代理声明范围的行为。
两层集成:
| 层 | 功能 |
---|
| **凯兰 AgentBound** | e 探针监控正在运行的代理( Code、Cursor、Aider、Codex ...使用本地 LLM 将内核事件与代理声明的意图相关联 |
| **凯兰 | 网络强制ML-KEM-768 后量子握手、XDP 数据包级控制、每个连接的本地 AI 信任评分 |
**没有任何数据离开您的机器。没有 SaaS。默认情况下没有遥测数据。您的密钥,您的资料。**
---
## 凯兰 AgentBound
AgentBound兰的 **仅监控** AI 代理安全层。它实时回答:
> *我的 AI 代理是否正在应该做的事情?*
### 工作原理
```
代理进程(Claude、Cursor、Aider ...)
│
▼ eBPF 探针(openat、execve)
┌───────────────────────────────────────────────┐
│ SentinelDetector │
│ 内核事件 → 类型 + 详细信息 + 时间戳 │
└───────────────────┬───────────────────────────┘
│
┌───────────▼────────────┐
意图 │
│ /proc/<pid>/ │
│ .claude/ CLAUDE.md │
│ → 声明路径 │ → 代理类型 │
└───────────┬────────────┘
│
┌▼────────────┐
│ 性 │
│ 引擎(Oll │
│ 本) │
│ → 是否在范围内?原因 │
│ 置信度 │
└───────────┬────────────┘
│
┌───────────▼────────────┐
│ 哈希链接 JSONL │
│ │
│ + 实时终端表格 │
└────────────────────────```
### 运行
```bash
# 监控所有检测到的代理进程
kelan bound
# 针对特定 PID
kelan bound --pid 4392
# 一次性快照 + 退出
kelan bound --once
# 生成欧盟 AI 法规合规导出
kelan bound --export-com# 选择加入每日统计kelanshare-stats实时输出:PID | 代理类型 最后操作 在范围内? | 原因|-----------------|------------|-------
4392 | cl |:/etc/ssh/config | 否(标记)| 限制敏感路径
4392 | claude-code | network_connect:api.openai.com | 是 | 在声明范围内
事件都追加agentbound_audit.jsonl`,并使用 SHA-256 哈希链接进行篡改检测。
监控内容
| 探针 | 内核钩子 | 捕获内容 |
|---|---|---|
| `` / `open` | 文件访问 | 读取 `~/.ssh/`、 `~/`、 `/etc/shadow`、超出声明范围的路径 |
| `connect` | 网络 | 连接到超出代理声明的网络范围的主机 |
execve` | 进程创建 | 代理未声明进程 |
### 合规导出
```bash
kelan bound --export-compliance → agentbound_compliance_export.json
# → agentbound_compliance_export.md
```
生成一个符合 **欧盟 AI 法规第 12 条** 的文件:监控的总会话、偏差事件分解、哈希链完整性状态和每个类别的统计数据。
---
## 架构
```
┌──────────────────────────────────────────────────────────────────┐
│ 凯兰平台 │
│ │
│ ┌──────────────────────────────────┐ ┌──────────────────────┐ │
│ │ AgentBound 层 │ │ │ │
│ │ │ │ 安全层 ││ │BPF 探针 → SentinelDetector │ │ │ │
│ │ 意图提取器(/proc) │ │ eBPF/XDP 强制执行 │ │
│ │ 混合引擎 │ │ (Rust,行速率) │ │
│ │ 行为索引(可选统计) │ │ │ │
│ │ 合规导出(欧盟 AI 法规) │ │ AI 信任评估器 │ │ MCP 服务器(stdio 传输) │ (Ollama) ││ └──────────────────────────────────┘ │ │ │
│ │ 后量子加密 │
│ 对任何代理公开: │ ML-KEM-768 │ │
│ start_monitoring · get_divergence_events│ Ed25519 · X25519 │ │
│ get_session_summary · stop_monitoring └──────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘
```
**关键属性:**
- **内核级可见性**:eBPF 探针无法被被监控的代理绕过
- **仅本地 AI**:Ollama(gemma3 或兼容)运行在您的机器上;无需外部 API 调用
- **后量子准备就绪**:ML-KEM-768 + Ed25519 + X25519 握手,安全对抗 Harvest-Now-Decrypt-Later 攻击
- **默认仅监控**:AgentBound 永远不会阻止、杀死或限制。先观察。
---
## MCP 与 Claude Code 插件
凯兰 AgentBound 作为一个 **独立的 MCP 服务器**(stdio 传输)提供。任何支持 MCP 的主机都可以无需修改地调用它。
### 在 Claude Code 中安装
```bash
/plugin marketplace add https://github.com/Tanush-Jain/kelan.git
/plugin install kelan-agentbound@kelan-agentbound
```
### 可用的 MCP 工具
| 工具 | 功能 |
|---|---|
| `start_monitoring(agent_pid_or_name)` | 附加 eBPF 探针;返回 `session_id` |
| `get_divergence_events(session_id)` | 返回自上次调用以来的分类事件 |
| `get_session_summary(session_id)` | 会话的聚合统计数据 |
| `stop_monitoring(session_id)` | 拆除探针,关闭会话 |
### 支持的主机
| 主机 | 清单位置 |
|---|---|
| Claude Code | [`kelan-agentbound-plugin/`](kelan-agentbound-plugin/) |
| Gemini CLI | [`gemini-extension.json`](gemini-extension.json) |
| Antigravity | [`plugins/kelan-agentbound/`](plugins/kelan-agentbound/) |
| Grok Build | [`grok-plugin/`](grok-plugin/) |
| ChatGPT / Codex | 参见 [`docs/chatgpt-submission.md`](docs/chatgpt-submission.md) |
所有五个清单都指向同一个 `kelan-agentbound-mcp/server.py` 和 `kelan-agentbound-skill/SKILL.md`:无重复。
---
## 快速入门
### 要求
| 要求 | 版本 | 备注 |
|---|---|---|
| Python | 3.10:3.12 | `brew install python@3.12` |
| Rust | 1.77+ | `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \| sh` |
| Ollama | 最新 | `brew install ollama` |
| Linux 内核 | 5.10+ | eBPF 探针所需 |
### 安装
```bash
git clone https://github.com/Tanush-Jain/kelan.git
cd Kelan
bash install.sh
```
设置 Python 虚拟环境,安装所有依赖项,构建 Rust 组件,并验证 Ollama。
### 配置
```bash
cp .env.example .env
# 编辑 .env:设置 OLLAMA_HOST(如果 Ollama 在不同的机器上运行)
```
### 启动
```bash
bash launch.sh # 开发模式
bash launch.sh --prod # 生产环境(Docker Compose)
bash launchstop # 停止所有
```
核心 API 在 `http://localhost:3000` 启动。 使用 `GET /health` 验证。
---
## 核心网络安全 API
### 健康检查
```http
GET /health
→ { "status": "ok", "version": "2.0.0", "ollama": "connected" }
```
### 信任评估
```http
POST /api/v1/evaluate
Content-Type: application/json
{
"session_id": "abc123",
"client_ip": "10.0.0.5",
"protocol": "tcp",
"payload_hash": "sha256:..."
}
→ {
"trust_score": 0.87,
"decision": "allow",
"reasoning": "Normal behavioral pattern, known session"
完整 API 文档:运行 `bash launch.sh` 并http://localhost:3000/docs`
---
## 仓库结构
```
Kelan/
├── install.sh ← 克隆后一次性运行
├── launch.sh 启动/停止所有内容
├── kelan/ 核心 Python 包
│ ├── agentbound/ ← AgentBound 监控层
│ │ ├── cli.py ← `kelan bound` 入口点
│ │ ├── intent_extractor.py ← /proc 环境 + 范围提取
│ │ ├── behavior_engine.py ← LLM 相关性引擎
│ │ ├── behavior_index.py ← 可选匿名统计
│ │ ├── compliance_export.py ← 欧盟 AI 法规导出
│ │ └── skill_loader.py ← 754 技能安全库加载器
│ ├── sentinel/
│ │ └── detector.py ← eBPF 事件接收器和分类器
│ ├── protocol/ ← 后量子握手(ML-KEM-768)
│ └── ai/ ← Ollama 客户端 + 混合引擎
│
├── kelan-agentbound-mcp/
│ └── server.py ← 独立 MCP 服务器(stdio)
│
├── kelan-agentbound-skill/
│ └── SKILL.md ← 规范代理技能定义
│
├── kelan-agentbound-plugin/ ← Claude Code 插件
│ ├── .claude-plugin/
│ │ ├── plugin.json
│ │ └── marketplace.json
│ └── plugin/
│ ├── skills/ ← 符号链接 → kelan-agentbound-skill/
│ ├── agents/
│ ├── hooks/
│ └── mcp/ ← 符号链接 → kelan-agentbound-mcp/
│
├── plugins/kelan-agentbound/ ← Antigravity 插件
├── gemini-extension.json ← Gemini CLI 扩展
├── grok-plugin/ ← Grok Build 插件
│
├── kelan-ebpf/ ← Rust:XDP/eBPF 内核程序
├── kelan-ebpf-loader/ ← Rust:用户空间 eBPF 加载器
│
├── docs/
│ ├── chatgpt-submission.md ← ChatGPT/Codex 提交指南
│ ├── PRODUCTION_DEPLOYMENT.md
│ └── CONTRIBUTING.md
│
├── docker-compose.yml ← 开发环境
├── docker-compose.prod.yml ← 生产环境
└── .env.example ← 复制到 .env 并配置
```
---
## 攻击模拟
```bash
# 完整套件:端口扫描、SYN 洪水、协议混淆、行为异常
bash scripts/simulate_attacks.sh
# 限流:更容易在日志中观察
bash scripts/simulate_attacks_throttled.sh
```
---
## 安全
发现漏洞? **不要公开问题。**
发送电子邮件至 `kernalsecurity@gmail.com`,内容- 漏洞描述
- 重现步骤
- 潜在影响
我们会在 48 小时内回复并在发布说明中感谢报告者。
所有机密信息必须位于 `.env`(gitignored)。预提交钩子阻止意外提交机密。GitHub Actions 在每次推送时运行 TruffleHog 和 `pip-audit`。
---
## 贡献
参见 [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md) 获取完整指南。
```bash
# 快速版本
git checkout -bour-feature
# 进行更改,添加cargo test # 两
#
```
帮助的领域:
- [ ] Windows / WSL2 支持 AgentBound
- 额外的端(ll,vLL- [ ]行为指标ana 仪表
- [ ] Kubernetes 部署- [ ]的集成测试## 路线图
| 版本目标 | 焦点---|---|---|
|.1 | 2026 年 Q3 | AgentBound MVP:仅监控、MCP 服务器、5 平台分发 |
| v0.2 | 2026 年 Q4 | 代理行为索引公共仪表盘、Kubernetes 操作符 |
| v0.3 | 2027 年 Q1 | GUI 仪表盘、警报集成(PagerDuty、Slack) |
| v1. 2027 年 Q2 | 分布式强制执行网格、LSM |
---
## 许可证
在 License 2.0** 下
版权所有6 Tan:参见 [) 获取<div align="center">
由 [Tanush Jain](https://anush) [kernalsecurity@gmail.com](mailto:kernalsecurity@gmail.com)
⭐ 如果 Kelan 对您有帮助,请给仓库加星:它直接支持该项目
</div>