Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
modelaudit — AI/MLモデルファイル向けセキュリティスキャナー。デプロイ前に悪意のあるコード、バックドア、脆弱性を検出します。 | Kitploit
ツール/GitHubGitHub/promptfoo/modelaudit
静的分析静的コード分析 (SAST)脆弱性分析データ流出マルウェア分析DevSecOpsシークレット検出サプライチェーンセキュリティ機械学習AIセキュリティ敵対的攻撃敵対的攻撃 第14位
70193814時間29分前Kitploit レビュー済み
AIセキュリティ 第14位
機械学習 第9位
GitHubpromptfoo/modelaudit

modelaudit

AI/MLモデルファイル向けセキュリティスキャナー。デプロイ前に悪意のあるコード、バックドア、脆弱性を検出します。

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

ModelAudit

AIモデルをデプロイ前に保護しよう。 MLモデルファイル内の悪意のあるコード、潜在的なバックドア指標、セキュリティ脆弱性を検出する静的スキャナです。モデルをロードしたり実行したりすることは一切ありません。

PyPI version Python versions Code Style: ruff License Security policy

ModelAudit scan results

全文ドキュメント | 使用例 | 対応フォーマット

ModelAuditの特長

モデルは信頼できないレジストリからダウンロードされ、CIを通過し、本番環境で実行されることになります。従来のSASTツールはpickleオペコード、HDF5グループレイアウト、ONNXプロトグラフ、TensorFlow SavedModel署名を検査しませんが、ModelAuditは検査します:

  • 静的にスキャンします。 モデルがロード・アンピックル・実行されることは決してありません。
  • 実際に出荷するフォーマットをカバーします。 pickle、PyTorch、SafeTensors、ONNX、TensorFlow、Keras、GGUF、アーカイブ、設定ファイルにわたる40以上のスキャナを搭載。
  • CIに組み込めます。 機械可読な出力(JSON、SARIF)、厳格モード、終了コード、スキャナの選択に対応。
  • カバレッジの限界を明示します。 認識されたスキャナは、切り詰められた読み取りや予算を使い果たした場合などの境界解析のギャップを、完全にカバーされた結果として提示するのではなく、報告します。

類似ツール: picklescan (pickleのみ、Pythonベース)、fickling (pickleのみ、ASTベース)、modelscan (pickle + TensorFlow + Kerasのサブセット)。ModelAuditはより広いカバレッジを持ち、併用パッケージmodelaudit-picklescanを介してネイティブRust製pickleエンジンを提供します。

クイックスタート

Python 3.10-3.13が必要です```bash pip install "modelaudit[all]"

Scan a file or directory

modelaudit model.pkl modelaudit ./models/

Export results for CI/CD

modelaudit model.pkl --format json --output results.json

root@kitploit:~
(no input provided)```
$ modelaudit suspicious_model.pkl

Files scanned: 1 | Issues found: 2 critical, 1 warning

1. suspicious_model.pkl (pos 28): [CRITICAL] Malicious code execution attempt
   Why: Contains os.system() call that could run arbitrary commands

2. suspicious_model.pkl (pos 52): [WARNING] Dangerous pickle deserialization
   Why: Could execute code when the model loads

検出内容

  • Pickle、PyTorch、NumPy、Joblib ファイルにおけるコード実行攻撃
  • 潜在的なバックドア指標 — 不審な重みパターン、異常なテンソル、隠れたコードのシグナル
  • 埋め込まれたシークレット — モデルの重みやメタデータ内の API キー、トークン、認証情報
  • ネットワーク指標 — データの外部送信を可能にする URL、IP、ソケット使用
  • アーカイブの悪用 — ZIP/TAR/7z ファイルにおけるパストラバーサル、シンボリックリンク攻撃
  • 安全でない ML オペレーション — Lambda レイヤー、カスタム演算、TorchScript/JIT、テンプレートインジェクション
  • サプライチェーンリスク — 改ざん、ライセンス違反、不審な設定

サポートされている形式

ModelAudit には、モデル、アーカイブ、設定形式をカバーする 45 の登録済みスキャナが含まれています:

