MakerChecker

开源 AI Agent 安全网关——默认拒绝 + 人工审批 + 加密审计日志,在 Agent 每次操作前进行安全检查,可编程的安全门控

📅 收录: 2026-07-09 🔄 更新: 2026-07-09

这是什么

MakerChecker 是开源 AI Agent 安全网关——在 Agent 每次操作前进行安全检查,实现可编程的安全门控。类似「Agent 防火墙」:Agent 只能执行被授予权限的操作,高危操作强制人工审批,所有决策记录到加密签名的不可篡改审计日志。

适合人群:在生产环境中运行 AI Agent 的团队,需要 Agent 安全审计、权限控制、合规监管的 DevOps/SRE/安全工程师。前提是熟悉 Node.js 和 Docker。

快速上手

1. 准备工作

  • Node.js 18+
  • Docker(可选,用于自托管服务端)
  • 了解 AI Agent 框架(LangChain / Claude SDK / CrewAI)

2. 一键扫描你的 Agent 代码

无需安装,一行命令扫描你的 Agent 代码,找出所有危险操作:

npx @makerchecker/scan .

它会标记所有高风险操作——删除数据、转账、执行 shell 命令、泄露密钥——并对标真实安全事故命名,还可以用 --fix 自动生成治理代码。

3. 嵌入 Agent 代码

npm i @makerchecker/embedded
import { createGovernor, GovernanceDeniedError } from "@makerchecker/embedded";

const gov = createGovernor()
  .defineSkill("place-order@1", { riskTier: "high" })
  .defineRole("agent")
  .defineRole("risk-desk")
  .grant("risk-desk", "place-order@1")   // Agent 未被授权——默认拒绝
  .defineAgent("trader", "agent");

// 包装工具。Agent 结构化地无法执行它。
const placeOrder = gov.governedTool("trader", "place-order@1", (order) => broker.submit(order));

try {
  await placeOrder({ symbol: "BTC", qty: 10 });
} catch (err) {
  if (err instanceof GovernanceDeniedError) console.log(err.code); // "skill_not_granted"
}

4. 启动自托管服务端(可选)

需要集中管理多 Agent 权限、人工审批收件箱和审计控制台时:

docker compose up

启动后 localhost:3000 提供 API,Postgres 存储审计日志。每条决策 Ed25519 签名 + 哈希链——修改任何一行验证即失败。导出 bundle 可离线验证。

核心功能

  • 默认拒绝(Deny-by-Default):Agent 只能执行被明确授予的操作
  • 角色权限控制(RBAC):定义角色、技能、授权关系
  • 人工审批(Human-in-the-Loop):高危操作需独立审批人签字,Agent 不能自己批准自己
  • 加密审计日志:Ed25519 签名 + SHA-256 哈希链,离线可验证
  • 多框架集成:LangChain / Claude Agent SDK / CrewAI / TypeScript SDK / Python SDK
  • 代码扫描:npx 一行命令扫描所有 Agent 危险操作

常见踩坑

  1. 审批人分离:Agent 和审批人必须使用不同角色。如果 Agent 尝试批准自己的操作,服务端返回 403。配置时确保 grant() 给独立角色。

  2. 扫描不修改代码:npx @makerchecker/scan 默认只扫描不修改。需要 --fix 才会自动生成治理代码。

  3. Docker 依赖:服务端需要 Docker 运行 Postgres。如果已有 Postgres 实例,可以修改 docker-compose.yml 连接外部数据库。

  4. 许可证分层:客户端库(embedded、SDK、connectors)Apache-2.0 可闭源商用。服务端 AGPL-3.0,商业闭源需联系 hello@makerchecker.ai。

  5. 性能开销:每次工具调用经过治理检查增加约 10-50ms 延迟。高吞吐场景建议使用嵌入式模式而非服务端代理模式。

常见问题 FAQ

Q1: MakerChecker 和 AgentOps 有什么区别?

A: AgentOps 侧重监控和可观测性(观察 Agent 做了什么)。MakerChecker 是主动拦截——在操作执行前检查权限,拒绝未授权操作。两者互补:AgentOps 观察 + MakerChecker 拦截。

Q2: 需要改现有 Agent 代码吗?

A: 需要少量集成代码(包装工具调用),但不需要重写 Agent 逻辑。嵌入式模式只需 governedTool() 包装现有工具函数。

Q3: 支持哪些 Agent 框架?

A: LangChain、Claude Agent SDK、CrewAI 有官方 connector。其他框架可用 TypeScript SDK 或 Python SDK 直接集成。

