Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
modelaudit — Scanner de segurança para arquivos de modelos de IA/ML. Detecta código malicioso, backdoors e vulnerabilidades antes da implantação. | Kitploit
Ferramentas/GitHubGitHub/promptfoo/modelaudit
Análise EstáticaAnálise Estática de Código (SAST)Análise de VulnerabilidadesExfiltração de DadosAnálise de MalwareDevSecOpsDetecção de SegredosSegurança da Cadeia de SuprimentosSegurança de IA
GitHubpromptfoo/modelaudit

modelaudit

Scanner de segurança para arquivos de modelos de IA/ML. Detecta código malicioso, backdoors e vulnerabilidades antes da implantação.

6717há 20h 30mRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver RepositórioSite

ModelAudit

Proteja seus modelos de IA antes da implantação. Scanner estático que detecta código malicioso, possíveis indicadores de backdoor e vulnerabilidades de segurança em arquivos de modelos de ML — sem nunca carregá-los ou executá-los.

PyPI version Python versions Code Style: ruff License Security policy

Resultados da varredura do ModelAudit

Documentação Completa | Exemplos de Uso | Formatos Suportados

Por que ModelAudit

Modelos são baixados de registries não confiáveis, passam pela CI e acabam rodando em produção. Ferramentas SAST tradicionais não analisam opcodes de pickle, layouts de grupos HDF5, grafos proto ONNX ou assinaturas de TensorFlow SavedModel — o ModelAudit analisa:

  • Faça varredura estática. Nenhum modelo é carregado, desserializado ou executado.
  • Cubra os formatos que você realmente utiliza. 40+ scanners abrangendo pickle, PyTorch, SafeTensors, ONNX, TensorFlow, Keras, GGUF, arquivos compactados e configurações.
  • Integre-se à CI. Saída legível por máquina (JSON, SARIF), modo estrito, códigos de saída e scanners selecionáveis.
  • Evidencie limites de cobertura. Scanners reconhecidos relatam lacunas de análise limitada, como leituras truncadas ou orçamentos esgotados, em vez de apresentá-las como resultados totalmente cobertos.

Ferramentas comparáveis: picklescan (somente pickle, baseado em Python), fickling (somente pickle, baseado em AST), modelscan (pickle + TensorFlow + subconjunto de Keras). O ModelAudit tem cobertura mais ampla e vem com um mecanismo pickle nativo em Rust por meio de seu pacote complementar modelaudit-picklescan.

Início Rápido

Requer 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:~
(empty)```
$ 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

O que ele detecta

  • Ataques de execução de código em arquivos Pickle, PyTorch, NumPy e Joblib
  • Possíveis indicadores de backdoor — padrões de pesos suspeitos, tensores anômalos ou sinais de código oculto
  • Segredos incorporados — chaves de API, tokens e credenciais em pesos ou metadados do modelo
  • Indicadores de rede — URLs, IPs e uso de sockets que possam permitir exfiltração de dados
  • Explorações de arquivos compactados — path traversal, ataques de symlink em arquivos ZIP/TAR/7z
  • Operações de ML inseguras — camadas Lambda, operações personalizadas, TorchScript/JIT, injeção de templates
  • Riscos na cadeia de suprimentos — adulteração, violações de licença, configurações suspeitas

Formatos Suportados

O ModelAudit inclui 45 scanners registrados cobrindo formatos de modelo, arquivo e configuração:

Além disso, há scanners para ZIP, TAR, 7-Zip, camadas OCI, templates Jinja2, metadados JSON/YAML, manifestos, model cards, arquivos de texto e reconhecimento de RAR. Arquivos RAR são relatados como não suportados/fail-closed em vez de serem ignorados.

Protobufs TensorFlow SavedModel e MetaGraph estruturalmente válidos também são reconhecidos quando renomeados para sufixos não relacionados a modelos. Modelos CoreML também podem ser reconhecidos quando renomeados, com cobertura incompleta relatada explicitamente. Arquivos SafeTensors com enquadramento superdimensionado, porém plausível, são retidos para análise limitada e inconclusiva sob sufixos que de outra forma não seriam reivindicados, como .jpg. Checkpoints Flax/JAX MessagePack estruturalmente plausíveis também são reconhecidos quando renomeados para sufixos não relacionados a modelos; estruturas renomeadas que não podem ser totalmente classificadas são relatadas como cobertura incompleta. Metadados estruturados de checkpoints JSON JAX/Orbax também são reconhecidos quando renomeados; candidatos ambíguos superdimensionados são relatados como cobertura incompleta; padrões de segurança observáveis no prefixo inspecionado limitado ainda podem ser relatados de forma conservadora.

Ver documentação completa de formatos

Fontes Remotas

Examine modelos diretamente de registros remotos e armazenamento em nuvem:```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:~
### Variáveis de Ambiente de Autenticação