形式拡張子リスク
Pickle.pkl, .pickle, .dillHIGH
PyTorch.pt, .pth, .ckpt, .binHIGH
Joblib.joblibHIGH
NumPy.npy, .npzHIGH
R Serialized.rds, .rda, .rdata, シグネチャ検証済みの名前変更されたワークスペースアーティファクトHIGH
TensorFlow.pb, .meta, SavedModel ディレクトリMEDIUM
Keras.h5, .hdf5, .kerasMEDIUM
ONNX.onnxMEDIUM
CoreML.mlmodel, 構造的に有効な名前変更済みアーティファクトLOW
MXNet*-symbol.json, *-NNNN.params, 構造的に有効な名前変更済みシンボル JSONLOW
NeMo.nemo, ルート設定を持つ名前変更済みアーカイブMEDIUM
CNTK.dnn, .cmf, シグネチャ検証済みの名前変更済みアーティファクトMEDIUM
RKNN.rknn, 競合しない名前変更済みサフィックス下のシグネチャ検証済みアーティファクトMEDIUM
Torch7シリアライズされたアーティファクト (.t7, .th, .net または名前変更済み)HIGH
CatBoost.cbm

さらに、ZIP、TAR、7-Zip、OCI レイヤー、Jinja2 テンプレート、JSON/YAML メタデータ、マニフェスト、モデルカード、テキストファイル、および RAR 認識用のスキャナもあります。RAR アーカイブはスキップされる代わりに、未サポート/フェイルクローズとして報告されます。

構造的に有効な TensorFlow SavedModel および MetaGraph protobuf は、モデル以外のサフィックスに名前変更された場合も認識されます。 CoreML モデルも名前変更された場合に認識され、不完全なカバレッジが明示的に報告されます。 過大であるが妥当なフレーミングを持つ SafeTensors ファイルは、境界付きの決定的でない分析のために、 それ以外に主張のないサフィックス(.jpg など)下でも保持されます。 構造的に妥当な Flax/JAX MessagePack チェックポイントも、モデル以外のサフィックスに名前変更された場合に認識されます; 完全に分類できない名前変更済み構造は、不完全なカバレッジとして報告されます。 構造化された JAX/Orbax JSON チェックポイントメタデータも同様に名前変更時に認識されます;過大な曖昧な 候補は不完全なカバレッジとして報告されます;境界付きの検査済みプレフィックス内で観察可能なセキュリティパターンは 依然として控えめに報告される場合があります。

完全な形式ドキュメントを表示```bash

Hugging Face

modelaudit https://huggingface.co/gpt2 modelaudit hf://microsoft/DialoGPT-medium

Cloud storage

modelaudit s3://bucket/model.pt modelaudit gs://bucket/models/

MLflow registry

Non-local artifact stores: export MODELAUDIT_MLFLOW_ALLOWED_ARTIFACT_URIS=s3://trusted-bucket/models

modelaudit models:/MyModel/Production

JFrog Artifactory (files and folders)

Auth: export JFROG_API_TOKEN=...

modelaudit https://company.jfrog.io/artifactory/repo/model.pt modelaudit https://company.jfrog.io/artifactory/repo/models/

DVC-tracked models

modelaudit model.dvc

root@kitploit:~
### 認証環境変数

- `HF_TOKEN`: プライベートな Hugging Face リポジトリ用
- `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY` (および任意の `AWS_SESSION_TOKEN`): S3 用
- `GOOGLE_APPLICATION_CREDENTIALS`: GCS 用
- `MLFLOW_TRACKING_URI`: MLflow レジストリへのアクセス用
- `MODELAUDIT_MLFLOW_ALLOWED_ARTIFACT_URIS`: 非ローカルの MLflow アーティファクトルート用(カンマ区切りの URI プレフィックス)
- `s3://bucket/prefix` のような具体的なバックエンドルートを使用してください。論理的な `models:/` や `runs:/` URI、およびパーセントエンコードされたリモートパスは拒否されます。
- `JFROG_API_TOKEN` または `JFROG_ACCESS_TOKEN`: JFrog Artifactory 用
- `MODELAUDIT_JFROG_ALLOWED_HOSTS`: 認証情報を受け取ることができるカスタム JFrog ホスト名のカンマ区切りリスト
- `MODELAUDIT_JFROG_ALLOWED_REDIRECT_HOSTS`: 認証情報なしでダウンロードできる外部リダイレクトホスト名のカンマ区切りリスト
- 認証情報は環境変数またはシークレットマネージャーに保存し、トークン/キーをコミットしないでください。

