Platform / Model supply-chain scanning

Model supply-chain scanning

Most teams pull a model off a public registry, read the first two lines of the card, and ship it. The model card analyzer reads the rest for you - the parts that decide whether that download is safe to run in production.

Last reviewed June 2026

Problem

The gap Model supply-chain scanning closes

A model you did not train is third-party code, and you are about to give it your data and your runtime. The risk is not abstract: a pickle-format weight file runs arbitrary Python the moment it loads, so a tampered checkpoint executes on the host that opens it - before a single inference. The license might be missing, restrictive, or quietly contradict what the README claims. The repository might enable custom code execution, lack any safety or bias evaluation, or be a three-day-old upload with no track record.

None of this shows up in a demo. It shows up in an audit, or in an incident, after the model is already in your pipeline. Reviewing it by hand for every model an ML team wants to try does not scale, so in practice nobody does it.

How Penaxtra approaches it

How Penaxtra delivers Model supply-chain scanning

Point the analyzer at a public model registry URL or repository id and it scores the model against more than fifty supply-chain checks before the model reaches production. It reads only public metadata - it never downloads or executes the model weights - so the analysis itself adds no risk.

It flags pickle-format weight files that execute code on load and downgrades the finding when a byte-safe alternative such as safetensors or GGUF ships alongside; missing or restrictive licenses and license drift between the metadata and the README; custom-code execution paths (trust_remote_code); unsafe chat-template tokens; missing safety and bias evaluation; low-adoption or freshly-uploaded repositories and deprecation status; and EU AI Act Annex IV disclosure gaps (compute, carbon, training languages). Where the registry publishes its own weight-scanner verdict, the analyzer surfaces it alongside its own. Every finding lands in the same evidence trail as the rest of your AI surface.

Technical capabilities

Model supply-chain scanning capabilities

50+ model card and supply-chain checks per analysis

Reads public metadata only; never downloads or executes weights

Pickle-format weight risk with safetensors / GGUF downgrade logic

License presence, restriction and metadata-vs-README drift detection

trust_remote_code, unsafe chat-template tokens, missing-eval and provenance signals

EU AI Act Annex IV disclosure-gap checks (compute, carbon, training languages)

Every finding mapped to a control ID and stored in the audit trail

Compliance mapping

Model supply-chain scanning compliance mapping

Model card findings map to OWASP LLM03 (supply chain) and LLM05, NIST AI 600-1 MAP and MEASURE actions, MITRE ATLAS supply-chain techniques, and EU AI Act Article 11 / Annex IV technical-documentation expectations.

FAQ

Frequently asked

Does the analyzer download or run the model?

No. It reads only the public metadata published with the model - the card, config, license and file listing. It never downloads the weights and never executes any code, so running an analysis adds no risk to your environment.

Why are pickle-format weights flagged?

Loading a pickle-format file (.bin, .pt, .pkl, .ckpt) executes arbitrary Python defined inside it, so a tampered checkpoint can run code on the host that loads it. Safetensors and GGUF are byte-safe and carry no executable code; the analyzer flags pickle-only repositories and downgrades the finding when a safe alternative is published alongside.

Which model sources are supported?

Public model registries: give the analyzer a model URL or repository id. It is included with every plan, with no cap on the number of analyses.

Request a demo

Scoped walkthrough of the Platform / Model supply-chain scanning surface against your environment. No credit card.

Request a demo Explore AI-SPM platform