LiteLLM v1.89.0-rc.1、cosignで何が変わるか

鈴木 蓮
鈴木 蓮 20代・ ソフトウェアエンジニア
LiteLLM の v1.89.0-rc.1 がリリースされた。Star 数が 49.5k まで増えているのを見て、個人開発でも使ってる人は結構多いんだなと改めて思った。

リリースノートを読んでいて一番気になったのは、Docker image の署名検証まわりだ。LiteLLM の公式イメージがすべて cosign で署名されるようになっている。しかもコミットハッシュをピンして検証する方法が推奨されていて、タグで検証する方法は「convenience」と位置付けられている。

cosign verify \
  --key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub \
  ghcr.io/berriai/litellm:v1.89.0-rc.1

これを見て、正直「あ、自分全然やってなかった」と思った。自分のローカル環境では LiteLLM を Docker で動かしていて、毎回 `docker pull` してそのまま使っていた。タグが immutable じゃないことは知っていたのに、サプライチェーン攻撃のリスクをちゃんと考えていなかった。

cosign、個人開発でも現実的に使えるか



cosign 自体は以前から存在は知っていた。でも「エンタープライズ向けのやつでしょ」という感覚があって、個人プロジェクトで使ったことはなかった。今回のリリースを機に実際に手元で動かしてみたら、コマンド 1 本で終わる。ハマることもなかった。えぐいくらいシンプルだった。

検証成功時の output はこんな感じで出てくる。

# cosign claims were validated
# signatures were verified against the specified public key

これを CI に組み込むだけで、pull したイメージが BerriAI の公式キーで署名されたものかどうか確認できる。コミットハッシュでピンするのが「cryptographically immutable だから最強」とリリースノートに書いてあるのも、実際その通りで、タグは後から別のイメージを指すよう書き換えられる可能性がある。コミットハッシュならそれがない。

他の変更点で刺さったのはどこか



自分が個人開発で使っている構成に引きつけると、今回のリリースで気になる修正がいくつかあった。


  • mistral/ministral-8b-latest のモデル価格マップの修正

  • Anthropic と Fireworks での tool schema の `$ref` インライン化

  • Datadog の 413 エラー時にバッチを分割して再送するようになった修正

  • `use_chat_completions_api` フラグがプロバイダーのリクエストボディに漏れ出ていたバグの修正



とくに `use_chat_completions_api` の漏れバグは「これ踏んでたかもしれない」と思った。自分は複数プロバイダーを切り替える設定を書いているので、フラグが意図せず別プロバイダーへのリクエストに混入していたとしたら、エラーの原因を特定するのにかなり時間を溶かしていた可能性がある。

もう一つ、Datadog の 413 対応も地味に神アップデートだ。以前、ログのバッチサイズが原因で 413 が返ってきたとき、LiteLLM が再送ループに入って詰まることがあった。チームの Slack で話題になって、当時は手動でバッチサイズを調整して回避した。あの修正がやっと入ったかという感じ。

rc.1 なので本番に即反映するのはまだ待ちだが、手元の検証環境には今日中に上げてみようと思っている。cosign の検証を CI ステップに追加するのも、このタイミングでやっておく。

無料相談受付中

AI開発・DX推進についてお気軽にご相談ください。オンライン30分から。

無料相談を申し込む