## インストール```bash
# Broad scanner coverage (recommended; excludes the TensorFlow runtime and platform-specific TensorRT)
pip install "modelaudit[all]"

# Core only (static scanners, pickle, NumPy, archives, manifests, metadata)
pip install modelaudit

# Specific frameworks (TensorFlow installs on Python 3.11-3.12; ONNX installs on Python 3.10-3.12)
pip install "modelaudit[tensorflow,pytorch,h5,onnx,safetensors]"

# CI/CD environments
pip install "modelaudit[all-ci]"

# On Python 3.11-3.12, add TensorFlow only when you need runtime-dependent checkpoint or weight analysis
pip install "modelaudit[all,tensorflow]"

# Docker
docker run --rm -v "$(pwd)":/app ghcr.io/promptfoo/modelaudit:latest model.pkl

ONNX extra(modelaudit[all] のONNX部分を含む)はPython 3.10-3.12用にパッケージングされています。 PyTorchを含むextrasはPython 3.10-3.12または標準(GIL有効)CPython 3.13を必要とします。パッチ適用済みPyTorch 2.13 wheelはfree-threaded CPython 3.13tをサポートしていません。ModelAuditのネイティブpickleスキャナも CPython 3.13tをサポートしていません。標準CPythonを使用してください。Apple Siliconでは、wheelが macosx_14_0_arm64を対象としているため、PyTorchを含むextrasはmacOS 14以降を必要とします。macOS 11-13では静的スキャン用のcore-onlyインストールが引き続き利用可能です。

CLIオプション

主なコマンド:```bash modelaudit [PATHS...] # Default scan command modelaudit scan [OPTIONS] PATHS... # Explicit scan command modelaudit scan --list-scanners # List scanner IDs for targeted scans modelaudit metadata [OPTIONS] PATH # Extract model metadata safely (no deserialization by default) modelaudit doctor [--show-failed] # Diagnose scanner/dependency availability modelaudit debug [--json] [--verbose] # Environment and configuration diagnostics modelaudit cache [stats|clear|cleanup] [OPTIONS]

root@kitploit:~
一般的なスキャンオプション:```text
--format {text,json,sarif}   Output format (default: auto-detected)
--output FILE                Write results to file
--strict                     Fail on warnings, scan all file types, strict license validation
--sbom FILE                  Generate CycloneDX SBOM
--stream                     Process files one-by-one; remote downloads are deleted after scanning
--assume-shard-family        Treat explicitly listed cross-directory shards as one model family
--max-size SIZE              Size limit (e.g., 10GB)
--timeout SECONDS            Override scan timeout
--dry-run                    Preview what would be scanned
--verbose / --quiet          Control output detail
--blacklist PATTERN          Additional patterns to flag
--no-cache                   Disable result caching
--cache-dir DIR              Set cache directory for downloads and scan results
--progress                   Force progress display
--scanners LIST              Only run selected scanners (IDs/classes; comma-separated or repeated)
--exclude-scanner NAME       Exclude a scanner from the active set (comma-separated or repeated)
--list-scanners              List scanner IDs, class names, extensions, and dependencies

ターゲット指定スキャナの選択:```bash

Discover scanner IDs and class names

modelaudit scan --list-scanners modelaudit scan --list-scanners --format json

Run only selected scanners

modelaudit scan ./models --scanners pickle,tf_savedmodel modelaudit scan ./model.pkl --scanners PickleScanner

Run the default scanner set except a noisy or slow scanner

modelaudit scan ./models --exclude-scanner weight_distribution

For container formats, include both the container scanner and nested scanner

modelaudit scan ./archive.zip --scanners zip,pickle

root@kitploit:~
`--scanners` は明示的な許可リストから開始します。`--exclude-scanner` はその許可リストまたはデフォルトのスキャナーセットからスキャナーを差し引きます。スキャナーの選択は、`scanner_selection` の下の JSON 出力に反映されます。

リモートフォルダの場合、ModelAudit は安全な場合に選択されたスキャナーの拡張子に基づいてダウンロードを絞り込みます。コンテンツベースの renamed-wrapper ルーティングは取得後に適用されます。リポジトリのファイル名が意図的に紛らわしい可能性がある場合は、直接ファイル URL をスキャンしてください。

## メタデータ抽出```bash
# Human-readable summary (safe default: no model deserialization)
modelaudit metadata model.safetensors

