**LiteLLM マルウェア攻撃に対する私の時間別対応策**

2026/03/27 0:48

**LiteLLM マルウェア攻撃に対する私の時間別対応策**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:


要約

悪意のあるホイール、

litellm==1.82.8
(約14.9 MiB)が 2026年3月24日 10:52 UTC に PyPI にアップロードされました。パッケージには
.pth
ファイル(
litellm_init.pth
)が34 KBあり、Python インタプリタが起動するたびに自動的に実行されます。このファイルは再帰的な子プロセスを生成し、11キロプロセスのフォークボムを作成します。フォークボムが稼働している間にペイロードは SSH キー、GCP/AWS/K8s の認証情報、
.env
ファイル、暗号通貨ウォレットデータ、シェル履歴その他の秘密情報を収集し、ハードコードされた RSA 鍵で暗号化して
https://models.litellm.cloud
に POST します。

マルウェアはまた、ユーザーの

~/.config/sysmon/
ディレクトリ(11:07 UTC に作成)にゼロバイトの
sysmon.py
サービスを書き込み、永続化を試みます。さらに、特権 Kubernetes ポッドへの横方向移動コードも含まれていますが、macOS ではサービスアカウントトークンが欠如して失敗します。

拡散チェーン:

  1. Cursor → futuresearch‑mcp‑legacy v0.6.0
    uvx
    コマンド経由)が伝播依存関係
    litellm
    を取得。
  2. 悪意あるホイールがインストールされ、
    .pth
    ファイルが Cursor および関連ツールで使用されるすべての Python インタプリタ上で自動実行。

検知タイムライン:

  • 10:52 UTC – PyPI に毒入りホイールがアップロード。
  • 10:58 UTC –
    futuresearch‑mcp‑legacy
    がパッケージを取得。
  • 11:07 UTC – 永続化試行実行。
  • 11:09 UTC – 強制再起動で永続化が中断され、フォークボムが観測。

直ちに取られた対策:

  • PyPI セキュリティ (
    security@pypi.org
    ) と LiteLLM メンテナへメール送信。
  • 公開ディスクロージャーブログ投稿(PR へのリンク)。
  • 関連サブレディット (r/Python, r/netsec 等) に事案共有。

緩和推奨事項:

  1. すべての SSH キー、GCP/AWS/K8s 認証情報、Kubernetes kubeconfig ファイル、および
    .env
    秘密情報をローテーション。
  2. UV キャッシュを削除 (
    rm -rf ~/.cache/uv
    )。
  3. Cursor の自動更新を無効化;手動でアップデート適用。
  4. プロセス制限を設定 (
    ulimit -u 2048
    ) してフォークボムを防止。

報告状況:

  • PyPI:
    litellm==1.82.8
    の yank 待機中。
  • GitHub: セキュリティアドバイザリーが
    github.com/BerriAI/litellm/security
    で開設済み。

Cursor または関連ツールを使用している組織は、フォークボムクラッシュやデータ外部流出の兆候に注意し、すべての認証情報をローテーションし、永続化機構が残っていないことを確認してください。

本文

Litellm v1.82.8 – PyPIサプライチェーン攻撃


何が起きたのか?

2026年3月24日、litellm の wheel(v1.82.8)が GitHub のリリースプロセスを経ずに PyPI に公開されました。
この wheel は

litellm_init.pth
ファイルを含んでおり、Python インタープリタが起動するたびに自動的に実行されます。
その一行コードは子プロセスとして別の Python を生成し、base64 でエンコードされたペイロードを実行します。このペイロードは次のことを行います。

  • 認証情報の収集 – SSH キー、GCP/AWS/K8s トークン、
    .env
    ファイル、データベースパスワード、暗号ウォレット、シェル履歴など。
  • 取得したデータを
    https://models.litellm.cloud/
    に暗号化して送信。
  • 永続化
    ~/.config/sysmon/sysmon.py
    に systemd サービスを書き込みます。書き込み中に被害者が 11:09 に強制再起動したため、空ファイルが残ったのみです。
  • さらに子プロセスを生成
    .pth
    ファイルを再実行させることで指数関数的なフォークボム(≈ 11,000 個の Python プロセス)を発生させ、ラップトップをほぼ停止状態にしました。

攻撃は Cursor → futuresearch‑mcp‑legacy → litellm という経路で始まりました。
被害者が

uvx futuresearch-mcp-legacy
を使用していたため、自動的に改ざんされた wheel が取得されました。


直ちに行った対策

