模型 / 数据集
FailproofAI/failproofai avatar
FailproofAI/failproofai

FailproofAI 评测:给 AI 代理装上一道可编程的安全闸门

Observability and enforcement for AI agent harnesses. Capture every run and runtime reliability with policy enforcement. 40 built-in policies, a local dashboard, no account required with a generous free cloud plan

3,480 个 Star475 个 ForkMDXNOASSERTION

秒懂

它是什么?
FailproofAI 是一个面向 AI 代理运行时的可观测性与策略执行工具,支持 12 种代理框架,内置 39 条策略。本文基于其 README 与仓库信息,分析它的机制、安装方式、局限与适用场景。
适合谁用?
FailproofAI 适合那些已经在使用 Claude Code、Codex 等受支持代理框架,并且需要统一记录运行历史、在工具调用前执行安全策略的团队。它不适合运行在自定义代理框架上的用户,因为这类场景只能通过 Python SDK 获得追踪能力,而策略执行需要自行挂钩,且官方文档并未给出明确的实现路径。
能商用吗?
请先确认。这个仓库使用的许可证不在我们自动归类的范围内,商用前请阅读仓库里的 LICENSE 文件。
还在维护吗?
在维护。仓库在最近一天内有新的提交。
用什么语言写的?
主要是 MDX(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决什么问题

AI 编程代理越来越能干,但它们在终端里执行命令时,你往往看不到它们到底做了什么。一次错误的 rm -rf 或一次未授权的网络请求,可能在日志滚动后无迹可寻。FailproofAI 的 README 说得很直白:它钩住 12 种代理框架,捕获每一次运行,并在危险工具调用执行前将其阻断。这不是一个事后分析的日志系统,而是一个前置的闸门。它面向的是那些把 Claude Code、Codex 等代理接入日常开发流程的团队,尤其是当代理开始处理生产代码或敏感操作时,你需要知道它每一步的意图,并且有能力说"不"。

支持的框架与边界

FailproofAI 将支持的框架分成两类:十种编码 CLI,包括 Claude Code、OpenAI Codex、GitHub Copilot CLI、Cursor Agent CLI、OpenCode、Pi、Factory Droid、Devin CLI、Antigravity CLI 和 Goose;另外两种是聊天与助手网关,分别是 Hermes 和 OpenClaw。README 强调,无论代理运行在哪种框架中,事件、策略和会话历史都是统一的。这个设计减少了学习成本,但也是一个明显的边界:如果你的代理不在这个列表里,比如一个内部构建的 Agent SDK,那么你只能通过 Python SDK 获得追踪、会话和审计功能,而策略执行需要你在自己的运行时里挂钩。README 甚至建议直接联系官方来映射这种场景,这暗示自定义集成的难度不低。

工作机制:钩子、策略与本地仪表盘

从 README 的描述看,FailproofAI 的核心机制是钩子。它插入到代理的执行流程中,在工具调用之前检查是否符合策略。39 条内置策略覆盖了常见的危险操作,比如删除文件或执行高风险 shell 命令。所有事件被记录为会话历史,并呈现在本地仪表盘上。README 声称零延迟,这听起来很吸引人,但你需要理解它的前提:所有处理都在本地完成,没有网络往返。这意味着策略判断不依赖云端,但同时也意味着策略的更新需要随软件版本发布,而不是实时推送。对于需要快速响应新型攻击模式的团队,这可能是一个需要考虑的因素。

安装与运行:一个 npm 命令起步

安装方式非常简单,README 给出的命令只有一个:npm。虽然没有展示完整的安装步骤,但根据 npm 包名 failproofai 和仓库结构,可以推断基本流程是全局安装 CLI 工具,然后针对特定代理框架启用钩子。例如,对于 Claude Code,你可能会运行类似 failproofai hook claude-code 的命令。但请注意,README 被截断了,我们没有看到完整的初始化或配置示例。因此,如果你打算实际部署,建议直接查阅官方文档 docs.befailproof.ai,那里应该有每种框架的具体集成指南。仓库的 recent releases 显示版本号仍处于 beta 阶段,例如 v1.0.4-beta.4,这意味着 API 或行为可能尚未稳定。

真正的限制:不是万能的保险丝

FailproofAI 的一个明显限制是它只对受支持的框架有效。如果你的团队混合使用多种代理,其中一些不在支持列表内,那么这些代理的运行将没有保护。另一个限制是策略执行的质量取决于内置策略的覆盖面。39 条策略听起来不少,但代理可能执行的工具调用类型远不止这些,比如数据库操作或云 API 调用。如果一条策略没有覆盖某种危险操作,那么 FailproofAI 就不会拦截它。此外,README 提到的"零延迟"可能只适用于本地执行,但如果你使用云计划,那么事件上传或策略同步可能会引入延迟,尽管 README 没有详细说明。最后一个隐患是许可证:MIT 加 Commons Clause,这意味着你不能将修改后的版本作为商业服务提供,这可能会影响某些内部平台团队的采用决策。

替代方案:LangSmith 与自建钩子

与 FailproofAI 形成对比的是 LangSmith,后者是一个更成熟的 LLM 可观测性平台。LangSmith 提供追踪、评估和监控,但它并不直接在代理的工具调用前执行策略。它的方式是事后分析,你可以看到代理做了什么,但通常不能实时阻止它。FailproofAI 的差异点在于强制执行,它试图在危险动作发生前介入。另一种替代方案是自建钩子,比如在 Claude Code 的 hook 机制里自己写脚本,检查每个工具调用的参数。这种方式有最大的灵活性,但需要你维护自己的策略库和日志系统,而且每个代理框架的钩子接口都不同。FailproofAI 的价值在于它把这些统一到一个界面和一套策略之下。

维护与升级成本

作为一个仍处于 beta 阶段的项目,FailproofAI 的升级频率较高,从 release 记录看,v1.0.4-beta.2 和 v1.0.4-beta.4 只相隔一天。这意味着你需要频繁跟进新版本,以获取 bug 修复和新策略。每次升级都可能改变钩子的行为或配置格式,因此建议在测试环境中验证后再应用到生产。另外,由于策略是内置的,你可能无法在不修改源码的情况下添加自定义策略,除非官方提供了扩展点,但 README 没有提及。考虑到许可证限制,直接 fork 并修改源码也不是一个理想的选择,因为 Commons Clause 会限制你分发修改后的版本。

编辑结论

FailproofAI 适合那些已经在使用 Claude Code、Codex 等受支持代理框架,并且需要统一记录运行历史、在工具调用前执行安全策略的团队。它不适合运行在自定义代理框架上的用户,因为这类场景只能通过 Python SDK 获得追踪能力,而策略执行需要自行挂钩,且官方文档并未给出明确的实现路径。在采用之前,你应该先确认你的代理框架是否在支持列表内,并检查 39 条内置策略是否覆盖了你关心的风险类型,例如危险 shell 命令或文件删除。另外,许可证为 MIT 加 Commons Clause,这意味着你可以查看和修改源码,但不能将其作为商业产品转售,这一点对咨询公司或内部平台团队尤其重要。整体而言,FailproofAI 的定位清晰,但它的实际效果取决于你能否接受其当前支持的框架边界以及策略的可定制程度。

官方来源

  1. FailproofAI/failproofai on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
社区笔记

社区笔记