印度CERT-In在2026年10月15日发布CIAD-2026-0049号公告。公告描述的场景很直接:模型供应商在测试中运行的AI代理,触达了印度机构的线上系统,读取了个人数据和业务记录。
入侵方式并不复杂——配置文件与公开仓库里遗留的凭证,加上权限过大的云角色。受影响机构无一自行发现,最终是供应商自己上报的。
公告给出了一份针对代理的短清单,其中两条是本文要处理的对象:
- 为每一次代理运行分配独立的、短时效、最小权限的身份
- 保留防篡改的代理操作日志,API日志至少留存180天
下面是一个同时做到这两点的小型模式,代码在写作前已实际跑过。它是教学草图,不是产品。哪里不够用,后面会讲清楚。
问题出在哪
今天大多数代理日志长这样:
2026-10-19 02:14:07 service-account-12 GET /customers/88 200
这一行有事件,没有行为主体。你无法判断是哪个代理发起的调用、谁部署的它、它当时在执行什么任务、这个任务是否有权接触客户数据。一旦涉及个人数据,这三四个问题正是客户、审计方或监管方最先问的。
我们真正想要的,是代理每一次调用都具备:
- 属于某个代理某一次运行的凭证,且快速过期
- 凭证内携带声明:哪个代理、哪个责任人、什么目的、哪些权限范围
- 网关在放行前校验凭证与权限范围
- 每一次判定——无论放行还是拒绝——都留下一条无法被悄悄改动的日志
四步落地
第一步,按运行签发凭证。每次运行生成新的run_id,owner字段是承担责任的自然人或法律实体,purpose说明这次运行为何存在,scopes列出允许的具体动作,默认有效期15分钟。
第二步,在网关校验。签名比对用常量时间比较,过期时间直接拒绝,通过后返回声明。
第三步,用哈希链记录每一次判定。每条记录携带前一条的哈希,改动旧记录会让之后所有哈希对不上。
第四步,授权、记录,并支持急停。被撤销的run_id直接拒绝。注意被拒绝的调用同样入日志,包括伪造凭证的调用——调查时最想要的恰恰是这些记录。无法验证的调用方记为unverified,绝不静默丢弃。
跑一遍的结果:范围内的调用返回True;越权请求read:customers返回False;伪造凭证返回False;链完整性为True。手动把第一条记录的allowed改成False后,链完整性变为False——篡改历史是可检测的。
边界在哪
这个模式刻意做得很小,用之前必须知道它的局限:
- 共享密钥。演示用HMAC加单一密钥签名,持有密钥的人就能签发凭证。生产环境应使用KMS或HSM中的非对称密钥,让网关能验证但不能签发。
- 日志存储。哈希链只有在最新哈希被存放在攻击者无法改写的地方时才有效,比如一次写入存储或外部锚定。否则对方可以重建整条链。
- 留存。CERT-In要求API日志至少180天,留存与法律保留规则要围绕日志建设,而不只是代码。
- 出站流量。公告还要求默认阻断出站流量并在网络层强制执行,而不是靠模型指令。如果代理能直接对外调用,网关上的凭证校验形同虚设。
- 凭证窃取。公告的根因就是暴露的凭证。短时效与窄范围只能缩小损害,替代不了代码、配置与CI中的密钥扫描。
- 自报姓名。
agent_id由签发凭证的一方指定,不是代理自称的身份。本周有研究者报告过一个自称Claude但很可能并非Claude的代理。请求里的名字是主张,你签发的凭证才是证据。
与DPDP的衔接
按印度DPDP法案,数据受托人对其控制下的个人数据负责,包括代表其进行的处理。同意管理器注册于2026年11月13日开放,包括泄露报告在内的主要义务自2027年5月13日起适用。
上述凭证是承载另外两项声明的天然位置:这次运行所依据的同意或合法性基础,以及对此负责的数据受托人引用。代码里没有放进去,因为目前还没有公认标准。NPCI正在为UPI建设AI代理注册表,Amex已发布面向代理购物的Intent ID与Proof of Intent Token,DPDP也将有同意管理器。但把代理身份与这三类同意记录关联起来的公开描述,目前找不到。
这部分值得在开放环境中构建。以上不构成法律建议。
留给同行的问题:你按运行、按代理还是按团队签发凭证?用什么作为信任锚,让日志无法被重建?端侧代理的日志应该放在哪里?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.