対策結果
メール
security@pypi.org
と LiteLLM メンテナ(BerriAI)へ送信
v1.82.8 の即時 yank 要求、GitHub でセキュリティアドバイザリーを開設
UV キャッシュの削除 (
rm -rf ~/.cache/uv
)
悪意ある wheel のすべてのキャッシュコピーを削除
認証情報のローテーション – SSH キー、GCP 資格情報、Kubernetes 設定、
.env
秘密
盗まれた可能性のあるシークレットの再利用を防止
K8s クラスター確認 –
node-setup-*
や sysmon ポッドなし
横方向移動は発生していないことを確認
ファイル削除
~/.config/sysmon/sysmon.py
は 0 バイトで削除済み
永続化ベクトルを排除

あなたが取るべき行動

  1. 該当マシン上で使用している すべての SSH、GCP、Kubernetes、その他の秘密鍵 を失効させる。
  2. UV キャッシュを削除 (
    rm -rf ~/.cache/uv
    ) し、悪意ある wheel のキャッシュコピーを排除する。
  3. site‑packages ディレクトリで
    litellm_init.pth
    を検索し、見つかったら削除する。
  4. litellm を安全と確認済みのバージョン(例:
    <1.77.3
    )にアップグレードまたは再インストールする。
  5. v1.82.8 の他のインストールがあれば、PyPI と LiteLLM メンテナへ報告する。

なぜ重要なのか

  • この侵害は、広く使われている AI ライブラリでさえサプライチェーン攻撃により武器化され得ることを示しています。
  • .pth
    ファイルの自動実行は Python のすべての起動時 にペイロードが走るため、膨大な攻撃表面を持ちます。
  • フォークボムはシステムを破壊するだけでなく、情報漏洩の時間窓も拡大します。

報告状況

すでに以下を実施済みです:

  1. security@pypi.org
    にメールし、v1.82.8 の即時 yank を要求。
  2. GitHub でセキュリティアドバイザリーを開設:
    github.com/BerriAI/litellm/security/advisories

これらの報告書作成や送付にご協力が必要な場合は、お知らせください。

同じ日のほかのニュース

一覧に戻る →

2026/03/27 5:53

**Deploytarot.com – デプロイメントのタロットカードリーディング** 「デプロイプロジェクトに対する洞察に満ちた指針を、個別化されたタロットカードリーディングで得ましょう。」

## 日本語訳: 記事では、ソフトウェアデリバリーを一連のタスク、リスク、およびステークホルダーの視点として可視化する比喩的な「カードデッキ」を紹介しています。各カードは、A/Bテスト、AI統合、DB移行、サーバーレス移行などの特定のタスクとアイコンおよび簡潔な説明をペアにします。リスクカードでは、「どの指標が重要かについてゼロコンセンサス」や「カードが見ている」という不確実性を列挙しています。役割カードは、CEO、CISO、CTO、清掃係、クライアント、コンサルタント、請負業者、DBA、データサイエンティスト、デザイナー、DevOpsエンジニア、エンジニアリングマネージャー、人事、インターン、ジュニア開発者、オフショア開発者、プロダクトマネージャー、プロジェクトマネージャー、QAエンジニア、受付係、営業、スクラムマスター、セキュリティエンジニア、シニアデベロッパー、SRE、ステークホルダー、テックリード、VP of Engineering など多岐にわたるステークホルダーの各役割がデプロイメント決定をどのように見ているかを示す一文の逸話を提供します。 物語は「アーケナはあなたのスプリント速度を気にしない」と強調し、代わりに「時折その終点で崖がある」という潜在的な落とし穴をハイライトすることに焦点を当てています。 デッキは各引きごとに新たにシャッフルされますが、「戻ってくると覚えている」と説明され、過去の洞察を保持する動的システムであることを示唆しています。 速度よりもリスク認識を前面に押し出すことで、このモデルは多様な役割間で明確なコミュニケーションと整合性を維持し、よりレジリエントなデリバリープロセスを育むことを奨励します。

2026/03/26 0:46

**2025年に多くの制御室がシー・フロムグリーン(海泡色)を採用した理由は?** | 要因 | なぜ重要だったか | |------|-----------------| | **エルゴノミクス研究** | その年に公開された調査では、海泡色が目の疲労を軽減し、長時間の監視作業中に集中力を向上させることが示されました。 | | **省エネルギー動向** | この色は白や黄よりも自然光を反射しやすく、24時間稼働する環境で人工照明の必要性を低減します。 | | **ブランドアイデンティティ** | いくつかのテック大手が「グリーンファースト」サステナビリティイニシアチブを開始し、その理念に合わせて制御室も再設計されました。 | | **心理的影響** | 緑は落ち着きとバランスに結びついており、オペレーターが重要なシステムを管理する際には不可欠な特性です。 | | **規制ガイドライン** | 新たな安全基準では、状態インジケータの可視性を高めるカラースキームが推奨されており、海泡色は赤警報と衝突せずにその要件を満たしました。 | まとめると、エルゴノミクス科学、省エネルギー政策、企業ブランディング、心理研究、そして更新された規制の融合が、2025年の制御室にとって実用的でストレスの少ない選択肢として海泡色を押し上げました。

