Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
modelscan — モデルシリアライゼーション攻撃に対する保護 | Kitploit
ツール/GitHubGitHub/protectai/modelscan
防御ツール静的分析脆弱性スキャナーDevSecOpsサプライチェーンセキュリティ機械学習AIセキュリティ敵対的攻撃敵対的攻撃 第13位AIセキュリティ 第13位
777167467ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
機械学習 第8位
GitHubprotectai/modelscan

modelscan

モデルシリアライゼーション攻撃に対する保護

リポジトリを見るウェブサイト

ModelScan Banner bandit build black mypy tests Supported Versions pypi Version License: Apache 2.0 pre-commit

ModelScan: モデルシリアライゼーション攻撃からの保護

機械学習(ML)モデルは、インターネット上、チーム内、チーム間で公開共有されています。基盤モデル(Foundation Models)の台頭により、公開されているMLモデルは、さらなるトレーニングやファインチューニングのためにますます消費されるようになっています。MLモデルは、重要な意思決定やミッションクリティカルなアプリケーションの駆動にますます使用されています。 それにもかかわらず、モデルは受信トレイ内のPDFファイルほどの厳格さではまだスキャンされていません。

この状況を変える必要があり、適切なツールがその第一歩です。

ModelScan Preview

ModelScanは、Protect AIによるオープンソースプロジェクトで、モデルに安全でないコードが含まれているかどうかを判定するためにモデルをスキャンします。複数のモデル形式をサポートする最初のモデルスキャンツールです。 ModelScanは現在、H5、Pickle、SavedModel形式をサポートしています。これにより、PyTorch、TensorFlow、Keras、Sklearn、XGBoostを使用する際に保護され、さらに多くの形式が追加される予定です。

TL;DR

モデルのスキャンをすぐに始めたい場合は、簡単です:

pip install modelscan

インストールしたら、モデルをスキャンします:

modelscan -p /path/to/model_file.pkl

モデルをスキャンすべき理由

モデルは自動化されたパイプラインから作成されることが多く、データサイエンティストのノートパソコンから来るものもあります。どちらの場合でも、モデルは使用される前に、あるマシンから別のマシンへ移動する必要があります。モデルをディスクに保存するこのプロセスは、シリアライゼーションと呼ばれます。

モデルシリアライゼーション攻撃(Model Serialization Attack) とは、配布前にシリアライゼーション(保存)中にモデルの内容に悪意のあるコードが追加される攻撃です。これは、トロイの木馬の現代版です。

この攻撃は、モデルの保存および読み込みプロセスを悪用して機能します。model = torch.load(PATH) でモデルを読み込むと、PyTorchはファイルの内容を開き、その中のコードの実行を開始します。モデルを読み込んだ瞬間に、エクスプロイトが実行されます。

モデルシリアライゼーション攻撃は、以下を実行するために使用される可能性があります:

  • 認証情報の窃取(環境内の他のシステムへのデータの書き込みおよび読み取りのためのクラウド認証情報)
  • データの窃取(モデルに送信されたリクエスト)
  • データポイズニング(モデルがタスクを実行した後に送信されるデータ)
  • モデルポイズニング(モデル自体の結果を改ざん)

これらの攻撃は非常に簡単に実行でき、実際の動作例は 📓notebooks フォルダで確認できます。

モデルセキュリティの強制と自動化

ModelScanは堅牢なオープンソースのスキャンを提供します。包括的なAIセキュリティが必要な場合は、Guardian を検討してください。これは、エンタープライズグレードのモデルスキャン製品です。

Guardian Overview

Guardianの特徴:

  1. 最先端のスキャン: 最新のスキャナ、より広範なモデルサポート、自動モデル形式検出にアクセスできます。
  2. プロアクティブなセキュリティ: コード変更を必要とせずに、Hugging Faceモデルが環境に入る前にセキュリティ要件を定義して適用します。
  3. エンタープライズ全体のカバレッジ: CI/CDパイプラインとシームレスに統合し、組織全体で一貫したセキュリティ態勢を実装します。
  4. 包括的な監査証跡: すべてのスキャンと結果の完全な可視性を獲得し、脅威を効果的に特定して軽減できます。

はじめに

ModelScanの仕組み

機械学習フレームワークでモデルを読み込むと攻撃が自動的に実行されるなら、ModelScanは悪意のあるコードを読み込まずにどのようにモデルの内容をチェックするのでしょうか?

簡単です。ファイルの内容を文字列のように1バイトずつ読み取り、安全でないコードシグネチャを探します。これにより非常に高速で、コンピュータがディスクからファイルサイズ全体を処理するのと同じ時間(ほとんどの場合数秒)でモデルをスキャンします。また、安全です。

ModelScanは安全でないコードを次のようにランク付けします:

  • CRITICAL
  • HIGH
  • MEDIUM
  • LOW

ModelScan Flow Chart

問題が検出された場合は、すぐにモデルの作者に連絡して原因を特定してください。

場合によっては、データサイエンティストが再現を容易にするためにコードがモデルに埋め込まれていることがありますが、それは攻撃に対して開かれた状態になります。それがワークロードに適切かどうかは、ご自身の判断で決定してください。

サポートされているモデルとフレームワーク

これは継続的に拡大される予定ですので、リリースノートの変更に注目してください。

現在、ModelScanはPickle派生のあらゆる形式とその他多くの形式をサポートしています:

MLライブラリAPIシリアライゼーション形式modelscanサポート
Pytorchtorch.save() and torch.load()Pickleはい
Tensorflowtf.saved_model.save()Protocol Bufferはい
Keraskeras.models.save(save_format= 'h5')HD5 (Hierarchical Data Format)はい
keras.models.save(save_format= 'keras')Keras V3 (Hierarchical Data Format)はい
古典的なMLライブラリ (Sklearn, XGBoostなど)pickle.dump(), dill.dump(), joblib.dump(), cloudpickle.dump()Pickle, Cloudpickle, Dill, Joblibはい

インストール

ModelScanはPythonパッケージ(Python 3.9〜3.12対応)としてシステムにインストールされます。上記のように、ターミナルで次を実行してインストールできます:

pip install modelscan

プロジェクトの依存関係に含めて全員が利用できるようにするには、requirements.txt または pyproject.toml に次のように追加します:

modelscan = ">=0.1.1"

TensorflowまたはHD5形式のモデル用スキャナは、extrasを指定したインストールが必要です:

pip install 'modelscan[ tensorflow, h5py ]'

CLIでのModelScanの使用

ModelScanはCLI経由で次の引数をサポートしています:

ツールをダウンロード