AIを狙ったサプライチェーン攻撃が急増しています。しかし「何から対策するか」が分かりにくいと感じる方も多いでしょう。そこで今回は、AIソフトウェアサプライチェーン防御について解説します。67件のOSS検証データから見えた実践手順を中心にまとめました。
AIソフトウェアサプライチェーン防御が急務な理由
2026年のReversingLabs報告によると、OSS上のマルウェアが前年比73%増でした。さらにAI開発パイプラインも攻撃の標的になっています。つまり従来のセキュリティ対策だけでは不十分です。特にPyPIやnpmなどのパッケージレジストリが狙われやすい状況です。
また、2025年9月には象徴的な事件が起きました。npmの人気パッケージ18個が乗っ取られたのです。しかも発覚まで数週間かかりました。そのため、依存パッケージを無条件に信頼する時代は終わったといえます。AI開発では学習データやモデルファイルも攻撃対象になるため、リスクの範囲がさらに広いのです。
67件のOSS検証から見えた攻撃パターン
検証対象となった67件のOSSプロジェクトから、いくつかの攻撃パターンが浮かび上がりました。最も多いのは依存関係の混乱攻撃です。たとえば、内部パッケージと同名の悪意あるパッケージを公開レジストリに登録する手口です。つまり、名前の衝突を悪用します。
さらに、タイポスクワッティングも頻繁に見られました。人気パッケージに似た名前の偽パッケージを公開する方法です。しかし、AIモデルファイルへの攻撃も新しいパターンとして確認されています。たとえば、Hugging Face上のモデルにバックドアを仕込むケースです。実際、Pickle形式のモデルファイルは任意のコードを実行できる危険性があります。
AIサプライチェーン防御の実践手順
まず、依存パッケージの棚卸しから始めましょう。SBOM(ソフトウェア部品表)を生成することが第一歩です。具体的には、SyftやTrivy等のツールで自動的にSBOMを作成できます。そのため、手動で管理する必要はありません。
次に、パッケージの署名検証を導入します。npmではnpm auditやsigstoreによる署名検証が利用可能です。また、Pythonの場合はpip-auditが便利です。つまり、導入しているパッケージが改ざんされていないかを常に確認する仕組みが重要です。
AIモデルファイルの安全性を確保する方法
AIモデルファイルは特有のリスクがあります。Pickle形式は任意コード実行の危険があるため注意が必要です。そこで、SafeTensors形式の使用が推奨されています。SafeTensorsはシリアライズ時にコード実行を含まないため安全です。さらに、モデルのハッシュ値を記録しておくことも有効です。
また、モデルダウンロード時にはソースの信頼性を確認しましょう。たとえば、Hugging Faceの公式バッジ付きリポジトリを優先します。しかし、バッジがあっても完全に安全とは限りません。そのため、ダウンロード後にスキャンツールを使う習慣が大切です。実際、ModelScanなどのツールが利用可能です。
CI/CDパイプラインでの防御策
ビルドパイプラインへの対策も欠かせません。まず、依存関係のロックファイルを必ず使いましょう。package-lock.jsonやpoetry.lockなどです。つまり、バージョンを固定することで予期しない更新を防ぎます。さらに、プライベートレジストリの利用も効果的です。
また、CIパイプラインで脆弱性スキャンを自動化することも重要です。具体的には、GitHub DependabotやSnykを組み込む方法があります。しかし、ツールを入れただけでは不十分です。アラートを適切にトリアージし、対応する運用体制も必要です。そのため、チーム内で担当者を決めておくことをおすすめします。
まとめ
AIソフトウェアサプライチェーン防御は、もはや後回しにできないテーマです。67件のOSS検証から、依存関係の混乱攻撃やモデルファイルへの攻撃が現実の脅威だと分かりました。しかし、SBOMの生成や署名検証、SafeTensors形式の採用など、具体的な対策は存在します。まずはできることから始めて、段階的に防御を強化していきましょう。