- `HF_TOKEN` para repositórios privados do Hugging Face
- `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY` (e opcionalmente `AWS_SESSION_TOKEN`) para S3
- `GOOGLE_APPLICATION_CREDENTIALS` para GCS
- `MLFLOW_TRACKING_URI` para acesso ao registro do MLflow
- `MODELAUDIT_MLFLOW_ALLOWED_ARTIFACT_URIS` para raízes de artefatos do MLflow não locais (prefixos de URI separados por vírgula)
- Use raízes de backend concretas, como `s3://bucket/prefix`; URIs lógicos `models:/` ou `runs:/` e caminhos remotos com codificação percentual são recusados.
- `JFROG_API_TOKEN` ou `JFROG_ACCESS_TOKEN` para JFrog Artifactory
- `MODELAUDIT_JFROG_ALLOWED_HOSTS` para nomes de host personalizados do JFrog separados por vírgula que podem receber credenciais
- `MODELAUDIT_JFROG_ALLOWED_REDIRECT_HOSTS` para nomes de host de redirecionamento externo separados por vírgula que podem ser baixados sem credenciais
- Armazene credenciais em variáveis de ambiente ou em um gerenciador de segredos e nunca faça commit de tokens/chaves.

## Instalação```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

O extra ONNX, incluindo a parte ONNX de modelaudit[all], é empacotado para Python 3.10-3.12. Extras que contêm PyTorch exigem Python 3.10-3.12 ou CPython 3.13 padrão (com GIL); as wheels do PyTorch 2.13 com patch não suportam CPython 3.13t sem GIL. Use CPython padrão, pois o scanner pickle nativo do ModelAudit também não suporta CPython 3.13t. Em Apple Silicon, extras que contêm PyTorch exigem macOS 14 ou mais recente porque as wheels têm como alvo macosx_14_0_arm64; a instalação somente do núcleo permanece disponível para análise estática no macOS 11-13.

Opções de CLI

Comandos principais:```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:~
Opções de varredura comuns:```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

Seleção de scanner direcionado:```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` começa a partir de uma allowlist explícita. `--exclude-scanner` subtrai scanners dessa allowlist ou do conjunto de scanners padrão. A seleção de scanners é refletida na saída JSON sob `scanner_selection`.

Para pastas remotas, o ModelAudit restringe downloads pelas extensões de scanner selecionadas quando seguro. O roteamento de wrappers renomeados com base no conteúdo é aplicado após a aquisição; escaneie um URL de arquivo direto quando os nomes de arquivos do repositório podem ser intencionalmente enganosos.

## Extração de Metadados```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 ativa carregadores de metadados do scanner que podem desserializar conteúdo de modelos. Use apenas em artefatos confiáveis em ambientes isolados.

Códigos de Saída

  • 0: Nenhum problema de segurança detectado
  • 1: Problemas de segurança detectados
  • 2: Erros de varredura

Telemetria e Privacidade

