Agent 安全需要新语言

传统应用安全已经有成熟语言:注入、越权、供应链、身份、日志、隔离。大模型安全早期更多围绕提示注入、越狱和幻觉。Agent 把两套问题叠在一起。

一个 Agent 既会理解文本,也会调用工具;既会读取外部内容,也可能写入系统;既有模型输出,也有长期记忆、插件、技能和身份授权。风险因此变得更像系统安全,而不是单纯内容安全。

OWASP 的价值,是把这些问题正式命名。

技能包是新供应链

Agentic Skills Top 10 特别值得注意。很多平台都在把 Agent 能力包装成 skill、plugin、tool 或 MCP server。它们让 Agent 更有用,也让攻击面扩大。

一个恶意技能包可能诱导 Agent 泄露上下文,滥用凭据,篡改输出,或者在看似正常的任务里植入危险动作。技能生态越开放,供应链风险越不能靠用户肉眼判断。

这和 npm、PyPI、浏览器插件的历史很像,只是执行者换成了会自主选择工具的 Agent。

安全控制要贴近运行时

Agent 安全不能只靠上线前评审。真正的风险发生在运行时:拿到了什么输入,选择了哪个工具,调用了什么 API,写入了哪些系统,是否越过审批边界。

工程团队需要的不是一句「请安全使用」,而是工具白名单、最小权限、隔离执行、human-in-the-loop、敏感动作审批、日志留存和红队测试。

这些控制越早进入开发框架,后期补救成本越低。

从担忧走向清单

OWASP 框架的长期作用,是把 Agent 安全从抽象担忧变成检查清单。团队可以逐项问:有没有身份管理,技能来源如何验证,外部内容如何标记,工具调用如何审计,失败时如何回滚。

这不会消除所有风险,但会提高讨论质量。没有共同语言时,安全只能停在恐惧;有了框架,工程团队才知道从哪里开始补。

Agent 越自主,安全越需要落到具体控制。