## Japanese Translation: 記事は、核施設や工業サイトでよく見られる特徴的な海藻緑色を第二次世界大戦時のファーバー・ビレン(Faber Birren)の産業用カラー安全コードに遡ります。2017年夏、著者はオークリッジのX‑10グラファイト炉(「ファットマン」研究のためにロスアラモスへ輸送されたプルトニウムを生成した24フィート四方のブロック)を訪れ、壁と制御パネルでビレンが推奨するライト/ミディアムグリーンが一貫して使用されていることに注目しました。ビレン(1919–1996)は1944年に国立安全協議会によって承認されたカラーコードを開発し、1948年までに世界中で採用されました。このコードは次のような色から構成されています: - **Fire Red** – 火災防止、緊急停止、可燃液 - **Solar Yellow** – 注意、物理的危険 - **Alert Orange** – 危険機械部品 - **Safety Green** – 救急装置、出口、洗眼ステーション - **Caution Blue** – 非安全通知または故障表示 - **Light Green** – 視覚疲労を軽減する壁色 同じスキームがハンフォードのB‑レイザー制御室にも見られます:下部壁にミディアムグリーン、機械にはミディアムグレー、火災防止にファイヤーレッド、低照度エリアにベージュ、床はライトです。ビレンは、このような機能的カラー使用が明るさを制御し、事故を減らし、メンテナンス基準を向上させ、労働士気を高めると主張しました。 ドイツの「ケルン橋緑(Cologne Bridge Green)」は、橋という工業用途で開発された海藻緑色の別例です。著者はまた、古い自動車部品リストに触発されて「Parts List」というフォントをデザインし、オイル交換待合室の雰囲気を呼び起こすことを目的としています。このフォントは彼女のウェブサイトで入手可能です。彼女はこれら歴史的安全色が今日どのように適用できるかを引き続き探求し、海藻緑の使用を現代施設に拡大する可能性や、「Parts List」フォントを産業美学を捉えるデザインツールとして推進する計画です。

2026/03/24 7:06

**クラウドフレアのGen 13サーバー:** コア数とキャッシュ容量を入れ替えて、パフォーマンスを2倍にしています。

## Japanese Translation: Cloudflare は、AMD EPYC 5th‑Gen「Turin」CPU と Rust ベースのリクエストハンドラ FL2 を搭載した新しい Gen 13 エッジサーバーをデプロイ完了しました。Turin はコア数が倍増(最大 192 コア、Gen 12 の 96 コアに対して)し、Zen 5 により IPC が向上、1 コアあたりの電力消費が約32%削減され、DDR5‑6400 メモリバンド幅をサポートします。チップは全コアで 384 MB の L3 キャッシュしか共有せず、1 コアあたり約 2 MB(Gen 12 の 3D V‑Cache を搭載した場合は 12 MB/コア)です。 元の FL1 ハンドラ(NGINX/LuaJIT)は Turin 上で L3 ミス率が高く、ミスサイクルが約350回に対しヒットは約50回と遅延が増大し、スループット向上にもかかわらずレイテンシが悪化しました。プリフェッチャーの調整、ワーカースケーリング、および NUMA コアアフィニティの最適化を行っても、スループットはわずか 5 % 未満にしか改善されませんでした。FL2 の軽量メモリアクセスパターンはこのボトルネックを解消し、Turin 上で Gen 12 に比べ約 50 % 低いレイテンシ、62 % 高いスループット、および FL1 より CPU あたり 2 倍のリクエスト数を実現します。 Gen 13 が Cloudflare のグローバルエッジネットワーク全体に完全展開されたことで、同社はサーバー数を減らしつつより多くのトラフィックを処理できるようになり、SLA に縛られたレイテンシを維持したままで最大 2 倍のスループットを達成します。これにより、パフォーマンス・ペー・ワットが約 50 % 改善され、ラック単位でのスループットは約 60 % 向上します。結果として CDN とクラウド顧客双方の運用コスト削減とカーボンインパクト低減に寄与します。

**LiteLLM マルウェア攻撃に対する私の時間別対応策** | そっか~ニュース