iFixAi:用10项检查在120秒内审计AI Agent业务安全
一个审计AI Agent业务行为的CLI和Skill工具,检查权限、策略与任务完成度,不只看延迟和Token。
GitHub ifixai-ai/iFixAi 更新 2026-10-15 分支 main 星标 27.4K 分叉 1.5K
Python AI Agent审计 B01/P01检查 CLI与Claude Code

🧭 决策指南

适合,如果你

  • 你的Agent使用OpenAI或其他provider,并需要检查权限、提示注入和跨用户隐私。
    README“ What a default run covers”列出B01、B08、B12和B27;“Three ways to run”说明支持any provider。
  • 你希望在CI中批量执行可脚本化审计并保存JSON报告。
    README“Three ways to run”将CLI explicit flags列为CI、automation和audit-ready scripted batches,并输出JSON与Markdown报告。
  • 团队使用Claude Code、Cursor、Codex或VS Code,希望在现有Agent中运行Skill。
    README“Skill (every agent)”列出这些Agent,并提供uvx ifixai install命令。
  • 你需要先从10项检查开始,再扩展到全部60项检查。
    README“What a default run covers”说明ifixai run默认10项,--full-run运行全部60项。

不适合,如果你

  • 你的Agent无法暴露工具授权层,却需要把B01和P01作为可信权限结果。
    README“What a default run covers”明确指出B01和P01读取tool-authorization layer;未暴露时结果见docs/scoring.md。
  • 你不能接受完整套件约5500次Agent调用、4700次裁判调用或约12至18美元的Sonnet成本。
    README“Recommended judge setups”和“What a default run covers”给出完整运行的调用量与成本估算。
  • 你需要完全离线完成完整审计,而不是只离线探索Policy Lab示例。
    README只说明Policy Lab包含offline refund-store example;裁判设置和provider配置仍列出OpenRouter、模型及API key。

前置条件

  • Skill脚手架只需要uv和Python 3.10+。
  • CLI安装命令为pip install "ifixai[]"。
  • 运行Agent和裁判需要对应provider环境变量或--api-key;README说明密钥只保存环境变量名,不保存secret。
  • Full模式需要手工构建fixture,README引用docs/fixture_authoring.md。
  • 默认运行使用10项essential检查;完整运行使用--full-run执行全部60项。

第一步命令(README 原文)

ifixai run --provider openai

要注意

  • 不要把--full-run和--mode full混淆,前者选择60项检查,后者控制评分方式。
    README明确说明--full-run与--mode full无关。
  • 切换--provider后,保存的model、endpoint和密钥环境变量名不会继续沿用。
    README“Reusable config”说明更换provider会跳过这些保存的连接设置。
  • 默认10项检查仍会产生约850次Agent调用和820次judge调用。
    README“What a default run covers”给出默认fixture的调用量。
  • 两裁判完整模式需要手工fixture,并使用两个--judge-provider参数。
    README“Recommended judge setups”的two affordable judges命令及说明。

替代方案

  • 传统Eval工具:当主要关注token efficiency或latency等技术能力指标,而不是README所述的业务KPI与组织结构时更合适。
    README“What it is”
  • Red-teaming工具:当目标是专门评估prompt injections等对抗性问题,而不需要iFixAi的业务审计评分时更合适。
    README“What it is”
  • Observability工具:当需要观察Agent运行过程,而不是执行B01、P01等诊断检查并生成grade时更合适。
    README“What it is”

材料未说明

  • README节选没有说明支持哪些具体Agent API协议或自定义endpoint格式。
  • README节选没有给出B01、P01在未暴露工具授权层时的具体评分规则。
  • README节选没有说明运行结果的保留周期、遥测默认开关和数据上传范围。
  • README节选没有给出硬件要求、并发限制或单次运行的实际耗时分布。
  • README节选没有说明iFixAi Pro的功能边界和定价。

💡 深度解析

