事件经过
PraisonAI 的默认搜索工具 SSRF 源于将 LLM 控制的 searxng_url 传递给 requests.get,而没有进行方案/主机/端口/解析地址验证。能够通过提示注入将恶意文本放入模型上下文的攻击者可以将智能体的搜索重定向到内部主机和云元数据服务,响应直接反馈回智能体上下文以进行进一步操作。
影响分析
这将提示注入的立足点转变为针对运行智能体的主机的网络侦察和元数据暴露原语:内部服务探测、SSRF 读取,以及通过元数据端点暴露云 IAM 凭据——全部来自未经验证的 LLM 输入。
攻击途径
searxng_search 和 search_web 将 LLM 控制的 searxng_url 参数直接传递给 requests.get,没有验证方案、主机、端口或解析地址。提示注入的内容将搜索工具引导到内部 JSON 服务,探测内部端口开放/关闭状态,并尝试云元数据请求;返回的 JSON 落入智能体上下文。
受影响系统
PraisonAI praisonaiagents < 1.6.62(searxng_search 工具和 search_web SearxNG 提供程序)
缓解措施
升级到 praisonaiagents 1.6.62(提交 2a855c470077c7d2e2479a575f7ef7f548d51c33;GHSA-4pcv-mg8v-vrgf)。在发出请求之前验证/解析 searxng_url 的方案、主机和地址。