KSpread
AI代理的防弹安全。
Kvlar是AI代理的开源策略引擎和运行时安全层。它在执行之前根据基于YAML的安全策略评估每个工具调用、数据访问和操作,确保代理只做他们被允许做的事情。
为什么选择Kvlar?
人工智能代理正在获得执行代码、发送电子邮件、访问数据库以及与生产系统交互的能力。但是代理和它的工具之间没有标准化的安全层。Kvlar填补了这一空白。
- 默认关闭失败 --如果没有匹配的策略规则,则拒绝该操作
- 政策即代码 --在人类可读的YAML中定义安全规则
- 协议本机 --为模型上下文协议(MCP,规范2024-11-05)构建
- 确定性的 --相同的行动+相同的政策=每次都做出相同的决定
- 可审计的 --每个决策都记录了完整的上下文
快速开始
1.构建和安装
git clone https://github.com/kvlar-io/kvlar && cd kvlar
cargo build --release
# Binary at: target/release/kvlar-cli2.初始化策略
# Create ~/.kvlar/policy.yaml from a starter template
kvlar init # default template
kvlar init --template strict # strict (deny-heavy)
kvlar init --template filesystem # filesystem MCP server demo3.包装您的MCP服务器
# Automatically inject Kvlar into Claude Desktop's MCP config
kvlar wrap # auto-detect client
kvlar wrap --dry-run # preview changes first
kvlar wrap --client cursor # target Cursor instead包装后重新启动MCP客户端。现在,每个工具调用都通过Kvlar的策略引擎。
4.测试您的政策
编写一个测试文件来验证您的策略是否按预期运行:
# my-policy.test.yaml
policy: "../policy.yaml"
tests:
- id: deny-bash
action:
resource: bash
expect: deny
rule: deny-shell
- id: allow-read
action:
resource: read_file
expect: allow运行它:
kvlar test -f my-policy.test.yaml # human output
kvlar test -f my-policy.test.yaml --verbose # show passing tests too
kvlar test -f my-policy.test.yaml --json # JSON output for CI5.解开包装(移除Kvlar)
kvlar unwrap # restore original MCP server commands云模式(SHIELD)
将Kvlar连接到 盾牌 用于集中策略管理、实时审计流和人工在环升级审批。
云快速入门
# 1. Get your API key and agent ID from the dashboard
kvlar init --cloud # prints step-by-step setup instructions
# 2. Wrap your MCP servers in cloud mode
kvlar wrap --api-key kvlar_sk_... --agent-id 当云模式处于活动状态时,生成的MCP客户端配置包括您的凭据:
{
"mcpServers": {
"filesystem": {
"command": "/usr/local/bin/kvlar",
"args": [
"proxy", "--stdio",
"--policy", "/Users/you/.kvlar/policy.yaml",
"--api-key", "kvlar_sk_...",
"--agent-id", "",
"--", "npx", "-y", "@modelcontextprotocol/server-filesystem", "/tmp"
]
}
}
}云模式支持什么
| 功能 | 本地模式 | 云模式 |
|---|---|---|
| 政策执行 | ✓ | ✓ |
| 本地审计日志(JSONL) | ✓ | ✓ |
| 集中审计流(RADAR) | -- | ✓ |
| SHIELD升级仪表板 | -- | ✓ |
| 远程策略管理 | -- | ✓ |
云模式的代理标志
kvlar proxy --stdio --policy policy.yaml \
--api-key kvlar_sk_... \ # SHIELD API key (enables cloud mode)
--agent-id \ # Agent ID registered in SHIELD
-- npx my-server访问 App.kvlar.io 管理策略、审查升级和探索审计日志。
CLI命令
| 命令 | 描述 |
|---|---|
kvlar init | 创建启动策略文件(~/.kvlar/policy.yaml) |
kvlar wrap | 将Kvlar代理注入MCP客户端配置 |
kvlar unwrap | 删除Kvlar包装,恢复原始命令 |
kvlar test | 运行策略测试套件 |
kvlar validate | 验证策略YAML文件 |
kvlar evaluate | 根据策略评估单个操作 |
kvlar inspect | 显示策略摘要(规则、效果) |
kvlar schema | 导出JSON模式以进行策略验证 |
kvlar proxy | 启动MCP安全代理(stdio或TCP) |
建筑
Agent ──stdio/TCP──► kvlar-proxy ──stdio/TCP──► MCP Tool Server
│
kvlar-core (policy evaluation)
│
kvlar-audit (structured logging)| 板条箱 | 用途 |
|---|---|
kvlar-core | 策略引擎——纯逻辑,无I/O,完全确定性 |
kvlar-proxy | MCP安全代理--拦截和评估工具调用 |
kvlar-audit | 结构化审计日志记录——JSONL/人工输出 |
kvlar-cli | CLI工具--用于策略管理和代理操作的9个命令 |
MCP兼容性
- 规范版本: 2024-11-05
- 运输:stdio(主),TCP
- 经过测试:Claude Desktop,@modelcontextprotocol/server文件系统
- 协议:JSON-RPC 2.0覆盖换行符分隔的JSON
发展
# Build
cargo build --workspace
# Test (80 tests)
cargo test --workspace
# Lint
cargo clippy --workspace -- -D warnings
# Format
cargo fmt --all许可证
Apache 2.0——请参阅 许可证 了解详情。