6
适合 我们希望用 `google/gemini-2.5-pro` 和 `openai/gpt-5.4-mini` 做跨厂商双 Judge,并控制完整 60 项审计的费用;README 给出的配置和成本是否支持这个方案?
适合读者: 需要控制评测成本的治理团队,计划用 Gemini 2.5 Pro 与 GPT-5.4-mini 两个不同厂商 Judge 进行完整审计。

适合,README 直接给出了这组双 Judge 配置,并说明其成本低于单次 Sonnet 完整运行。

  • 推荐配置使用 google/gemini-2.5-pro 与 openai/gpt-5.4-mini,两个 Judge 可通过同一个 OpenRouter key 运行。
  • README 将该方案标为 More affordable,完整套件估算合计约 10–14 美元;单一 Sonnet 约 12–18 美元。
  • 多 Judge 的价值是避免由单一模型或厂商决定评分;冲突时采用保守裁决,顺序为 fail > partial > pass。
  • Full mode 需要 hand-built fixture,且完整套件约产生 2,000 次 Judge 调用;被测 Agent 的费用另计。

成本仍是估算值,基于 2026 年中 OpenRouter 目录价格,实际会受模型价格、fixture 和调用失败重试影响。README 未说明双 Judge 结果如何导出逐项分歧明细。

  • Recommended judge setups:Gemini 2.5 Pro + GPT-5.4-mini;~$10–14 combined
  • Recommended judge setups:“no one model or vendor decides your grade”;ties break conservatively,`fail > partial > pass`
  • Recommended judge setups:full run based on approximately 2,000 judge calls
  • Recommended judge setups:two judges 的 Full mode needs a hand-built `--fixture`
材料未说明:README 未说明两个 Judge 的逐项评分、证据和冲突是否会在 JSON 中分别保留。;README 未说明网络失败或速率限制导致的重试是否会显著增加估算调用量。
适合 我们有一个包含退款工具和角色权限的 Agent,既要找出允许操作组成的最短有害序列,也要确认修复权限后合法退款目标仍能完成;iFixAi 是否适合?
适合读者: 负责退款 Agent 安全治理的企业风险团队,需要验证允许操作组合是否会形成有害序列,同时不能破坏合法退款流程。

适合,Policy Lab 明确覆盖“有害操作序列”和“合法完成目标”的联合验证。

  • Quick start 将 Policy Lab 定义为寻找 permitted actions 的 shortest harmful sequences,并检查 permission repairs 是否仍满足 legitimate completion goals。
  • README 明确提供 offline refund-store example 和 explicit local-callable replay,退款场景有可直接参考的示例路径。
  • 默认 10 项检查包含 B01 角色工具授权、B08 用户权限继承和 P01 未授权破坏性操作,且三项属于 mandatory minimum。
  • 测试可针对真实 Agent endpoint,也可使用 fixture 描述角色、工具、权限、政策和任务目标,适合把退款业务规则显式化。

不过,若退款系统有真实外部副作用,不应直接连接生产账户。README 没有说明 Policy Lab 对异步退款、数据库事务或第三方支付回滚的覆盖方式。

  • Quick start:Policy Lab “finds shortest harmful sequences of permitted actions and checks permission repairs against legitimate completion goals”
  • Quick start:offline refund-store example and explicit local-callable replay
  • What a default run covers:B01、B08、P01 均为 mandatory minimum
  • 项目洞察:fixture 可描述业务角色、工具、权限、政策和合法完成目标
ifixai run --provider openai
材料未说明:README 未说明退款工具调用是否能在沙箱外被拦截或自动回滚。;README 未说明异步任务和支付供应商回调是否属于已支持的 Agent endpoint 行为。
适合 我们要用 `anthropic/claude-sonnet-4.6` 作为单一 Judge,在发布前检查角色越权、提示注入和跨用户隐私泄露;默认运行是否覆盖这些风险?
适合读者: 负责高风险 Agent 发布门禁的 AI 安全工程师,使用 Claude Sonnet 作为单一 Judge,关注权限越界、提示注入和隐私泄露。

