Model & ML supply-chain security

ModelScan: open-source model file scanner

ModelScan is an open-source model file scanner from Palo Alto Networks (Protect AI). It is released under the Apache-2.0 license and is offered as: CLI, Library.

  • Last reviewed
Open sourceApache-2.0 Layer 3: Model and supply chain

Best for

ML and platform teams that want a free scanner to check downloaded or internally produced model files before loading or deploying them

Ownership

Palo Alto Networks announced on July 22, 2025 that it completed its acquisition of Protect AI. Source, checked October 21, 2026: paloaltonetworks.com (opens in a new tab)

Consider instead if

  • You want to decompile and inspect the contents of a pickle file instead of scanning for known unsafe code. See Fickling.

What ModelScan does

ModelScan is an open-source Python tool from Protect AI that checks saved machine learning model files for unsafe code. It reads a file's bytes for unsafe code signatures without loading the model, and ranks findings as critical, high, medium or low. It supports H5, Pickle and SavedModel formats, plus Keras V3 and pickle-derived formats from joblib, dill and cloudpickle. You run it from a command line or from Python, and the README suggests scanning before training, after training and before deployment, including in CI/CD pipelines. The code is Apache-2.0. The README also points to Guardian, an enterprise model scanning product from the same vendor.

This summary is our own wording of the sourced facts on this page.

Key facts

Each value links to the page that states it, with the date we checked it.

Ownership
Palo Alto Networks announced on July 22, 2025 that it completed its acquisition of Protect AI. Source, checked October 21, 2026: paloaltonetworks.com (opens in a new tab)
API reference
Not documented in the sources we checked
Attestations or disclosure
Report by opening a GitHub issue without details, then emailing the Protect AI security address Source, checked October 21, 2026: github.com (opens in a new tab)

Capabilities

As documented by the vendor or project. The tag is our label from a controlled vocabulary.

Where ModelScan fits in our AI security layers

Our analysis

Our editorial model, not a standard. The primary layer follows the category, except for tools whose main documented job is detection and response; other layers rest on a capability the sources document. How the model works.

AI security layers that ModelScan covers, with the role, how each applies and what it rests on
LayerRoleHow it appliesBased on
L3 Supply chain Model and supply chain Primary Check that models, datasets and AI components from outside are what they claim to be and do not run code or hide backdoors when loaded. Follows its category, Model & ML supply-chain security

OWASP LLM Top 10 mapping

Our analysis

The risk list is OWASP's (Top 10 for LLM Applications, 2025). The mapping is our analysis, and each row rests on a capability the sources document.

OWASP LLM risks mapped to ModelScan, with the capabilities each mapping rests on
RiskHow it appliesBased on
LLM03 Supply Chain Scans downloaded and internally built model files for unsafe serialized code. Scans saved model files for unsafe code signatures without loading the model; Supports H5, Pickle and SavedModel formats, plus Keras V3 and joblib, dill and cloudpickle files; Checks Pickle files and pickle-derived formats for unsafe code
LLM04 Data and Model Poisoning The README lists model poisoning and data poisoning among the outcomes of model serialization attacks it scans for. Reports findings ranked critical, high, medium or low and targets model serialization attacks such as credential theft and model poisoning

Alternatives and related tools

More in Model & ML supply-chain security, ranked within the category by Coverage Score.

ModelAudit (Promptfoo)

OpenAI (Promptfoo)

Open sourceMIT
  • CLI
  • Library
  • Self-hosted

Scans model files for malicious code, backdoor indicators and unsafe operations without loading them.

Best for: Teams that want a free scanner covering many model and archive formats, with SARIF output for code scanning in CI

Coverage Score 86 out of 100
  • LLM03 Supply Chain
  • LLM04 Data and Model Poisoning

Reviewed

Open sourceApache-2.0
  • CLI
  • Library

Signs machine learning model files and verifies them later so tampering can be detected.

Best for: Teams that publish or consume models and want a free way to sign model files and check signatures before loading them

Coverage Score 78 out of 100
  • LLM03 Supply Chain
  • LLM04 Data and Model Poisoning

Reviewed

picklescan

Matthieu Maitre

Open sourceMIT
  • CLI
  • Library

Scans pickle files, PyTorch archives and Hugging Face repos from the command line for suspicious globals.

Best for: Teams that want a small free command-line scanner for pickle-based model files, including checks of Hugging Face repositories before download

Coverage Score 73 out of 100
  • LLM03 Supply Chain

Reviewed

Head-to-head comparisons

ModelScan FAQ

Is ModelScan open source?

Yes. ModelScan is released under the Apache-2.0 license, and the code is on GitHub at protectai/modelscan.

Which model formats does ModelScan scan?

The README lists H5, Pickle and SavedModel formats, plus Keras V3 and pickle-derived formats from joblib, dill and cloudpickle.

Who owns Protect AI?

Palo Alto Networks announced on July 22, 2025 that it completed its acquisition of Protect AI. The ModelScan README does not mention the acquisition.

Key facts you can cite

We have no commercial relationship with Palo Alto Networks (Protect AI).

Sources & last reviewed

Last reviewed . We compile from the vendors' own public pages and repositories and we do not run the products. Source links open in a new tab. Found a mistake? Report a correction.