很多企业内部 Agent 被允许“查一下官网变更”或“打开这份文档链接”。实验室里我们让 Agent 打开一个看起来像供应商更新说明的页面。标题、日期、版本号都正常。页面中部有一段对浏览用户不可见、对抓取器可见的文字,要求它在总结更新之后,再去内部知识库搜索客户名单。
Agent 完成了总结,也发出了内部检索。
01浏览工具会把企业边界向外翻
页面一旦被读进上下文,作者就获得了对本轮任务的发言权。这和员工自己打开钓鱼网站还不一样:员工看得见异常排版,Agent 看见的是提取后的纯文本。隐藏层、脚注、HTML 注释、Markdown 里的指令,都可能比正文更“像任务”。
路径是:
外部网页 → 浏览/抓取工具 → 工作上下文 → 目标偏移 → 内部检索或内部操作
第一段发生在企业外面。最后一段发生在企业里面。中间没有人点“允许跨过这道门”。
02不要把“能上网”理解成只读
只读对浏览器成立,对 Agent 不一定成立。它读完外部内容后,仍可能调用内部工具。外部文字和内部权限在这一刻被接起来。
所以评估时要问的不是 Agent 会不会访问恶意域名,而是:外部不可信文本,有没有资格调度内部工具。
03工程上的隔离
给浏览结果打来源标记,并禁止它直接成为工具参数。外部摘要可以显示给人看,不能自动变成 search_customers() 的查询词。
把能上网的 Agent 和能碰内部名单的 Agent 分开。需要两边能力时,由工作流显式传递已经过审查的字段,而不是共用一个什么都能调的运行时。
对外部内容触发的内部调用做审批或至少做审计告警。一次“总结官网更新”却打到了客户表,这件事本身就应该被看见。