# Machine-readable output
modelaudit metadata ./models --format json --output metadata.json

# Focus only on security-relevant metadata fields
modelaudit metadata model.onnx --security-only

--trust-loaders は、モデルコンテンツを逆シリアル化する可能性のあるスキャナメタデータローダーを有効にします。信頼されたアーティファクトに対してのみ、隔離された環境で使用してください。

終了コード

  • 0: セキュリティ問題が検出されなかった
  • 1: セキュリティ問題が検出された
  • 2: スキャンエラー

テレメトリとプライバシー

ModelAudit には、製品の信頼性と利用状況分析のためのテレメトリが含まれています。

  • 収集されるメタデータには、コマンドと機能の使用状況、スキャンとダウンロードのタイミングまたはサイズのメタデータ、スキャナ/ファイルタイプの使用状況、安定したルールまたは CVE 識別子、重大度の集計、登録済みファイル拡張子、大まかなソースまたはプロバイダーカテゴリ、ランタイムバージョン、プラットフォーム、CI メタデータが含まれる場合があります。
  • テレメトリには、生のローカルパス、ファイル名、モデル ID または名前、リポジトリまたはアーティファクト識別子、バケットまたはオブジェクトキー、リモート URL パス、自由形式の問題またはエラーテキスト、URL のユーザー情報、クエリ文字列、フラグメント、またはモデルのバイナリコンテンツは含まれません。
  • パッケージインストールでは、デフォルトでテレメトリが有効になります。CI=true または IS_TESTING=true が設定されている場合、および編集可能な開発インストールでは MODELAUDIT_TELEMETRY_DEV=1 が設定されていない限り、テレメトリは自動的に無効になります。他の CI プロバイダー(TeamCity、CodeBuild、Bitbucket Pipelines、Jenkins)から送信されたイベントには isRunningInCi=true のタグが付けられ、後段でフィルタリングできます。
  • 永続的な仮名ユーザー識別子は ~/.promptfoo/promptfoo.yaml に保存され、Promptfoo とのツール間相関に使用されます。各テレメトリセッションでは新しいセッション識別子が使用されます。~/.modelaudit/user_config.json の既存の ID は、アップグレード後の初回実行時に移行されます。そのファイルにレガシーのメールアドレス値が存在する場合、分析ユーザープロファイルに添付されることがあります。

次のいずれかの環境変数で明示的にオプトアウトしてください。```bash export PROMPTFOO_DISABLE_TELEMETRY=1

or

export NO_ANALYTICS=1

root@kitploit:~
編集可能/開発インストール時にオプトインするには:```bash
export MODELAUDIT_TELEMETRY_DEV=1

