Cordum:AI Agent 的"防火墙",让失控的 Agent 乖乖听话
图1:Cordum 项目 Logo —— 一道横亘在 AI Agent 与危险操作之间的策略防线
场景切入:当你的 AI 助手准备删库跑路……
凌晨三点,你的开发团队正在赶一个重要项目的上线节点。Claude Code 正在自动修复 Bug,它调用了数据库删除命令,准备清理测试残留数据。
然而,它搞混了环境:当前终端连接的是生产数据库,而非测试库。
如果没有 Cordum,这条命令将直接被执行,灾难性数据丢失就此发生。
有了 Cordum,Safety Kernel 在命令执行前的一瞬间介入了:它对照策略规则,发现这是一条高危操作,需要人类审批。CLI 弹出一个红色告警,要求你确认是否继续。你点击拒绝,命令被拦截。数据库安然无恙。
这不是假设。这是 Cordum 实际要解决的问题。
背景:企业 AI Agent 狂飙,治理却严重缺位
2025 年,Gartner 发布报告:74% 的企业将 AI Agent 视为新型攻击向量,超过 40% 的 Agentic AI 项目将因风控缺失而被叫停。
根本矛盾在于:企业要么把 Agent 限制在只读的简单任务中(白白浪费了自动化价值),要么放手让 Agent 执行高风险操作(承担数据泄露、系统破坏的巨大风险)。
Cordum 创始人 Yaron T(一位 DevOps 工程师)在 Hacker News 上分享了他的动机:"每个人都在建 Agent,但没有人愿意给它们生产系统的写权限。"他花了 6 个月业余时间,造出了 Cordum 这个 Agent 治理层。
核心定位:控制平面,而非 Agent 框架
Cordum 的文档开篇就明确划清了边界:Cordum 是控制平面,不是 Agent 框架。它不替代 LangChain、CrewAI 或任何主流 Agent 开发框架——相反,它站在这些框架的上游,对每一个即将执行的操作进行政策审查。
这意味着:团队可以在熟悉的框架中继续开发 Agent,而 Cordum 在后台默默守护。
核心架构围绕 CAP v2(Cordum Agent Protocol) 协议展开,这是一个公开的 Wire Protocol,定义了控制平面与 Worker 之间的所有通信格式。即使不用 Cordum 的 SDK,任何人都可以基于 CAP v2 实现自己的治理层。
技术架构:7 大组件协同
Cordum 平台的完整堆栈包含以下核心组件:
1. Safety Kernel(策略决策核心)
这是 Cordum 的灵魂。它是一个 gRPC 策略服务,在操作被调度之前进行评估,返回四种判定结果:
- ALLOW:安全操作,直接放行
- DENY:危险操作,直接拦截,不执行
- REQUIRE_APPROVAL:需要人工审批
- ALLOW_WITH_CONSTRAINTS:带限制条件放行(如限制执行时间、限制文件修改范围)
Safety Kernel 不仅仅是一个 Allow/Deny 开关。它还能返回结构化的约束条件(BudgetConstraints、SandboxProfile、ToolchainConstraints、DiffConstraints),让 Agent 在被允许的边界内执行操作。
2. API Gateway(入口网关)
HTTP/WS/gRPC 统一入口,负责接收外部请求、将上下文写入 Redis、通过 NATS 发送消息。网关同时处理认证(支持 OIDC/SAML/OAuth2),是整个平台的流量入口。
3. Scheduler(智能调度器)
订阅 NATS 总线消息,检查 Safety Kernel 策略后路由任务到对应 Worker 池。它不需要维护持久的 Worker 数据库,而是通过 Worker 发来的**心跳(Heartbeat)**动态维护内存中的注册表(TTL 默认 30 秒),实现无状态的容量感知路由。
4. Workflow Engine(DAG 工作流引擎)
支持复杂多步工作流,包含 Worker 步骤、审批步骤、延迟步骤、通知步骤和条件步骤。DAG 执行引擎可以协调多个 Agent 协同工作,同时保持治理策略的一致性。
5. Context Engine(上下文引擎)
管理 Agent 的上下文窗口状态,存储在 TLS 加密的 Redis 中,支持多租户隔离。它确保 Agent 在长对话中的上下文不会泄漏到其他租户。
6. Cordum Edge(Claude Code 的本地合规防火墙)
这是 Cordum 对个人开发者最有价值的组件。它是一个 Claude Code 的 Hook 进程,在本地终端拦截工具调用:危险文件操作直接 DENY,写/编辑操作要求人工审批,读取敏感文件拒绝并记录,安全读取直接放行。同时将所有操作以脱敏的证据包形式导出到审计日志,解决了"本地开发环境是否也需要治理"的盲区。
7. MCP 协议支持(Model Context Protocol)
Cordum 原生支持 MCP,既可以管理 MCP Server,也可以作为 MCP Client 连接到外部 MCP 服务商。Edge 组件中包含 MCP 上游 DNS 验证和 SSRF 防护逻辑。
代码结构:高度模块化的 Go 微服务
Cordum 采用 Go 语言开发(要求 Go 1.25+),项目结构清晰,cmd/ 下包含 10+ 个微服务入口:API Gateway、Scheduler、Safety Kernel、Workflow Engine、Context Engine、Agentd(Edge 守护进程)、Claude Code Wrapper、CLI 管理工具等。core/ 下是核心业务逻辑,包含 edge、safety、policy、workflow、audit、auth、mcp、governance、protocol 等模块。sdk/ 提供 Go、Python、TypeScript 多语言 SDK。
技术栈亮点:NATS 消息总线(支持 JetStream 持久化)、Redis 7(TLS 加密)、多阶段 Dockerfile + BuildKit 优化、OpenTelemetry 全链路追踪、Prometheus 指标、OIDC v3 + SAML 2.0 + JWT 企业级认证。
快速上手:一行命令启动完整平台
git clone https://github.com/cordum-io/cordum.git
cd cordum
./tools/scripts/quickstart.sh
前置条件:Docker Desktop v4+(或 Engine v20.10+ + Compose v2,内存 ≥4GB)+ Go 1.24+ + curl。
启动完成后,Dashboard 位于 http://localhost:8082(默认账号 admin / ChangeMe123!),API Gateway 位于 http://localhost:8081(凭证在 .env 文件中)。自动生成 TLS 证书和 Redis 密码,执行冒烟测试验证审批工作流。
争议与局限
BUSL-1.1 许可证的双刃剑
Cordum 采用 Business Source License 1.1,4 年后转为 Apache 2.0。开发/测试/内部使用免费,但商业生产使用需购买许可证。对个人开发者和初创团队友好,但企业在大规模部署前需要评估许可证成本。
与 Agent 框架的深度集成尚不完善
目前 Cordum 主要适配 Claude Code 和 MCP 生态。对 LangChain、CrewAI 等框架的适配依赖社区贡献的 adapter,生产级集成需自行验证。
平台复杂度不容忽视
7 个微服务 + NATS + Redis + TLS + Kubernetes,对于小团队来说运维负担较重。Quickstart 降低了本地体验门槛,但生产高可用部署需要足够的云原生经验。
行业意义:Agent 失控治理的开山之作
Cordum 的出现填补了一个关键空白:AI Agent 执行层的事前治理。与微软的 Agent 365(面向 Microsoft 365 生态的 Agent 控制平面)相比,Cordum 的优势在于:完全自托管(不绑定任何云平台)、CAP v2 开放协议(打破厂商锁定)、本地 Edge 组件(覆盖开发者终端这个传统治理盲区)。
随着 AI Agent 在企业中的普及,从"演示"走向"生产"的路径上,治理将成为刚需。Cordum 正在解决这个核心矛盾——它不是阻止 Agent 做事,而是确保 Agent 在正确的边界内做事。
项目类型:AI Agent 治理控制平面
语言:Go
Star:490
许可证:BUSL-1.1
官网:cordum.io