事件经过
Google ADK TypeScript(@google/adk)0.4.0 至 0.6.0 之前的 FileArtifactService 未对 userId 或 sessionId 参数中的相对或百分号编码路径遍历序列(../、..%2F)进行清理。当 ADK API 服务器部署此非默认工件后端时,远程未认证攻击者可读取匹配工件目录布局的文件,或在代理工具调用 saveArtifact 时将文件写入预期工件存储根目录之外。
影响分析
ADK 是 Google 官方代理开发工具包;代理工件存储正是代理工具持久化生成文件、代码和检索文档的地方。这里的遍历允许未认证调用者访问工件根目录之外的服务器文件,或植入代理稍后拾取的文件——这是代理工作流中数据泄露和间接内容投毒的真实途径。
攻击途径
未认证的构造 userId/sessionId 路径遍历,针对 ADK API 服务器工件端点
受影响系统
@google/adk(Google ADK TypeScript)0.4.0 至 0.6.0(不含0.6.0),当启用 FileArtifactService(非默认)时
缓解措施
升级到 @google/adk 0.6.0 或更高版本(adk-js 中的修复提交 710b4ebe / 8c0eaa16)