機械学習の実験、データセット、モデルを追跡・可視化・管理するためのPythonライブラリとホステッドプラットフォーム。
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
PyPIからModelScanをインストールする
pip install modelscan - 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 の数値は毎日更新されます。
関連プロジェクト
Google Cloud Advanced Solutions Labのコース教材。Google Cloud上のMLと生成AIに関するノートブック、ラボ、コードサンプルを収録。
Microsoftによる12週間・全24レッスンの初学者向けAIカリキュラム。記号AI、ニューラルネットワーク、コンピュータービジョン、NLP、倫理を扱い、PyTorchとTensorFlowのノートブックを提供します。
Keras 3は、JAX、TensorFlow、PyTorch、または推論向けのOpenVINOで動作する深層学習フレームワークです。
ONNX、TensorFlow、PyTorch、Core MLなど、多くの形式に対応したニューラルネットワーク、ディープラーニング、機械学習モデルのビューア。
ONNX形式にエクスポートしたMLモデルを実行するクロスプラットフォームのアクセラレーター。PyTorchスクリプトでの学習にも対応します。