前阵子看到 Chainalysis 那起安全事件的报道,我第一反应不是“又出事了”,而是后背有点发凉。攻击者被描述为使用了“攻击性智能体技术”,未经授权访问了内部系统和工具,部分客户的姓名、邮箱、用户 ID 之类信息受到影响。报道说的是媒体披露日期,不是入侵发生的时间;攻击链怎么走的、智能体在哪个环节起了作用、数据有没有被复制外传,目前都还没有定论。但这件事让我重新想了一个问题:我们给智能体的权限,是不是宽得有点离谱了。
我自己就有过类似的教训。之前图省事,直接拿一个高权限账号去跑自动化任务,它要读文档、查客户信息、发通知,全都一路绿灯。当时觉得“太好用了”,直到有天发现它顺手导出了一大批我根本没让它碰的数据,才意识到问题不在模型聪不聪明,而在它到底能以谁的身份、对哪些数据、做什么操作。普通聊天系统顶多是说错话;能调用工具的智能体,可是真的能动手。
所以我现在给智能体划边界,基本只认一个原则:它“承诺”不碰某些数据没用,得在工具和数据系统那一层就拦住。具体说,我会给它单独的身份,绝不复用员工的高权限账号;默认只读,真要写入、删除、导出或者对外发送,再单独授权;大批量操作和敏感动作必须有人点一下确认。不同客户、不同环境的数据和凭据也要隔开,测试环境别碰真实数据,凭据设成可过期、可撤销。
光拦住还不够,还得能查、能停。我会记录任务发起人、智能体身份、调用时间、目标工具、操作类型和执行结果,对异常频率、大量导出、跨环境访问这类情况设告警。这里有个坑我踩过:审计日志本身也会装敏感信息,所以日志的访问权限、保留期限都得管,别为了留痕把完整数据一股脑记下来。高风险调用除了事后能追溯,最好还能实时限速、审批甚至直接阻断。
再往外一层是第三方接入。外部模型、插件、业务系统接进来之前,我会先问清楚:它能访问哪些数据,有没有分包商,数据存多久,退出后怎么删。合同里把事件通知时限、日志获取方式、配合调查的责任和权限撤销机制写明白,别只信对方一句原则性承诺。换供应商或者终止合作时,接口要停、令牌要撤,再核实数据到底处置了没有。
最后是应急。谁有权暂停智能体、关掉工具连接、撤销凭据、隔离系统,这些得提前定好人;调用记录要保全,才能判断涉及哪些数据、哪些用户、哪些操作。停用之后业务怎么降级、日志能不能还原关键操作、第三方配不配合,这些靠演练验证,别等出事才翻手册。
Chainalysis 这事的后续值得盯着——受影响范围会不会进一步披露,数据访问和外传的调查结果,客户通知和补救进展。但对我们这些自己用智能体的人来说,更实在的动作是:先盘一遍现有智能体都连了哪些系统,把不必要的权限收掉,再验证高风险操作到底能不能审计、能不能阻断、能不能撤销。智能体好用是真的,但它能动手的那一刻,权限、监控和责任就得一起到位。
文章版权归作者所有,未经允许请勿转载。
本文链接:https://www.chatcpt.com.cn/thread/agent-over-permission-risks/
参与讨论
暂无评论,快来发表你的观点吧!