适合,默认 10 项检查已经覆盖你列出的三类风险,但它不是完整安全证明。

  • B01 检查角色只能使用获准工具,B08 检查 Agent 不能被说服获得超出用户权限的访问,二者都是 mandatory minimum。
  • B12 检查提示注入,B27 检查不把一个用户的私有数据交给另一个用户;这些项目都在默认 essential suite 中。
  • README 推荐 anthropic/claude-sonnet-4.6 作为 Single judge: Sonnet,完整套件估算成本约 12–18 美元。
  • 默认运行约为完整调用量的六分之一,仍会给出 grade;但默认只有 10 项,完整运行才覆盖全部 60 项。

如果 Agent 没有暴露工具授权层,B01 和 P01 的结论会受限;文本拒绝不能充分证明实际没有执行工具调用。README 也未说明 Sonnet 对你们领域边界案例的误报率。

  • Recommended judge setups:Single judge: Sonnet;`anthropic/claude-sonnet-4.6`;full suite ~$12–18
  • What a default run covers:B01、B08、B12、B27 均在默认 10 项中
  • What a default run covers:三项 mandatory minimum 为 B01、B08、P01
  • What a default run covers:默认运行约为完整运行六分之一;完整运行覆盖 60 项
材料未说明:README 未说明被测 Agent 是否必须暴露标准化工具授权接口。;README 未提供 Sonnet 在特定业务 fixture 上的误报、漏报或重复运行稳定性数据。
适合 我们用 Python 构建 Agent,CI 中需要重复测试 OpenAI 提供方的版本,并把结果作为 JSON 工件保存;应该选 iFixAi 的哪种运行方式?
适合读者: 负责 CI 审计的 Python 工程团队,正在批量比较 OpenAI Agent 版本,并要求结果可脚本化、可机器读取。

适合,显式 CLI 模式正好面向 CI、自动化和可审计批处理。

  • README 将“CLI: explicit flags”列为“CI, automation, audit-ready scripted batches”,不依赖交互式向导。
  • 评测对象可以是任意 provider,也可以是 Agent 的真实 endpoint;因此可测试 OpenAI 提供方或自有 Agent。
  • 输出包含 JSON、Markdown 报告和终端评分卡,其中 JSON 被定义为机器可读来源,适合上传 CI 工件。
  • 默认运行 10 项检查;需要完整 60 项时可使用 --full-run,但完整运行约调用 Agent 5,500 次、Judge 4,700 次,CI 成本和耗时会明显增加。

需要注意,跨版本比较还应固定 fixture、Judge、suite 和运行配置;README 没有给出现成的 CI 平台模板。

  • Three ways to run:CLI: explicit flags;Best for “CI, automation, audit-ready scripted batches”
  • Three ways to run:Output includes “JSON + Markdown reports + rich terminal scorecard”
  • What a default run covers:默认 10 inspections;`--full-run` runs all 60
  • What a default run covers:约 5,500 agent calls 和 4,700 judge calls
材料未说明:README 未说明 CI 失败门槛如何直接映射为不同平台的 job status。;README 未说明 OpenAI Agent 版本差异是否能自动生成跨运行 diff。
适合 我们主要在 Claude Code 和 Codex 中工作,不想让每位工程师学习大量 CLI 参数;iFixAi 能否让 Agent 自动构建 fixture、运行检查并展示结果?
适合读者: 在 Claude Code、Codex、Cursor 或 VS Code 中开发 Agent 的平台工程师,希望不离开现有 Agent 环境完成审计。

适合,Plugin 或 Skill 模式就是为在既有 Agent 工作环境中引导式执行而设计的。

  • README 说明 Plugin/Skill 模式由“the agent [act as] the operator”,可发现环境、构建 fixture、运行测试并解释 scorecard。
  • Claude Code 和 Codex 可安装 plugin;其他列出的环境包括 Cursor、VS Code、Windsurf、Cline、Continue、Gemini 和 Zed。
  • Plugin/Skill 与 CLI 共享同一诊断引擎,因此入口不同不会产生两套评测逻辑。
  • 输出是交互式结果工件,并保留 JSON source of truth;若交互展示不可用,还有 static-report fallback。

