AI部品Guardrails AIに毒入りパッケージ混入 CVE-2026-45758、TeamPCP連続攻撃の新標的
LLMの入出力を検証する人気OSS部品Guardrails AIのPyPI配布物に、認証情報を盗む毒入り版0.10.1が混入しました。CVE-2026-45758でCVSSは9.6。攻撃グループTeamPCPがTanStackやMistral AIなど170超のパッケージに400以上の毒入り版をばらまいた連続サプライチェーン攻撃の一部で、標的がAI開発に拡大。安全な版と確認・対処手順をまとめます。

堀川 慎
Backend Engineer / AWS / Django / Go
LLMの入出力を検証する人気OSS部品Guardrails AIのPyPI配布物に、認証情報を盗む毒入り版0.10.1が混入しました。CVE-2026-45758でCVSSは9.6。攻撃グループTeamPCPがTanStackやMistral AIなど170超のパッケージに400以上の毒入り版をばらまいた連続サプライチェーン攻撃の一部で、標的がAI開発に拡大。安全な版と確認・対処手順をまとめます。
大規模言語モデル(LLM)の入出力を検証するために使われる人気のオープンソース部品Guardrails AIが、攻撃者によって毒入りの版を勝手に配布される「サプライチェーン攻撃」を受けました。Pythonのパッケージ配布サイトPyPIに、悪意あるコードを仕込んだバージョン0.10.1が公開され、取り込んだ開発者のパソコンから認証情報を盗み出そうとするものです。共通の管理番号はCVE-2026-45758、深刻度を10点満点で表すスコア(CVSS v3.1)は9.6の「緊急(Critical)」です。
この毒入り版は2026年5月11日(米太平洋時間)にPyPIへ公開され、セキュリティ企業Socketの調査チームが約2時間で検知して隔離されました。問題は、これが単発の事件ではなく、「TeamPCP」と名乗る攻撃グループが仕掛けている連続サプライチェーン攻撃の一部だという点です。同じ波では、TanStack・Mistral AI・UiPath・OpenSearchなど170以上のnpm/PyPIパッケージ、合計400を超える毒入り版がばらまかれており、当ブログでもTelnyxの侵害やTanStackからNx Consoleへ広がった連鎖として追ってきた一連の攻撃の、新たな標的が今回のAI向け部品です。
この記事では、誰が影響を受けるのか、何が起きたのか、なぜAIツールが狙われているのか、そして開発者がいま何をすればいいのかを、できるだけわかりやすく整理します。
影響を受けるのは誰か。どのバージョンを避け、何をすべきか
まず結論です。影響を受けるのは、毒入り版が出回っていた2026年5月11日(米太平洋時間)夕方からの約2時間の間に、guardrails-aiの0.10.1を新たにインストールした人です。安全なのは0.10.0以前と、修正後の0.10.2以降です。心当たりがある場合は、0.10.1を直ちに外し、後述の認証情報のローテーション(再発行)まで行ってください。
| バージョン | 状態 | いますべきこと |
|---|---|---|
| 0.10.2 以降 | 安全(修正後) | そのまま利用可 |
| 0.10.1 | 毒入り版 (汚染) | 直ちに削除し 認証情報を全再発行 |
| 0.10.0 以前 | 影響なし | 0.10.1を経由して いなければ対処不要 |
毒入りのコードはLinux環境でのみ動作する作りでした。とはいえ、開発用のコンテナやCI(自動ビルド)はLinuxで動くことが多く、そうした環境で0.10.1を取り込んでいた場合は注意が必要です。公式アドバイザリは「ログを調べた限りデータ流出の証拠は確認されていない」としつつ、0.10.1を取り込んだ環境は侵害された前提で扱うべきとしています。具体的には、GitHubやクラウド、npm/PyPIのトークンの再発行、アカウントの不審な操作の確認が求められます。なお、Guardrails AIの有料サービスで使うAPIキー(Snowglobe/Guardrails Hub)は運営側が一斉に無効化する措置をとったため、利用者は再発行が必要です。
何が起きたのか。取り込んだ瞬間に第二段階を呼び出す
サプライチェーン攻撃とは、ソフトの「欠陥」を突くのではなく、正規の配布物そのものに毒を混ぜて、利用者に正規品として取り込ませる手口です。今回は、攻撃者が本物のguardrails-aiになりすました毒入りの0.10.1をPyPIに公開し、いつもの感覚でpip installした開発者を狙いました。
毒入り版では、パッケージの入り口にあたるguardrails/__init__.pyに13行ほどの新しいコードが追加されていました。これはパッケージを読み込んだ(importした)瞬間に自動で動き出し、攻撃者が用意した外部サイト(git-tanstack[.]com)から第二段階のプログラムを取ってきて、Python(python3)で実行します。SafeDepの解析によれば、この第二段階は認証情報を盗み出す「クレデンシャルスティーラー」で、クラウドの内部情報を返す特殊なアドレス(169.254.169.254)にもアクセスし、クラウド側の権限まで奪おうとします。
CVE-2026-45758:PyPIに公開された悪意ある0.10.1(CWE-506)
この事案にはCVE-2026-45758という管理番号が割り当てられています。技術的な分類は「埋め込まれた悪意あるコード(CWE-506)」で、ソフトの作り込みのミスではなく、配布物に意図的に仕込まれた悪意そのものを指します。CVSSの内訳では、ネットワーク越しに(AV:N)、特別な権限なしで(PR:N)成立し、必要なのは利用者がパッケージを取り込む操作だけ(UI:R)で、影響範囲は取り込んだ環境を越えて広がる(S:C)とされ、情報の窃取・改ざん・破壊のすべてに及ぶ(C:H/I:H/A:H)と評価されています。攻撃の足跡から、この毒入り版は「TeamPCP」と呼ばれる攻撃グループによるものとされ、外部サイトには「With Love TeamPCP」という署名が残されていました。
この穴を、どんな人が、何のために狙うのか
この攻撃が怖いのは、ソフトに欠陥があったからではなく、正規の配布物そのものに毒が仕込まれ、pip installして読み込んだ瞬間に攻撃者のコードが走り出す点です。狙ってくるのは、正規のパッケージ名になりすまして毒入り版を公開する「TeamPCP」のような攻撃グループ、その毒入り版を自動で取り込ませるCIの依存解決や、偽の更新通知で踏ませる配布者です。彼らの目当ては、その開発マシンやビルド環境にある、GitHubやnpm/PyPIのトークン、AWS・GCP・Azureのクラウド鍵、SSHの秘密鍵、CI/CDの認証情報といった、そのまま次の侵入に直結する鍵束です。汚染された0.10.1を取り込んだ瞬間、Linux上で第二段階のプログラムが呼び出され、これらが吸い上げられてしまいます。
奪われるのが開発者の鍵束であるほど、被害は1台では止まりません。盗んだトークンで本人のリポジトリや公開パッケージに入り込み、そこにさらに毒を仕込んで配布し、そのパッケージを使う下流全体へ自己増殖していくワーム(自己増殖型の攻撃)へと育ちます。実際この一連の攻撃では、TanStackやMistral AI、OpenSearchなど170を超えるパッケージで400以上の毒入り版がばらまかれました。クラウドの内部情報アドレスまで叩く設計から、開発者一人の取り込みが、その先のクラウド基盤やリリース物全体に波及しうる構図です。
そして、その後始末は取り込んだ開発者個人にとどまらず、そのパッケージを依存に持つすべてのプロダクトと利用者に返ってきます。漏れたトークンの一斉失効と再発行、ビルド環境の作り直し、サプライチェーン汚染が疑われる場合の利用者への通知——CVSSの9.6という数字以上に重いのは、自分のコードは一行も間違っていなくても、依存している部品の1つが毒入りなら巻き込まれてしまうという点です。だからこそ、取り込む部品の素性を確かめ、汚染に素早く気づける仕組みが、現代の開発では欠かせません。
これは単発ではない。「TeamPCP」が仕掛ける連続サプライチェーン攻撃
今回のGuardrails AIの汚染は、ここ数か月続く大きな攻撃の波の一部です。攻撃グループ「TeamPCP」は、2026年3月にセキュリティスキャナーTrivyの配布物を汚染した一件と同じ署名を残しており、5月にはいわゆる「Mini Shai-Hulud」と呼ばれる自己増殖型の攻撃で、npmとPyPIにまたがる大量のパッケージを一気に汚染しました。
この波で標的になったのは、データ取得ライブラリのTanStackルーター系(42パッケージ)、自動化ツールのUiPath(65パッケージ)、検索基盤のOpenSearch(npmで週130万ダウンロード)、そしてAI関連ではMistral AIのSDKやGuardrails AIです。SecurityWeekの報道によれば、毒入りのコードはインストール時や読み込み時に自動で動く仕掛けを使い、CI/CDのトークンやクラウド鍵、GitHub認証情報を盗み、gh-token-monitorのような常駐プログラムで居座り続ける設計でした。
当ブログでも、同じTeamPCPによるTelnyxの侵害(WAVファイルにマルウェアを隠す新手口)や、TanStackからVS Code拡張Nx Consoleへ広がった連鎖を追ってきました。今回のGuardrails AIは、その同じ攻撃者がAI開発の現場へ標的を広げたことを示す一件です。汚染されやすい依存関係を継続的に点検するには、OSSサプライチェーンの監視・スキャンの考え方が役立ちます。
発覚から対応までの流れ
毒入り版は短時間で検知・隔離されましたが、その間に取り込んだ環境は影響を受けます。時系列で整理します。
← スワイプで移動
なぜAI関連のツールが狙われるのか
この波で、Mistral AIやGuardrails AIといったAI開発に使われる部品が相次いで標的になったのは偶然ではありません。AI関連のライブラリは新機能の追加が速く、開発者がこまめに最新版を取り込みます。更新の頻度が高いほど、毒入り版が出た直後に取り込んでしまう確率も上がります。
さらに、AIアプリの開発・運用は、強力なクラウド権限やAPIキーを持つ環境で行われがちです。モデルの呼び出し、データの読み書き、GPUを使ったビルドなど、価値の高い認証情報がそろった場所だからこそ、そこで動く部品を1つ汚染できれば攻撃者の見返りは大きくなります。AI部品をめぐっては、外部モデルを信頼して読み込む設定が悪用される事例も報告されており、「便利なAI部品をとりあえず入れる」ことのリスクが現実になっています。
Guardrails AI自体は、LLMの出力から個人情報や有害な内容を取り除くための「安全装置」を提供する部品です。そのAIを安全に使うための部品が、配布経路を突かれて攻撃の入口になった、というのが今回の構図です。AIを守る道具であっても、取り込む経路そのものを点検しなければ守りは完成しません。
いま何をすればいいのか
開発者がやるべきことは、まず自分の環境が0.10.1を取り込んでいないかの確認です。手順は次のとおりです。
- guardrails-aiのインストール版を確認し、0.10.1なら直ちに0.10.2以降へ更新する(または0.10.0へ戻す)
- CIのビルドログやコンテナ履歴を見て、問題の約2時間の窓で0.10.1を取り込んでいないか確認する
- 0.10.1を取り込んでいた場合は、GitHub・クラウド(AWS/GCP/Azure)・npm/PyPI・SSHのトークンや鍵をすべて再発行し、不審な操作の有無を点検する
- Guardrails AIの有料サービスのAPIキー(Snowglobe/Guardrails Hub)を再発行する
- 今後に備え、依存パッケージのバージョン固定(lockファイル)やハッシュ検証、サプライチェーンのスキャンを取り入れる
特に、CIやコンテナで自動的に最新版を取り込む運用をしている場合は、過去のビルドが汚染版に触れていないか優先して確認してください。今回の攻撃は「インストール・読み込みの瞬間」に成立するため、後から気づいても、その間に取り込んだ環境は侵害された前提で扱う必要があります。チーム開発では、同じ依存を共有する全員に確認とローテーションを周知するのが確実です。
よくある質問
Q. 自分が影響を受けたか、どう確認すればいいですか。
guardrails-aiのインストール版が0.10.1かどうかを確認してください。0.10.0以前や0.10.2以降であれば、その版自体は安全です。ただし、2026年5月11日(米太平洋時間)夕方からの約2時間の窓でCIやコンテナが0.10.1を取り込んでいないか、ビルド履歴もあわせて確認するのが安全です。
Q. WindowsやmacOSでも影響を受けますか。
今回の毒入りコードはLinux環境でのみ動作する作りでした。ただし、開発用コンテナやCIはLinuxで動くことが多いため、ローカルがWindows/macOSでも、ビルド環境がLinuxなら影響を受けた可能性があります。取り込みの有無で判断してください。
Q. データはすでに盗まれていますか。
公式アドバイザリは、ログを調べた限りデータ流出の証拠は確認されていないとしています。ただし、毒入り版を取り込んだ環境は侵害された前提で扱うべきとされており、念のため認証情報の再発行と不審な操作の確認を行うのが安全です。
Q. Guardrails AIを使い続けても大丈夫ですか。
問題があったのは毒入りの0.10.1だけで、ソフト本体の設計に欠陥があったわけではありません。安全な0.10.2以降を使えば、ツールとしての利用に問題はありません。今後はバージョンの固定やサプライチェーンのスキャンを併用すると、同種の事故に巻き込まれにくくなります。
まとめ
CVE-2026-45758は、人気のLLM出力検証部品Guardrails AIのPyPI配布物に、悪意ある0.10.1が混入したサプライチェーン攻撃です。毒入り版は読み込んだ瞬間に外部から第二段階を取得し、GitHubやクラウド、CI/CDの認証情報を盗もうとします。安全な版は0.10.0以前と0.10.2以降で、0.10.1を取り込んだ環境は侵害された前提で認証情報の再発行が必要です。
この一件は単発ではなく、攻撃グループ「TeamPCP」がTanStackやMistral AIなど170以上のパッケージに400超の毒入り版をばらまいた連続攻撃の一部で、標的がAI開発の現場にまで広がったことを示します。便利な部品ほど素早く取り込みがちですが、取り込む経路そのものを点検し、汚染に早く気づける仕組みを持つことが、最も確実な守りになります。
参照元
- ▸ NVD - CVE-2026-45758
- ▸ GitHub Advisory - GHSA-xmpw-2vmm-p4p6(guardrails-ai 0.10.1 supply chain compromise)
- ▸ guardrails-ai GitHub Issue #1473 - Supply Chain Compromise in v0.10.1
- ▸ SafeDep - Is guardrails-ai malicious?(解析・IOC)
- ▸ The Hacker News - Mini Shai-Hulud Worm Compromises TanStack, Mistral AI, Guardrails AI & More
- ▸ SecurityWeek - TanStack, Mistral AI, UiPath Hit in Fresh Supply Chain Attack
- ▸ Wiz - durabletask: TeamPCP's Latest PyPi Compromise
- ▸ CWE-506: Embedded Malicious Code