技术说明
PraisonAI 是一个拥有约 7,100 个 GitHub 星标的开源多代理编排框架,它提供了一个传统的基于 Flask 的 API 服务器 (src/praisonai/api_server.py),默认情况下身份验证被禁用 (AUTH_ENABLED = False, AUTH_TOKEN = None)。当身份验证被禁用时,check_auth() 辅助函数返回 True,这导致两个受保护的路由——GET /agents 和 POST /chat——在设计上失败开放。任何可通过互联网访问的实例都允许未经身份验证的访问代理工作流。GitHub 咨询 GHSA-6rmh-7xcm-cpxj 于 2026 年 5 月 11 日 13:56 UTC 发布。Sysdig 观察到来自 146.190.133.49 的首次针对性侦察发生在 17:32 UTC(通用路径),在 17:40 UTC 转向 PraisonAI 特定端点 (/api/agents, /api/agents/config)——在披露后三小时四十四分钟。该扫描器标识自己为 'CVE-Detector/1.0'。
攻击途径
对代理工作流触发端点的未经身份验证的远程访问。攻击者可以向 /agents 发送 GET 请求来枚举配置的工作流,向 /chat 发送 POST 请求来执行任意代理工作流,而无需提供有效的身份验证令牌。影响上限由操作员授予代理工作流的权限决定——可能包括云凭据、API 访问或数据库操作。
受影响系统
PraisonAI 版本 2.5.6 至 4.6.33。该漏洞影响任何使用传统 api_server.py 入口点并暴露于网络访问的部署。运行面向互联网的 PraisonAI 实例或在内部环境中使用传统 API 服务器的组织应假设存在暴露风险。
缓解措施
升级到 PraisonAI 版本 4.6.34 或更高版本,该版本移除了存在漏洞的传统 API 服务器并引入了更强的身份验证保护。完全停止使用传统的 api_server.py 入口点。监控包含 'CVE-Detector/1.0' 用户代理字符串的请求以及针对 /agents、/chat、/api/agents 和相关 MCP 端点的可疑流量。在无法升级之前,实施网络层控制来限制对 API 服务器的访问,因为绕过不会在应用程序日志中留下缺少身份验证的信号。