事件经过
DB-GPT 至 0.8.2 在 /api/v1/chat/react-agent 端点存在未认证 RCE,该端点依赖一个模拟的 get_user_from_headers 函数,授予每个调用者管理员角色。未认证攻击者可发送提示,驱动 ReAct 代理的非沙盒 code_interpreter 和 shell_interpreter 工具,在 Web 服务器容器中以 root 身份运行任意 Python/bash,包括使用默认凭证访问捆绑的数据库。
影响分析
DB-GPT 是一个开源代理数据框架,将 LLM 代理与数据库耦合;表面意图是保持代理沙盒化,但模拟认证对象破坏了这一点。攻击者可在容器中获得预认证 root 权限,并直接访问代理旨在服务的数据源,实现数据外泄、模型流水线篡改和横向移动。
攻击途径
向 /api/v1/chat/react-agent 发送未认证提示,驱动非沙盒的 code_interpreter/shell_interpreter 工具
受影响系统
DB-GPT <= 0.8.2(pypi dbgpt-app)
缓解措施
升级到修复版本,并用真实认证/RBAC 替换模拟用户解析;对代理的代码/shell 工具进行沙盒化