出力例```bash

JSON for CI/CD pipelines

modelaudit model.pkl --format json --output results.json

SARIF for code scanning platforms

modelaudit model.pkl --format sarif --output results.sarif

root@kitploit:~
## トラブルシューティング

- `modelaudit doctor --show-failed` を実行すると、利用できないスキャナーと不足しているオプション依存関係を一覧表示できます。
- `modelaudit debug --json` を実行すると、バグ報告用の環境・設定診断情報を収集できます。
- `modelaudit cache cleanup --max-age 30` を使用すると、古いキャッシュエントリを安全に削除できます。
- `pip` が古いリリースをインストールする場合は、Python がサポートされているか確認してください(`python --version`。ModelAudit は Python 3.10〜3.13 をサポートしています)。
- 追加のトラブルシューティングとクラウド認証のガイダンスについては、以下を参照してください:
  - https://www.promptfoo.dev/docs/model-audit/
  - https://www.promptfoo.dev/docs/model-audit/usage/

## ドキュメント

- **[完全なドキュメント](https://www.promptfoo.dev/docs/model-audit/)** — セットアップ、設定、高度な使用方法
- **[使用例](https://www.promptfoo.dev/docs/model-audit/usage/)** — CI/CD 統合、リモートスキャン、SBOM 生成
- **[対応フォーマット](https://www.promptfoo.dev/docs/model-audit/scanners/)** — スキャナーの詳細ドキュメント
- **[サポートポリシー](https://github.com/promptfoo/modelaudit/blob/main/SUPPORT.md)** — サポート対象の Python/OS バージョンとメンテナンスポリシー
- **[セキュリティモデルと制限事項](https://github.com/promptfoo/modelaudit/blob/main/docs/user/security-model.md)** — ModelAudit が保証することと保証しないこと
- **[互換性マトリクス](https://github.com/promptfoo/modelaudit/blob/main/docs/user/compatibility-matrix.md)** — ファイル形式とオプション依存関係の対応
- **[スキャナー選択](https://github.com/promptfoo/modelaudit/blob/main/docs/user/scanner-selection.md)** — 対象を絞ったスキャナーの許可リストと除外設定
- **[メタデータ抽出ガイド](https://github.com/promptfoo/modelaudit/blob/main/docs/user/metadata-extraction.md)** — 安全なメタデータワークフローと `--trust-loaders` のガイダンス
- **[オフライン/エアギャップガイド](https://github.com/promptfoo/modelaudit/blob/main/docs/user/offline-air-gapped.md)** — インターネット接続なしでの安全な運用
- **トラブルシューティング** — `modelaudit doctor --show-failed` を実行してスキャナーの利用可能性を確認

## 関連パッケージ

- **[`modelaudit-picklescan`](https://pypi.org/project/modelaudit-picklescan/)** — ModelAudit の pickle、PyTorch、ExecuTorch、PyTorch-ZIP スキャナーが使用する、Rust ベースのスタンドアロン pickle スキャナーです。pickle 解析のみが必要で(CLI ではなくライブラリとして)、完全なスキャナーバンドルが不要な場合は、これを直接インストールしてください。

## 脆弱性の報告

疑わしい脆弱性について公開の Issue を開かないでください。協調的な開示については [SECURITY.md](https://github.com/promptfoo/modelaudit/blob/main/SECURITY.md) を参照してください。

## コントリビューション

Issue、機能リクエスト、PR は歓迎します。[CONTRIBUTING.md](https://github.com/promptfoo/modelaudit/blob/main/CONTRIBUTING.md) を参照してください。

## ライセンス

MIT ライセンス — 詳細は [LICENSE](https://github.com/promptfoo/modelaudit/blob/main/LICENSE) を参照してください。
ツールをダウンロード
MEDIUM
XGBoost.bst, .model, .json, .ubj, 拡張子なし UBJSONMEDIUM
LightGBM.lgb, .lightgbm, .model, シグネチャ検証済みの名前変更済みアーティファクトMEDIUM
Llamafile実行可能ラッパー (.llamafile, .exe, 拡張子なしまたは名前変更済み)MEDIUM
TorchServe.marHIGH
SafeTensors.safetensorsLOW
GGUF/GGML.gguf, .ggml, .ggmf, .ggjt, .ggla, .ggsa, シグネチャ検証済みの名前変更済みアーティファクトLOW
JAX/Flax.msgpack, .flax, .orbax, .jax, .checkpoint, .orbax-checkpointLOW
TFLite.tflite, 競合しない名前変更済みサフィックス下のシグネチャ検証済みアーティファクトLOW
ExecuTorch.ptl, .pte, 競合しない名前変更済みサフィックス下のシグネチャ検証済みスタンドアロンアーティファクトLOW
TensorRT.engine, .plan, .trtLOW
PaddlePaddle.pdmodel, .pdiparamsLOW
OpenVINO.xmlLOW
Skops.skopsHIGH
PMML.pmmlLOW
Compressed Wrappers.gz, .bz2, .xz, .lz4, .zlibMEDIUM