ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

AI Agent 敢开生产写权限吗?我用四道闸门守住安全边界

AI Agent 敢开生产写权限吗?我用四道闸门守住安全边界 AI Agent 敢开生产写权限吗我用四道闸门守住安全边界AI Agent 从“能回答问题”走向“能调用工具”真正困难的并不是再接一个模型而是决定它到底可以改什么。读数据库、生成建议风险通常可控创建工单、修改订单、发送消息、删除数据则会产生真实副作用。把这些动作统统交给模型再用一句“请谨慎操作”约束等于把安全寄托在提示词上。我更认可一个朴素结论生产写权限不是开或关的二选一而是一条必须逐级放行、能随时停下、事后还能证明发生了什么的执行链。一、先把“写权限”拆成四个等级第一层是只读观察。Agent 可以读取经过授权的业务数据但不能修改任何状态。这个阶段最适合验证检索范围、身份传递和输出质量。第二层是生成建议。Agent 可以形成结构化方案例如建议给某张工单升级优先级但它输出的是“建议对象”不是直接写数据库。第三层是短时审批。只有当前操作者对这一次动作明确确认系统才签发一个范围受限、很快过期、只能使用一次的批准凭证。第四层才是执行与回读。系统完成写入后不能只相信接口返回成功还要重新查询目标对象核对关键字段是否真的变成预期值。这套分层对应零信任的三个核心判断每次访问都要显式验证主体只获得完成当前任务所需的最小权限系统要假定错误或入侵已经可能发生因此必须限制影响并持续监控。二、把模型建议和业务命令分开不要让模型直接拼接 ORM 或 SQL。更稳妥的做法是先让它生成一个受约束的命令对象fromdataclassesimportdataclassfromtypingimportLiteraldataclass(frozenTrue)classTicketProposal:ticket_id:intaction:Literal[raise_priority,assign_team]reason:strexpected_version:int接下来由确定性代码完成四项检查当前用户是否有权操作这张工单action是否在业务白名单内对象版本是否仍等于expected_version本次动作是否已经得到有效审批。模型负责理解语义和给出建议业务层负责授权、校验和落库。这样即使模型出现幻觉它也只能生成一份无效建议不能跳过领域规则直接产生副作用。三、审批必须绑定“这一次、这份内容”一个只写着approvedtrue的布尔字段远远不够。审批至少应绑定操作主体目标对象动作类型参数摘要或内容哈希过期时间单次使用状态。dataclass(frozenTrue)classApproval:actor_id:strtarget:straction:strpayload_sha256:strexpires_at:strnonce:str如果正文、参数或目标对象在审批后发生变化原批准应立即失效。否则“批准 A、执行 B”会成为最隐蔽的越权通道。人工确认也不应该变成一个无脑点击的弹窗。确认界面至少要展示谁将执行、改哪个对象、改前值、改后值以及失败后的恢复方式。四、幂等性决定写动作能不能安全重试网络超时最容易诱发第二次事故客户端不知道第一次是否成功于是直接再执行一次。对于创建、扣费、发送和发布等动作正确顺序是执行前记录操作意图为当前业务动作生成稳定的幂等键服务端保证同一个键最多产生一个最终对象超时后先查询真实结果再决定是否重试。defexecute_once(command,idempotency_key,repository):existingrepository.find_by_key(idempotency_key)ifexisting:returnexisting repository.record_intent(idempotency_key,command)resultcommand.execute()repository.record_result(idempotency_key,result.id)returnresult如果外部系统既不支持幂等也无法查询执行结果自动化应该暂停并转人工而不是赌一次“应该没成功”。五、后验验证要验证业务事实很多系统把 HTTP 200、按钮点击成功或页面跳转当成完成证据但这些只说明某个技术动作被接受。真正的验收应该回到业务事实新对象是否存在关键字段是否完全匹配是否只创建了一个对象审批是否已经消费审计记录是否能关联操作者、动作和结果。例如“AI 已创建跟进任务”的完成条件不是接口返回success而是按幂等键查询到唯一任务、负责人和截止时间正确、审批已消费并且重新执行不会生成第二条记录。六、哪些动作可以自动哪些必须停下来我会按副作用和可恢复性划分动作默认策略查询、聚合、生成摘要自动执行生成草案、建议、待办自动生成人工选择可撤销的低风险写入短时审批后执行发消息、公开发布、扣费精确审批、幂等、后验验证删除、覆盖、无法恢复的操作默认拒绝或人工接管这张表不是固定答案。业务价值、数据敏感度、可撤销性和外部系统能力不同边界也会变化。但“先读、再建议、后审批、执行后回读”是一条可靠的起点。七、上线前的最小验收清单Agent 使用独立身份不借用管理员万能凭据工具接口是业务级动作不暴露任意 SQL 或任意脚本执行写动作有明确白名单和对象级授权批准绑定目标、参数哈希、过期时间和单次使用副作用操作有幂等键超时后先查询真实状态完成标准验证业务结果不只验证接口成功无法判断时暂停并交给人。参考与验证依据本文以已锁定版本的 RuyiBookCourse“智能体安全、护栏、信任与隐私”和“Codex 长任务 Harness”相关章节为知识依据重点复核了零信任、最小权限、幂等执行和后验验证之间的关系。示例代码用于解释架构边界不包含真实凭据、客户数据或生产端点落地时仍需结合具体业务的授权模型、数据敏感度和恢复能力进行威胁建模与测试。总结AI Agent 可以获得生产写能力但不应该得到一把永久、宽泛、不可审计的钥匙。更可靠的架构是把模型放在受控执行链里只读观察建立上下文结构化建议隔离幻觉短时审批约束意图幂等键限制重复副作用后验回读证明真实结果。当系统能回答“谁批准了什么、执行了几次、真实结果是什么”写权限才从一次冒险变成了可治理的工程能力。
返回列表