toshiki

LiteLLM 1.107.0に情報窃取とバックドア。pip installが入口に

· SafeDep(Hacker News経由) #130

LLMの共通窓口ライブラリLiteLLMの1.107.0がPyPI上で改ざんされ、Python起動のたびに鍵や環境変数を盗む仕掛けが入っていた。

  • #security
  • #supply-chain
  • #python
  • #pypi
  • #llm

#なぜ今日これを選んだか

LLMを触る開発者なら一度は入れたことがあるライブラリが、10月21日に公式のPyPIで汚染されました。import しなくても Python を起動しただけで動く仕組みで、手元のSSH鍵やAPIキーが狙われます。AIで開発する時代の「入口の守り方」を学ぶのに、これ以上ない生きた教材だと思いました。

#要点

  • 汚染されたのは litellm==1.107.0(2026-10-21 11:39 UTC ごろ公開、現在はPyPIから削除)。1.106.2 と rc1・rc2 は問題なしと報告されている
  • site-packages に cook.pth と sitecustomize.py が置かれ、Pythonが起動するたびに実行される。litellm を import しなくても動く
  • 盗まれる対象はSSH鍵・クラウド認証情報・CIのシークレット・環境変数・ブラウザの保存パスワードなど。GitHubのタグと配布物が一致しておらず、公開CIを通さずにアップロードされていた

#自分にとっての示唆

.pth が起動時にコードを実行できるという Python の仕様は、知っていても「自分の環境で」意識したことはありませんでした。依存ライブラリは書いたコードと同じ権限で動く、という当たり前を突きつけられます。明日からやることは2つ。1つ目は、バージョンとハッシュをロックファイルで固定し、出たばかりの新版にすぐ飛びつかないこと(汚染版は見つかり次第PyPIから消されるので、数日待つだけで踏む確率が下がります)。2つ目は、APIキーを .env に平文で置きっぱなしにせず、使う時だけ読み込む形に寄せること。セキュリティは攻撃手法を知るほど守り方が具体的になるので、バグバウンティの勉強にもそのままつながります。