O ModelAudit inclui telemetria para confiabilidade do produto e análises de uso.

  • Os metadados coletados podem incluir uso de comandos e recursos, metadados de tempo ou tamanho de varreduras e downloads, uso de scanners/tipos de arquivo, identificadores estáveis de regras ou CVEs, agregados de gravidade, extensões de arquivo registradas, categorias amplas de origem ou provedor e metadados de versão de runtime, plataforma e CI.
  • A telemetria não inclui caminhos locais brutos, nomes de arquivos, IDs ou nomes de modelos, identificadores de repositório ou artefato, chaves de bucket ou objeto, caminhos de URL remotos, texto livre de problemas ou erros, userinfo de URL, strings de consulta, fragmentos ou conteúdos binários de modelos.
  • Instalações empacotadas habilitam a telemetria por padrão. A telemetria é desativada automaticamente quando CI=true está definido ou IS_TESTING=true está definido, e em instalações de desenvolvimento editáveis, a menos que MODELAUDIT_TELEMETRY_DEV=1 esteja definido. Eventos enviados de outros provedores de CI (TeamCity, CodeBuild, Bitbucket Pipelines, Jenkins) são marcados com isRunningInCi=true para que possam ser filtrados posteriormente.
  • Um identificador de usuário pseudônimo persistente é armazenado em ~/.promptfoo/promptfoo.yaml para correlação entre ferramentas com Promptfoo, e cada sessão de telemetria usa um novo identificador de sessão. IDs existentes de ~/.modelaudit/user_config.json são migrados na primeira execução após a atualização. Um valor de e-mail legado nesse arquivo, se presente, pode ser anexado ao perfil de usuário de análises.

Opte por não participar explicitamente com qualquer uma das variáveis de ambiente:```bash export PROMPTFOO_DISABLE_TELEMETRY=1

or

export NO_ANALYTICS=1

root@kitploit:~
Para optar durante instalações editáveis/de desenvolvimento:```bash
export MODELAUDIT_TELEMETRY_DEV=1