但这并不代表完全零配置:被测 Agent 的 provider、端点、密钥环境变量,以及真实业务角色、工具和权限仍需正确提供。README 未说明所有客户端版本的兼容矩阵。

  • Three ways to run:Plugin or Skill;“the agent is the operator”
  • Three ways to run:Works in Claude Code, Cursor, Codex, VS Code, Windsurf, Cline, Continue, Gemini, Zed
  • Three ways to run:Plugin/Skill 输出 interactive results artifact,并以 JSON 为 source of truth
  • 项目洞察:CLI、插件和 Skill 共享同一套评测逻辑
uvx ifixai install
材料未说明:README 未说明 Claude Code、Codex 与其他客户端各自支持的最低版本。;README 未说明 Skill 自动构建 fixture 时能否覆盖复杂的自定义工具授权模型。
视情况 我们的业务 Agent 不是 Python 写的,但有可访问的真实 endpoint;我们关心 Agent 是否把失败说成成功、是否表达不确定性、是否越出任务边界,iFixAi 能否覆盖?
适合读者: 维护非 Python 业务 Agent 的合规工程师,使用自有 Agent endpoint,要求同时检查幻觉式成功报告、失败报告和任务边界。

视情况,iFixAi 可以测试真实 Agent endpoint,且默认检查覆盖这些对话行为,但覆盖深度取决于 endpoint 能否暴露实际工具与状态。

  • 默认检查 B06 要求不确定时明确表示,而不是自信猜测;B16 检查失败报告,避免假装成功;B18 检查是否遵守任务边界。
  • README 说明测试对象可以是“your agent’s real endpoint”,因此 Agent 不必由 Python 实现;Python 是 iFixAi CLI 的主要语言,而不是被测系统的硬性要求。
  • 默认 10 项检查中的大多数只需要 Agent 回答聊天消息,适合只有对话接口的系统。
  • 但 B01 和 P01 读取工具授权层;若 endpoint 未暴露该层,相关结果会被限制,不能据此证明实际授权安全。

README 没有说明自定义 endpoint 的协议、认证方式、流式响应或异步任务接口要求,因此接入可行性不能仅凭语言判断。

  • What a default run covers:B06、B16、B18 的检查定义
  • Three ways to run:What you test includes “your agent's real endpoint”
  • What a default run covers:八项检查只需要 Agent 回答 chat messages
  • What a default run covers:B01 和 P01 读取 tool-authorization layer;none exposed 时结论受限
ifixai setup
材料未说明:README 未说明自定义 Agent endpoint 的请求和响应协议。;README 未说明非 Python Agent 是否需要适配器、固定端口或特定认证头。;README 未说明流式输出和异步工具执行如何被诊断引擎采集。

✨ 核心亮点

  • 默认10项检查,覆盖B01、P01和提示注入
  • 默认运行约调用Agent 850次、裁判820次
  • 支持OpenAI、Sonnet及Gemini裁判组合
  • CLI、Plugin与Skill共享同一诊断引擎

🔧 工程化

  • 用ifixai run检查Agent权限、提示注入和隐私泄露
  • 通过ifixai.yaml保存provider、model与suite配置
  • 用--full-run扩展到全部60项检查

⚠️ 风险

  • 完整运行约需5500次Agent调用和4700次裁判调用
  • Sonnet完整套件估算成本约12至18美元
  • Full模式要求手工构建fixture,不能直接套用默认流程
  • B01与P01需要Agent暴露工具授权层

👥 适合谁?

  • 使用OpenAI或其他provider的Agent开发团队
  • 需要CI脚本化审计和JSON报告的工程师
  • 使用Claude Code、Cursor或Codex的团队