
给AI Agent系上安全带Corsair权限审批门控彻底防住危险的破坏性操作【免费下载链接】corsairConnect your users to their apps项目地址: https://gitcode.com/GitHub_Trending/corsa/corsair当你让 AI Agent 接管真实系统——删仓库、发邮件、改生产数据——你敢放心吗开源项目CorsairConnect your users to their apps为 AI Agent 提供了权限审批门控Permissions读取直接放行写入可配置破坏性操作必须经人类审批才执行从机制上防住危险的破坏性操作让 Agent 真正上安全带。为什么 AI Agent 需要安全带AI Agent 最大的风险不是不会做而是太会做。一次误判的推理就可能让 Agent 调用删除、发布、转账这类不可逆操作。传统 API Key 只解决能不能调用不解决该不该执行。Corsair 的答案是风险分级 审批门控每个插件端点天然带有风险等级调用前先过一道策略检查高风险动作自动挂起等人类点头。三种风险等级 × 四种权限模式最快上手配置Corsair 将每个 API 端点标记为三种风险等级read读、write写、destructive破坏性再由权限模式决定命运。核心矩阵定义在 packages/corsair/core/permissions/index.ts模式读取写入破坏性操作适合场景open放行放行放行本地实验、完全可信环境cautious放行放行⚠️ 需审批Agent 工作负载的推荐默认值strict放行需审批禁止生产环境、敏感数据readonly放行禁止禁止只读分析、报表 Agent配置非常简单只需在创建插件时声明github({ permissions: { mode: cautious, // 破坏性操作需人工审批 overrides: { repositories.delete: deny, // 删除仓库永远禁止 releases.create: require_approval, // 发版必须审批 }, }, }) 小技巧overrides支持点号路径精确到单个端点且写错的端点路径会直接报编译期错误——配置漂移在写代码时就被拦住而不是上线后。审批门控如何工作完整流程拆解当 Agent 调用一个被门控的端点时Corsair 会走一条严谨的流水线详见 docs/concepts/permissions.mdx策略评估根据风险等级 权限模式 端点覆盖项解析出allow/deny/require_approval直接放行allow时调用立即执行硬性拦截deny时直接拒绝不产生任何数据库记录挂起审批require_approval时Corsair 向corsair_permissions表写入一条pending记录附带唯一token并冻结当时的调用参数Agent 调用被阻塞等待审批者可以是人工审核页面也可以是第二个审查 Agent通过 token 查看 Agent 到底想干什么——插件、端点、完整参数、所属租户、过期时间一目了然。确认无误后更新状态为approvedAgent 重试或直接执行即完成放行。三重保险一次性审批、超时失效、防参数篡改Corsair 的门控设计把审批被滥用这条路也堵死了✅一次性使用审批通过后立即执行并置为completed不可重放。同一张通行证用不掉第二次✅参数冻结审批记录保存的是请求时刻的 JSON 参数执行时原样回放Agent 无法在等待审批期间偷偷改参数✅超时自动失效pending记录超过timeout默认 10 分钟即失效onTimeout: deny让没人理默认等于拒绝——这是推荐的安全姿势✅去重相同插件、端点、参数、租户的重复请求会复用同一条待审批记录不产生垃圾数据✅无数据库即拒绝缺少corsair_permissions表时一切需审批的端点回退为 denyfail-closed 而非 fail-open状态生命周期共 7 态pending → approved → executing → completed以及分支态denied/expired/failed失败原因写入error列全程可审计。同步 vs 异步按 Agent 特性选等待方式门控挂起时Agent 侧有两种体验由permissions.mode控制模式Agent 视角适用场景异步默认工具调用立即返回被拦截 审批链接Agent 会主动告诉用户去审批页确认省 token、不怕工具调用超时同步调用阻塞每 500ms 轮询直到批准/拒绝/超时审批 UI 与 Agent 会话并排打开体验秒批秒续⚠️ 注意不少 Agent 框架会给工具调用设置自动超时若它会先于你的审批窗口掐断长任务请选异步模式。还可通过函数动态切换生产用异步、本地用同步一套配置两头适配。不想等 Agent 重试executePermission 一步到位审批通过后不必依赖 Agent 自己重试。调用executePermission(corsair, token)会直接以冻结参数确定性执行端点全程无 LLM 参与——逻辑实现见 packages/corsair/permissions/index.ts查记录 → 校验approved且未过期 → 多租户自动定位正确租户上下文 → 置executing→ 回放参数 → 置completed。失败则置failed并记录错误信息。配合多租户每条审批记录都带tenant_idA 用户的审批永远不会用 B 用户的凭据执行审批边界即租户边界。总结给 Agent 自由也给它笼子Corsair 的权限审批门控用一套极简模型解决了 Agent 治理的核心难题你的诉求对应机制读操作不拖慢 Agentread恒放行破坏性操作要人点头cautious模式 require_approval某些操作绝对禁止deny覆盖项硬拦截审批不能被滥用/重放一次性 参数冻结 超时失效全程可追溯corsair_permissions七态生命周期一行mode: cautious就把AI 乱来从事故变成了待审批。如果你想深入了解审批 UI 的自建方式、Hub 托管审批、Webhook 与 Hooks完整文档见 docs/concepts/permissions.mdx。【免费下载链接】corsairConnect your users to their apps项目地址: https://gitcode.com/GitHub_Trending/corsa/corsair创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考