Exemplos de Saída```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:~
## Solução de problemas

- Execute `modelaudit doctor --show-failed` para listar scanners indisponíveis e dependências opcionais ausentes.
- Execute `modelaudit debug --json` para coletar diagnósticos de ambiente/configuração para relatórios de bugs.
- Use `modelaudit cache cleanup --max-age 30` para remover entradas de cache obsoletas com segurança.
- Se o `pip` instalar uma versão mais antiga, verifique se o Python é suportado (`python --version`; o ModelAudit suporta Python 3.10-3.13).
- Para mais soluções de problemas e orientações sobre autenticação em nuvem, consulte:
  - https://www.promptfoo.dev/docs/model-audit/
  - https://www.promptfoo.dev/docs/model-audit/usage/

## Documentação

- **[Documentação completa](https://www.promptfoo.dev/docs/model-audit/)** — instalação, configuração e uso avançado
- **[Exemplos de uso](https://www.promptfoo.dev/docs/model-audit/usage/)** — integração com CI/CD, varredura remota, geração de SBOM
- **[Formatos suportados](https://www.promptfoo.dev/docs/model-audit/scanners/)** — documentação detalhada dos scanners
- **[Política de suporte](https://github.com/promptfoo/modelaudit/blob/main/SUPPORT.md)** — versões de Python/SO suportadas e política de manutenção
- **[Modelo de segurança e limitações](https://github.com/promptfoo/modelaudit/blob/main/docs/user/security-model.md)** — o que o ModelAudit garante e não garante
- **[Matriz de compatibilidade](https://github.com/promptfoo/modelaudit/blob/main/docs/user/compatibility-matrix.md)** — formatos de arquivo vs dependências opcionais
- **[Seleção de scanners](https://github.com/promptfoo/modelaudit/blob/main/docs/user/scanner-selection.md)** — listas de permissão e exclusões de scanners específicos
- **[Guia de extração de metadados](https://github.com/promptfoo/modelaudit/blob/main/docs/user/metadata-extraction.md)** — fluxos de trabalho seguros de metadados e orientações sobre `--trust-loaders`
- **[Guia offline/isolado](https://github.com/promptfoo/modelaudit/blob/main/docs/user/offline-air-gapped.md)** — operação segura sem acesso à internet
- **Solução de problemas** — execute `modelaudit doctor --show-failed` para verificar a disponibilidade dos scanners

## Pacotes Relacionados

- **[`modelaudit-picklescan`](https://pypi.org/project/modelaudit-picklescan/)** — o scanner de pickle independente baseado em Rust usado pelos scanners de pickle, PyTorch, ExecuTorch e PyTorch-ZIP do ModelAudit. Instale-o diretamente se você precisar apenas de análise de pickle (como biblioteca, não como CLI) e não quiser o pacote completo de scanners.

## Como Reportar Vulnerabilidades

Não abra issues públicas para vulnerabilidades suspeitas. Consulte [SECURITY.md](https://github.com/promptfoo/modelaudit/blob/main/SECURITY.md) para divulgação coordenada.

## Contribuindo

Issues, pedidos de recursos e PRs são bem-vindos. Consulte [CONTRIBUTING.md](https://github.com/promptfoo/modelaudit/blob/main/CONTRIBUTING.md) para obter detalhes.

## Licença

Licença MIT — consulte [LICENSE](https://github.com/promptfoo/modelaudit/blob/main/LICENSE) para detalhes.
Baixar ferramenta
FormatoExtensõesRisco
Pickle.pkl, .pickle, .dillHIGH
PyTorch.pt, .pth, .ckpt, .binHIGH
Joblib.joblibHIGH
NumPy.npy, .npzHIGH
R Serializado.rds, .rda, .rdata, artefatos de workspace renomeados com assinatura válidaHIGH
TensorFlow.pb, .meta, diretórios SavedModelMEDIUM
Keras.h5, .hdf5, .kerasMEDIUM
ONNX.onnxMEDIUM
CoreML.mlmodel, artefatos renomeados estruturalmente válidosLOW
MXNet*-symbol.json, *-NNNN.params, JSON de símbolo renomeado estruturalmente válidoLOW
NeMo.nemo, arquivos renomeados com configuração raizMEDIUM
CNTK.dnn, .cmf, artefatos renomeados com assinatura válidaMEDIUM
RKNN.rknn, artefatos com assinatura válida sob sufixos renomeados não conflitantesMEDIUM
Torch7Artefatos serializados (.t7, .th, .net ou renomeados)HIGH
CatBoost.cbmMEDIUM
XGBoost.bst, .model, .json, .ubj, UBJSON sem extensãoMEDIUM
LightGBM.lgb, .lightgbm, .model, artefatos renomeados com assinatura válidaMEDIUM
LlamafileWrappers executáveis (.llamafile, .exe, sem extensão ou renomeados)MEDIUM
TorchServe.marHIGH
SafeTensors.safetensorsLOW
GGUF/GGML.gguf, .ggml, .ggmf, .ggjt, .ggla, .ggsa, artefatos renomeados com assinatura válidaLOW
JAX/Flax.msgpack, .flax, .orbax, .jax, .checkpoint, .orbax-checkpointLOW
TFLite.tflite, artefatos com assinatura válida sob sufixos renomeados não conflitantesLOW
ExecuTorch.ptl, .pte, artefatos autônomos com assinatura válida sob sufixos renomeados não conflitantesLOW
TensorRT.engine, .plan, .trtLOW
PaddlePaddle.pdmodel, .pdiparamsLOW
OpenVINO.xmlLOW
Skops.skopsHIGH
PMML.pmmlLOW
Wrappers Compactados.gz, .bz2, .xz, .lz4, .zlibMEDIUM