Repolode
protectai

protectai/modelscan

MLモデルファイルに隠された危険なコードを読み込み前に検出し、モデルのシリアライズ攻撃を防ぐスキャナー。

スター
792
フォーク
174
未解決の Issue
105
最終コミット
先月

これは何?

ModelScanは、シリアライズ時に埋め込まれた危険なコードがないか、機械学習モデルのファイルを検査します。悪意のあるpickleベースのモデルを読み込むと、攻撃者のコードが即座に実行され、認証情報やデータの窃取、モデル出力の改ざんにつながるおそれがあります。ModelScanはファイルの内容をバイト単位で読み取り、既知の危険なコードのシグネチャと照合するため、モデルが実行されることはありません。

H5、Pickle、SavedModel形式に対応しており、pickle、dill、joblib、cloudpickleを使うPyTorch、TensorFlow、Keras、scikit-learn、XGBoostなどのライブラリで保存されたモデルを検査できます。検出された問題には、LOWからCRITICALまでの重大度が割り当てられます。結果はコンソールに表示するか、JSONとして出力できます。また、設定ファイルを使ってレポート形式をカスタマイズできます。

pipでインストールでき、ローカルのモデルファイルをコマンドラインからスキャンするほか、Pythonコードから呼び出すこともできます。終了コードは、問題なし、問題検出、エラーを区別するため、CI/CDパイプラインにも簡単に組み込めます。

主な機能

  • 01H5、Pickle、SavedModel形式のモデルファイルを、読み込まずにスキャンします。
  • 02PyTorch、TensorFlow、Keras、scikit-learn、XGBoostのモデルに対応します。
  • 03検出した危険なコードの重大度をLOWからCRITICALまでの範囲で示します。
  • 04レポートをコンソールまたはJSONで出力でき、設定ファイルで形式をカスタマイズできます。
  • 05スクリプトやCIで利用できる、終了コード付きのPython APIとCLIを提供します。

ユースケース

  • サードパーティ製モデルやHugging Faceのモデルを、開発環境に読み込む前にスキャンする。
  • トレーニングパイプラインで生成したモデルを、リリース前にサプライチェーン改ざんがないか確認する。
  • CI/CDでモデルのデプロイを制御し、問題が検出されたモデルが本番環境に到達しないようにする。

クイックスタート

  1. 1

    PyPIからModelScanをインストールする

    pip install modelscan
  2. 2

    ローカルのモデルファイルをスキャンする

    modelscan -p /path/to/model_file.pkl

使う前に知っておきたいこと

  • 対応しているのは一部のモデル形式(H5、Pickle、SavedModel)と、Pickle派生形式のみです。
  • TensorFlowとHDF5のスキャンには、追加パッケージのインストールが必要です。

収録されている特集

トピック

よくある質問

modelscan とは?
MLモデルファイルに隠された危険なコードを読み込み前に検出し、モデルのシリアライズ攻撃を防ぐスキャナー。 ModelScanは、シリアライズ時に埋め込まれた危険なコードがないか、機械学習モデルのファイルを検査します。悪意のあるpickleベースのモデルを読み込むと、攻撃者のコードが即座に実行され、認証情報やデータの窃取、モデル出力の改ざんにつながるおそれがあります。ModelScanはファイルの内容をバイト単位で読み取り、既知の危険なコードのシグネチャと照合するため、モデルが実行されることはありません。
modelscan は無料で使えますか?ライセンスは?
modelscan は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
modelscan は今もメンテナンスされていますか?
半年以内に更新あり。modelscan の最終コミットは 2026年9月28日 です。
modelscan は何に使えますか?
サードパーティ製モデルやHugging Faceのモデルを、開発環境に読み込む前にスキャンする。 トレーニングパイプラインで生成したモデルを、リリース前にサプライチェーン改ざんがないか確認する。 CI/CDでモデルのデプロイを制御し、問題が検出されたモデルが本番環境に到達しないようにする。
modelscan のインストール方法は?
PyPIからModelScanをインストールする: pip install modelscan ローカルのモデルファイルをスキャンする: modelscan -p /path/to/model_file.pkl
modelscan はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/protectai/modelscan

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト