开源litellm Releases·原文 2026年10月4日

LiteLLM发布v1.104.0:代理启动强制校验主密钥,新增泄露密码检测

LiteLLM v1.104.0发布,Docker镜像继续用cosign签名;该版本新增多项认证安全功能,并带有一个破坏性变更:代理在master key未设置、为空或为公开已知值时拒绝启动。

AI解读:v1.104.0的破坏性变更是代理(proxy)在master key未设置、为空或属于公开已知值时拒绝启动;同时文档不再在随发布的配置和示例中宣传sk-1234作为master key。这两点来自发布说明列出的PR条目,是本次升级最需要核对的兼容性风险。

认证相关新增包括:密码策略中加入泄露密码检测、支持自助修改密码、对泄露或被管理员设置的密码强制重置,以及拒绝已停用的JWT用户并刷新缓存状态。这些功能按发布说明由BerriAI相关作者提交。

发布方建议用固定的commit hash验证(因其不可篡改),也可用release tag验证,但后者依赖仓库的tag保护规则。

其他修复覆盖proxy、router、MCP、guardrails和Google GenAI适配器等:例如 /model/info列表用orjson序列化一次、batch token可归因、MCP tools/call不再在工作节点未提供tools/list时 404、BudgetExceededError从 429 改为 422、n>1 流式请求逐条扫描各choice的工具调用参数。

成本表同步规模较大:多个PR批量同步OpenRouter、AWS Bedrock、Azure、Together AI价格,其中AWS Bedrock有 25 个模型的同步因enrichment failed被标注(另有 66 held)。这些是发布说明中的价格同步记录,不构成对价格准确性的独立核验。

LiteLLM发布v1.104.0。发布说明中列出的最重要变更是安全相关的破坏性改动:代理在master key未设置、为空或属于公开已知值时拒绝启动(PR #42019),并且随发布的配置与示例不再宣传sk-1234作为master key(PR #42011)。

该版本所有Docker镜像继续使用cosign签名,密钥沿用commit 0112e53引入的同一把密钥。发布方建议用固定commit hash验证,也提供了用release tag验证的方式。

代理启动强制校验主密钥

发布说明将“代理在master key未设置、为空或公开已知时拒绝启动”标注为破坏性变更(feat(proxy)!)。同一版本的另一条改动是不再在随发布的配置和示例中宣传sk-1234作为master key。使用默认或占位主密钥启动的部署在升级后需要先配置主密钥。

  • 破坏性变更:master key未设置、为空或公开已知时,代理拒绝启动。
  • 文档改动:不再在随发布的配置和示例中宣传sk-1234作为master key。

Docker镜像签名验证方式

LiteLLM Docker镜像用cosign签名,每个版本使用commit 0112e53引入的同一把密钥。发布方给出两种验证方式:用固定commit hash获取cosign.pub(因其密码学上不可篡改,被推荐),或用release tag获取同名密钥;后者更易读,但依赖仓库的tag保护规则。

发布说明给出的预期输出包含两项检查:cosign claims已验证、签名已针对指定公钥验证。

  • 推荐:cosign verify --key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub ghcr.io/berriai/litellm:v1.104.0
  • 备选:用v1.104.0 tag路径获取cosign.pub,依赖tag保护规则。

认证与账号安全改动

本版本在认证方向集中提交了多项功能:密码策略加入泄露密码检测;支持用户自助修改密码并封堵明文密码泄露;对泄露或被管理员设置的密码强制重置;以及拒绝已停用的JWT用户并刷新缓存中的状态。

  • 泄露密码检测加入密码策略(PR #39321)。
  • 自助修改密码,并封堵明文密码泄露(PR #39562)。
  • 对泄露或被管理员设置的密码强制重置(PR #40107)。
  • 拒绝已停用的JWT用户并刷新缓存状态(PR #42064)。

代理、路由与流式处理修复

发布说明列出的修复涉及代理、路由、MCP、护栏和流式响应处理。其中一处行为变更是代理对BudgetExceededError返回 422 而不是 429;另一处是护栏在n>1 的流式请求中分别扫描每个choice的工具调用参数,并记录重写被丢弃的原因。

MCP方面,tools/call不再在尚未提供过tools/list的工作节点上返回 404。路由器方面,新增NotFoundErrorRetries,使重试策略可以固定 404 重试;批处理模型组会打上标记,使batch token可归因。

  • 代理:BudgetExceededError返回 422 而非 429(PR #42097)。
  • 护栏:n>1 流式请求逐条扫描各choice的工具调用参数并记录丢弃原因(PR #40986)。
  • MCP:tools/call不再在未提供tools/list的工作节点上 404(PR #42072)。
  • 路由:新增NotFoundErrorRetries固定 404 重试(PR #42045)。
  • 批处理:检索batch时打上model_group,使batch token可归因(PR #42062)。

模型、价格与提供商适配更新

版本包含大量价格同步PR:OpenRouter、AWS Bedrock、Azure、Together AI等均有批量更新。其中AWS Bedrock的一次 25 模型同步被标注为enrichment failed(66 held),另有 13 模型同步、3 模型同步、4 模型同步也带有类似标注。这些是发布方的同步记录。

提供商适配方面:fal_ai新增Seedance 2.5/2.0视频生成、gpt-image-2.5 flare/sunburst、flux/dev和图像编辑;xAI成本表加入grok-4.7;Bedrock加入us.moonshotai.kimi-k3价格并补齐全球Kimi K3条目;registry加入MAI-Image-2.5-Pro价格、修正Fireworks/Together条目、加入Groq弃用信息与Bedrock区域Qwen3 Next价格。

  • AWS Bedrock 25模型价格同步标注enrichment failed,66 held(PR #42250)。
  • fal_ai新增Seedance 2.5/2.0视频生成(PR #41980)。
  • xAI成本表加入grok-4.7(PR #42264)。
  • Bedrock加入us.moonshotai.kimi-k3价格并补齐全球Kimi K3条目(PR #42271)。

测试迁移与工程改动

发布说明中有大量测试迁移PR,把旧测试迁入tests/unit,并按phase/wave编号推进;同时把tests/unit的每个目录设为包以让pytest收集唯一,并在导入时阻断外部socket并加入socket策略回归测试。CircleCI也被接入tests/unit。

类型与Rust方向:30 个文件和 32 个文件分别被替换Any为经过验证的类型;Rust token counter后端被拆分,并新增类型化secret managers与共享认证适配器。

  • 多项测试迁移至tests/unit,覆盖多个provider与phase(引用PR编号见发布说明)。
  • tests/unit每个目录设为包,保证pytest收集唯一(PR #42135)。
  • 导入时阻断外部socket并加入socket策略回归测试(PR #42113)。
  • 30 个与 32 个文件替换Any为经过验证的类型(PR #42127、#42220)。
  • Rust:拆分token counter后端(PR #42165);新增类型化secret managers与共享认证适配器(PR #42173)。

信息来源

litellm Releases原始来源