Q4: 审计日志离线验证怎么用?

A: 导出审计 bundle 后,用 npx @makerchecker/proof-verifier verify bundle.json 离线验证。不需要数据库,不需要信任生成过程。

Q5: 适合什么规模的团队?

A: 小团队用嵌入式模式(npm install 即可)。多 Agent 多团队场景用自托管服务端(Docker compose up)。Kubernetes 部署有 Helm chart。

参考链接

📊 评分与标签

核验口径:已按现行口径通过,待按新证据契约复核

评分说明

总分 8.2/10 · P_优选

📊 可观测社区指标(数据核验日期:2026-10-02)

  • GitHub: makerchecker/MakerChecker ★54,🔱2,12 tags / 8 releases(创建 2026-06-11,默认分支最近提交 2026-07-06,仓库推送 2026-09-28)
  • npm: @makerchecker/scan v1.2.0(发布 2026-07-06)· 近一周下载 8 次
  • npm: @makerchecker/embedded v1.2.0 · 近一周下载 1 次
  • npm: @makerchecker/sdk v1.2.0 · 近一周下载 0 次
  • npm: @makerchecker/proof-verifier v1.2.0 · 近一周下载 2 次
  • 事故样例库: examples/ 下 53 个目录,其中 41 个为真实 Agent 事故案例(Amazon Q 删库、Cursor 清空 PocketOS 数据库、Replit 删生产库、ShadowLeak 邮件外泄等)
  • 许可证: AGPL-3.0(server / web / shared)+ Apache-2.0(scan / embedded / SDK / 连接器),另有商业许可替代

⚠️ 维度集说明:本条目归属 tools.json(tool 类型)。原文件误用 agent 六维度,2026-10-02 就地改为 tool 规范六维度(满分 2.5 / 2.5 / 1.5 / 1.5 / 1.0 / 1.0),条目未跨目录搬动。原文件的「稳定性」一项按 agent 满分给到 1.4,超出 tool 满分上限(1.0),已按 tool 标准结合本次证据重新定分,而非比例换算。

⚙️ 功能完整度 2.2/2.5

  • 三层安全治理:静态扫描(mc scan)+ 运行时拦截(@makerchecker/embedded)+ 自托管网关服务器(Fastify + Postgres,含审批收件箱与复核控制台),覆盖 Agent 安全全链路
  • deny-by-default:未被角色明示授权的操作在执行前被拒(GovernanceDeniedError / HTTP 403),而非事后标记
  • 职责分离设计:Agent 可提议操作但结构上无法批准自己的工作,高风险技能需独立角色(officer)签字
  • 仓库含 10 个包(scan / embedded / proof-verifier / sdk / sdk-python / connector-langchain / connector-claude-agent / server / web / shared),三层 enforced 同一套审计格式
  • 对比 AgentOps:AgentOps 是事后监控可观测性,MakerChecker 是事前拦截,治理维度不同
  • 对比 Iron Gorilla:闭源商业运行时拦截,MakerChecker 开源可自托管,透明度更高
  • 扣分:本实现不做操作系统级沙箱隔离,治理粒度依赖用户自行定义 role / skill / riskTier

✨ 输出质量 1.9/2.5

  • 审计链可独立验证:每条事件以 SHA-256(RFC 8785 规范 JSON)链接 prev_hash 并 Ed25519 签名,导出 bundle 后任何人可离线验证,无需信任产出进程
  • 扫描发现映射到 41 个真实 Agent 事故案例(本次实测 examples/ 下确为 41 个事故目录),并提供 4 个可运行的受治理用例(药械警戒、MDR 报告、肿瘤患者准入、现金对账)
  • 证据不足(限制说明):未公布扫描器检出率/误报率基准,本次未在样本仓库上实跑 mc scan,「映射真实事故」仍以官方自述为准,故该维度不按上限给分
  • 对比通用 SAST:只报问题不阻断;MakerChecker 的发现可落到执行前拦截

🖐️ 易用性 1.2/1.5

  • npx @makerchecker/scan . 零安装、离线运行,默认不上传任何数据,最低门槛体验
  • docker compose up 一行命令启动完整服务器,自动种子演示数据与两类 API Key(admin / officer)
  • 三个独立包可单独采用,从扫描到嵌入式再到完整服务器渐进式集成
  • 但完整治理集成需理解角色(roles)、技能(skills)、风险层级(riskTier)等概念,学习曲线存在;自托管网关增加运维成本
  • 对比 AgentOps:AgentOps 三行代码集成(agentops.init()),MakerChecker 需定义治理策略,上手更复杂

