测试版功能。 审计功能目前以测试版形式发布,以便收集早期反馈。
在下一个稳定版本发布之前,检测器目录和报告格式可能会有所变化。
如有任何问题,请提交 issue。
failproofai 时直接访问 http://localhost:8020/audit。
cd <cwd> 前缀、sleep 轮询循环、重复读取刚编辑的文件等。
对于每份记录,所有工具调用事件都会通过 39 个内置策略以及 8 个仅用于审计的检测器进行回放,后者可捕捉运行时策略尚未覆盖的模式。统计结果按策略/检测器在所有会话中汇总。
功能概览
/audit 页面由六个部分组成:
- Identity(身份) — 根据所有已审计记录的加权信号,将您的智能体归类为 8 种原型之一(
optimist、cowboy、explorer、goldfish、paranoid architect、precision builder、hammer、ghost)。 - Strengths(优势) — 源自扫描的真实数据(干净调用占比、“0 次凭据泄露”等),以相关 sanitize 策略实际触发为前提。
- Score(评分) — 0 到 100 分,对应 S/A/B/C/D/F 等级,以及启用所有推荐策略后的预计提升值。
- Findings(发现) — 按策略展示的详情卡片,包括发生的情况、成本、捕获的证据,以及启用对应内置拦截策略所需的精确命令
failproofai policy add <slug>。 - Prescribed policies(推荐策略) — 汇总的安装列表,附带一键执行的
failproofai policies --install命令。 - Re-audit reminder(重新审计提醒) — “回来时更上一层楼。” 通过 api-server 设置 7 天邮件提醒(需要登录,参见
failproofai auth)。
仅用于审计的检测器
这些检测器用于发现尚未在运行时强制执行的”低效行为”模式。它们仅在审计期间运行,不会阻断任何实时工具调用。| 检测器 | 检测内容 |
|---|---|
redundant-cd-cwd | 以 cd <cwd> && … 开头的 Bash 命令,尽管命令已在 cwd 中运行。 |
prefer-edit-over-read-cat | 对单个源文件执行 cat/head/tail/less/more 操作——应使用 Read 工具。 |
prefer-edit-over-sed-awk | 使用 sed -i / awk … > file 进行原地编辑——应使用 Edit 工具。 |
prefer-write-over-heredoc | 通过 Heredoc / 多行 echo > file 写入文件——应使用 Write 工具。 |
sleep-polling-loop | 长时间 sleep N(≥ 30 秒)或 while …; sleep …; done 轮询循环。 |
find-from-root | 执行 find /、find /home、find /usr 等——应将范围限定在 cwd。 |
git-commit-no-verify | 使用 git commit … --no-verify / -n 跳过钩子提交。 |
reread-after-edit | 在同一会话中,对刚刚经过 Edit/Write 的文件执行 Read 操作。 |
缓存机制
- 按记录缓存,路径为
~/.failproofai/cache/audit/<sha1>.json,以(mtime, size, engineVersion, detectorVersion)为键。当策略或检测器代码变更时自动失效。 - 完整结果缓存,路径为
~/.failproofai/audit-dashboard.json(权限模式 0600)。使仪表板在导航时无需重新运行即可即时渲染。点击仪表板中的[ re-audit now ]可刷新结果。
注意事项
- 无写入操作。 审计以只读模式进行回放。
warn-repeated-tool-calls会被跳过,否则其每个会话的附属文件将被修改。 - 跳过工作流策略。
require-*-before-stop策略仅在Stop事件时触发,并通过execSync检查实时 git 状态——对于历史记录的回放并无实际意义,因此不会出现在审计统计中。 - 跳过自定义策略。 用户自定义的钩子不会被回放(它们可能在原始会话结束后已发生变更)。

