SECURITY / 安全笔记
大模型"动手"之后:AI 安全与 Web 安全正在变成同一件事
最近整理了一篇关于大语言模型与 Web 安全融合研究的综述,核心观点可以浓缩成一句话:当模型开始替你操作网页和工具,AI 安全与 Web 安全就不再是两条平行线。
从对话框走向真实操作
过去我们用 LLM 只做对话,输入输出都在对话框里。现在不一样了:模型要读网页、检索知识库、调用业务接口、提交表单。WebArena 这类环境已经把电子商务、论坛等真实网站作为智能体测试场[1],安全评价的范围也从"生成了什么文本"扩展到"执行了什么操作、动了谁的数据、调用了哪个工具"。
威胁从哪来
最典型的是间接提示注入。攻击者不用直接和模型对话,只要把恶意指令藏进网页、文档或工具返回值里,模型读到就会照做。InjecAgent 的基准测试中,约 24% 的攻击用例成功[3]。这类内容不执行任何脚本,传统的 XSS 检测根本看不见它。
第二类是检索知识污染。RAG 系统把外部资料喂给模型,攻击者往知识库里掺入恶意文本,模型就会针对特定问题给出攻击者想要的答案[12]。先受损的是答案可信度,而且它和"劫持指令"是两回事,要分开检验。
第三类是模型输出被当成可执行内容。模型生成的 HTML 直接插进页面、生成的 URL 被后端拿去发请求、生成的 SQL 交给数据库执行——XSS、SSRF、SQL 注入可能以新的入口卷土重来[13]。OWASP 2025 版 LLM 风险清单把"不当输出处理"单列为一项,CVE-2025-32711(Microsoft 365 Copilot 信息泄露)就是真实产品中的实例[15]。
还有一种更隐蔽:接口调用完全合法,却执行了用户没授权的操作,这就是过度代理[8]。接口可用、账号有权限、任务没许可——三件事必须分开判断。
AI 也不全是风险
YuraScanner 用 LLM 引导工作流探索,在 20 个 Web 应用里找到 12 个零日 XSS[18],说明语义驱动的探索能到达传统扫描器够不到的深层状态。但论文提醒:AI 辅助测试要区分"探索状态"和"证明漏洞",AI 生成的代码和钓鱼内容同样需要独立验证。
防御的落点
论文给的防御框架很朴素,全部落在系统层而不是模型层:外部内容保留来源标签;工具调用由后端按身份和对象授权;模型输出按目的地处理(渲染走文本路径、SQL 走绑定参数、URL 走目标白名单);任务设置预算和审计日志。评价一个系统,既要看正常任务完成率,也要看攻击成功率和策略违反情况。
结论:大模型只是把不可信内容、模型决策和业务执行串在了一条链上。安全没有捷径,权限和数据流约束仍然是最可靠的护栏。
论文的 22 条参考文献与文中链接,见《星间文献库》→