Repolode
protectai

protectai/modelscan

Um scanner que detecta código inseguro oculto em arquivos de modelos de ML antes que sejam carregados, protegendo contra ataques de serialização de modelos.

Estrelas
792
Forks
174
Issues abertas
105
Último commit
mês passado

O que é?

O ModelScan verifica arquivos de modelos de machine learning em busca de código inseguro incorporado durante a serialização. Carregar um modelo malicioso baseado em pickle pode executar imediatamente código de um invasor, o que pode levar ao roubo de credenciais ou dados, ou à contaminação das saídas do modelo. O ModelScan evita esse risco lendo o conteúdo do arquivo byte a byte e comparando-o com assinaturas conhecidas de código inseguro, sem nunca executar o modelo.

A ferramenta oferece suporte aos formatos H5, Pickle e SavedModel, abrangendo modelos salvos com PyTorch, TensorFlow, Keras, scikit-learn, XGBoost e bibliotecas semelhantes que usam pickle, dill, joblib ou cloudpickle. Os problemas detectados são classificados de LOW a CRITICAL. Os resultados podem ser exibidos no console ou exportados como JSON, e é possível configurar um formato de relatório personalizado por meio de um arquivo de configurações.

A instalação é feita com pip, e a ferramenta pode ser executada pela linha de comando em um arquivo de modelo local ou chamada a partir de código Python. Os códigos de saída distinguem verificações sem problemas, problemas encontrados e erros, facilitando a integração em pipelines de CI/CD.

Recursos principais

  • 01Verifica arquivos de modelos nos formatos H5, Pickle e SavedModel sem carregá-los.
  • 02Abrange modelos de PyTorch, TensorFlow, Keras, scikit-learn e XGBoost.
  • 03Classifica o código inseguro detectado em níveis de severidade de LOW a CRITICAL.
  • 04Gera relatórios no console ou em JSON, com formatos personalizados definidos em um arquivo de configurações.
  • 05Oferece uma API Python e uma CLI com códigos de saída para scripts e uso em CI.

Casos de uso

  • Verificar modelos de terceiros ou do Hugging Face antes de carregá-los em um ambiente de desenvolvimento.
  • Verificar se modelos produzidos por pipelines de treinamento foram adulterados na cadeia de suprimentos antes do lançamento.
  • Bloquear a implantação de modelos sinalizados em CI/CD para impedir que cheguem à produção.

Início rápido

  1. 1

    Instalar o ModelScan pelo PyPI

    pip install modelscan
  2. 2

    Verificar um arquivo de modelo local

    modelscan -p /path/to/model_file.pkl

Antes de usar

  • Oferece suporte apenas a alguns formatos de modelo (H5, Pickle e SavedModel) e a formatos derivados do Pickle.
  • Para verificar TensorFlow e HDF5, é necessário instalar pacotes extras.

Em coleções

Tópicos

Perguntas frequentes

O que é modelscan?
Um scanner que detecta código inseguro oculto em arquivos de modelos de ML antes que sejam carregados, protegendo contra ataques de serialização de modelos. O ModelScan verifica arquivos de modelos de machine learning em busca de código inseguro incorporado durante a serialização. Carregar um modelo malicioso baseado em pickle pode executar imediatamente código de um invasor, o que pode levar ao roubo de credenciais ou dados, ou à contaminação das saídas do modelo. O ModelScan evita esse risco lendo o conteúdo do arquivo byte a byte e comparando-o com assinaturas conhecidas de código inseguro, sem nunca executar o modelo.
modelscan é gratuito? Qual é a licença?
modelscan é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
modelscan ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de modelscan foi em 28 de set. de 2026.
Para que posso usar modelscan?
Verificar modelos de terceiros ou do Hugging Face antes de carregá-los em um ambiente de desenvolvimento. Verificar se modelos produzidos por pipelines de treinamento foram adulterados na cadeia de suprimentos antes do lançamento. Bloquear a implantação de modelos sinalizados em CI/CD para impedir que cheguem à produção.
Como instalar modelscan?
Instalar o ModelScan pelo PyPI: pip install modelscan Verificar um arquivo de modelo local: modelscan -p /path/to/model_file.pkl
Onde consigo modelscan?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/protectai/modelscan

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados