漏洞概述 标题: 高严重性 Vault 凭证泄露在 @smythos/sdk 中通过不安全的回退机制 描述: @smythos/sdk 中存在一个不安全的凭证回退机制,允许内部或外部攻击者窃取高度敏感的系统 Vault API 密钥。如果 SDK 使用攻击者控制的 初始化,并且没有明确提供凭证,框架会自动附加系统的全局 Vault 令牌(例如,OpenAI 或 Anthropic 密钥),并将其直接发送到攻击者的服务器。这可能导致多租户部署中的严重凭证泄露。 影响范围 生态系统: npm 包名: @smythos/sdk, @smythos/sre 受影响版本: <= 0.0.15 已修复版本: 未提供 修复方案 补丁版本: 未提供 漏洞细节 在 中, 函数配置新 LLM 交互的凭证。如果用户省略了 或 参数,函数会执行“静默回退”,通过激进地设置凭证数组为 。 当 被连接器服务请求时,SRE 环境( )会将其解析为系统级 (通常从 加载)。这种提取完全绕过了任何用户来源或目标信任检查。 通过简单地提供外部目标 (例如 )而不指定 ,攻击者可以迫使后端 Node.js 应用程序使用平台根 API 密钥对其自己的恶意服务器进行身份验证。 概念验证 (PoC) 前提条件 SDK 必须在 Node 应用程序中初始化( ),并且能够访问全局 vault 配置( )。 攻击者需要能够定义自定义 LLM 提供程序设置(特别是控制 属性),同时故意省略 。 复现步骤 1. 在目标项目环境中保存以下代码为 : 2. 使用 或 运行有效载荷: 证据日志 影响 这是一个关键的凭证泄露漏洞。任何集成 @smythos/sdk 的多租户平台或 Agent 代理,允许动态模型定义(其中租户可以定义自定义 用于本地推理或自定义节点),都容易受到全面的 API 密钥盗窃。泄露的系统 Vault API 密钥可能导致未经授权的全局 LLM 使用,从而造成严重的财务损失。此外,如果 vault.json 中存在其他敏感的内部服务凭证,它可作为更深层次组织妥协的跳板。 严重性 严重性: 高 向量字符串: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N 弱点 CWE-200: 向未授权行为者暴露敏感信息 发生情况