💰 性价比 1.3/1.5

  • scan / embedded / proof-verifier / SDK / 连接器均为 Apache-2.0,可自由嵌入闭源 Agent;仅 server / web / shared 为 AGPL-3.0,并提供商业许可替代
  • 自托管无订阅费,核心能力对预算敏感团队零成本
  • 扣分:完整网关需自备 Postgres 与运维;AGPL 部分对闭源分发仍有合规成本
  • 对比商业 Agent 治理平台:订阅制且不可自托管

🔒 稳定性 0.7/1.0

  • 工程实践规范:CI 流水线集成 gitleaks 密钥扫描、镜像 CVE 扫描、SBOM 生成;提供加固 Docker 配置与非 root 容器运行
  • 12 个 tag / 8 个 release,v1.2.0 为当前版本,版本管理规范
  • 扣分:项目 2026-06-11 创建,默认分支最近提交停留在 2026-07-06(约三个月无主线提交),npm 包自 2026-07-06 后未再发布;周下载个位数(scan 8 / embedded 1 / sdk 0 / proof-verifier 2)、GitHub ★54,缺乏长期生产验证与外部采用证据
  • 对比 AgentOps:811 commits、111 tags 的长期维护记录,社区规模远超

🛡️ 隐私安全 0.9/1.0

  • 离线优先:mc scan 零安装本地运行,官方声明「nothing leaves your machine」;治理与审计在自托管环境内闭环
  • 审计日志可完全离线验证:导出 bundle 即可复验,审计员无需访问你的系统或运行 MakerChecker 代码
  • deny-by-default 与职责分离结构性降低 Agent 越权触碰敏感数据的概率
  • 扣分:密钥与部署安全由使用方自管;服务器备份与传输策略属部署责任

评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。

🏷️ 标签说明

  • 开源免费:核心引擎 AGPL-3.0 开源,SDK Apache-2.0,提供商业许可替代。来源:Trust 页面
  • 安全:核心定位是 Agent 安全防火墙,deny-by-default 拦截 + 签名审计链。来源:GitHub README
  • Agent:面向 AI Agent 安全治理,集成 LangChain/Claude Agent SDK 等框架。来源:GitHub README
  • CLI:mc scan 通过 npx 命令行运行,嵌入式包通过 npm 安装。来源:npm @makerchecker/scan

📋 来源与核验记录

  • ✅ 已核验(2026-10-02): GitHub makerchecker/MakerChecker — Stars 54 / Forks 2 / 创建 2026-06-11 / 默认分支最近提交 2026-07-06 / 12 tags / 8 releases / AGPL-3.0
  • ✅ 已核验(2026-10-02): README — 三层治理架构、10 个包清单、deny-by-default 与职责分离机制、审计链规格
  • ✅ 已核验(2026-10-02): examples/ 目录 53 个条目,其中 41 个为真实事故案例目录;docs/ 含 quickstart、concepts、audit-spec、security-model 等 8 项
  • ✅ 已核验(2026-10-02): npm registry API — 四个包均为 v1.2.0(发布 2026-07-06)、Apache-2.0;api.npmjs.org 近一周下载量 scan 8 / embedded 1 / sdk 0 / proof-verifier 2
  • ✅ 已核验(2026-10-02): makerchecker.ai 与 Trust 页面 均可访问
  • ⚠️ 未验证(Cloudflare 拦截): npmjs.com 页面 被安全验证拦截,改用 npm registry API 取证
  • ⚠️ 未复现: README 声明的扫描检出能力未在样本仓库实测;2026-07-09 记录的 HN Show HN(43 points / 19 comments)本次未复核

⚠️ 局限与未实测声明

  • 本文基于 GitHub API、README、仓库目录与 npm registry 于 2026-10-02 采集;原 2026-07-09 指标(★45 / 🔱1 / npm 周下载 67-292)已被本次读数替换
  • 未实测:未在样本仓库运行 mc scan,未部署完整网关,检出率与误报率无独立数据
  • 格式修正说明:本条原按 agent 六维度给分(总分 8.3),2026-10-02 就地改为 tool 规范六维度;「稳定性」按 tool 满分 1.0 重新定分(原为 1.4/1.5),其余维度按本次核验证据定分;维度和 2.2+1.9+1.2+1.3+0.7+0.9 = 8.2,总分随之 8.3 → 8.2,标签维持 P_优选(8.2 ≥ 8.0)

同分类推荐

AI开发平台 分类下的其他工具

)}