Envio de registos, alertas e telemetria através de um diodo de dados

Descubra como
Utilizamos inteligência artificial para as traduções dos sítios e, embora nos esforcemos por garantir a exatidão, estas podem nem sempre ser 100% precisas. Agradecemos a sua compreensão.

Riscos de segurança dos modelos LLM decorrentes de ficheiros «pickle» e cargas empilhadas

Os modelos de IA pré-treinados descarregados de plataformas públicas são código executável que MetaDefender o pipeline de cinco camadas do Aether™ inspeciona antes de estes ultrapassarem o seu limite de confiança.
Por Triet Tran Minh, Analista de Detecção de Ameaças
Partilhar esta publicação

A segurança dos modelos LLM (Large Language Model) consiste na prática de inspecionar ficheiros de modelos de IA pré-treinados para detetar código malicioso incorporado, antes de estes serem carregados num ambiente. Os ficheiros de modelos em formatos como pickle, PyTorch, TensorFlow e Keras podem executar código no momento em que são carregados, o que os torna um risco na cadeia de abastecimento equivalente à execução de software não verificado.

Resumo / Pontos principais

  • Os modelos pré-treinados descarregados do Hugging Face, do Kaggle ou do PyPI são código executável, não dados inertes
  • De acordo com o relatório «Software » da JFrog, intitulado «Supply Chain : State of the Union 2026», 53 % das organizações obtêm modelos diretamente de registos públicos, onde os investigadores identificaram cerca de 495 modelos maliciosos capazes de roubar credenciais e comprometer totalmente o sistema
  • Os formatos baseados em Pickle (.pt, .pth, .bin, .pkl) executam funções arbitrárias através da instrução REDUCE durante o carregamento, a mesma falha estrutural presente nos gráficos do TensorFlow e nas camadas Lambda do Keras
  • O Safetensors elimina completamente o motor de execução, mas continuam em circulação centenas de milhares de modelos em formatos antigos, e o facto de um ficheiro num repositório ser seguro não garante que o resto desse repositório também o seja
  • MetaDefender O Aether™ analisa ficheiros de modelos em cinco camadas de análise, detetando ameaças como cargas úteis «pickle» empilhadas que não são detetadas pelos scanners tradicionais

Os modelos de IA pré-treinados são código executável que ultrapassa um limite de confiança

Construir um modelo de linguagem de grande dimensão a partir do zero requer dados, recursos computacionais e tempo de que a maioria das organizações não dispõe. Em vez disso, as equipas descarregam modelos pré-treinados de plataformas públicas como o Hugging Face, o Kaggle e o PyPI. Essa dependência criou um vetor de ataque à cadeia de abastecimento que muitos programas de segurança ainda ignoram.

As organizações já submetem a uma verificação rigorosa as bibliotecas de código aberto e as imagens de contentores que incorporam nos seus ambientes. Poucas estendem esse mesmo escrutínio aos modelos de IA que as suas equipas descarregam, apesar de um ficheiro de modelo não ser simplesmente uma folha de cálculo com números. Dependendo do seu formato, um ficheiro de modelo pode ser um programa que é executado no momento em que é carregado.

Só o Hugging Face hospeda bem mais de um milhão de modelos, a maioria dos quais nunca foi submetida a uma avaliação de segurança. De acordo com o relatório «Software »Supply Chain «State of the Union 2026» da JFrog, 53 % das organizações obtêm agora modelos diretamente de registos públicos, e os investigadores identificaram cerca de 495 modelos maliciosos nesses registos, capazes de roubar credenciais, executar código e comprometer totalmente o sistema. Um modelo LLM é um software executável que ultrapassa um limite de confiança.

Como as ameaças baseadas em modelos evoluíram da teoria à evasão

A ameaça desenvolveu-se em várias fases: avisos académicos, provas de conceito, abusos na cadeia de abastecimento no mundo real e técnicas de evasão concebidas para contornar os scanners.

A evolução das ameaças associadas aos modelos, 2018–2026

Fase

Prazo

O que mudou

Provas representativas

Teoria

2018

Os académicos alertam que os modelos reutilizados e pré-treinados provenientes de fontes não fiáveis podem ser manipulados

Ataques de reutilização de modelos a sistemas de aprendizagem profunda

Prova de conceito

2023–2024

Surgem modelos verdadeiramente maliciosos; formatos baseados em pickle revelam-se portadores de cargas úteis ativas

star23/baller13, um modelo que utiliza um «reverse shell», apareceu no Hugging Face

Na natureza

2024–2025

O volume aumenta, com a entrega pela cadeia de abastecimento através de registos de encomendas

Os pacotes PyPI com a marca Alibaba marcam o início dos ataques à cadeia de abastecimento dos LLM

Evasão avançada

2024–2025

Cargas úteis dispostas em camadas e empilhadas, concebidas para contornar a inspeção rápida

Uma prova de conceito com «pickle stacked» obteve uma pontuação de 0/70 no VirusTotal

Um formato mais seguro

2023–2026

É introduzido um formato exclusivamente de dados, que não permite transportar código, mas os modelos antigos continuam a ser amplamente utilizados

O Safetensors passa a ser a opção predefinida nos novos modelos lançados

Os ficheiros Pickle e PyTorch executam código assim que são carregados

O Pickle é o formato de serialização nativo do Python e foi, durante anos, a forma padrão de guardar modelos em disco. O PyTorch desenvolveu os seus ficheiros .pt, .pth e .bin com base nesse formato, e muitos modelos foram publicados nesses formatos. Atualmente, existem opções mais seguras, mas estas foram postas de lado como se fossem apenas jargão empresarial abstrato. Uma grande parte dos modelos que ainda circulam em repositórios públicos continua a ser baseada no Pickle, e as equipas carregam-nos diariamente.

O formato Pickle é amplamente utilizado para armazenar modelos LLM

O Pickle armazena mais do que apenas dados. Trata-se de um fluxo de instruções que uma máquina virtual executa enquanto carrega o ficheiro e reconstrói objetos Python. O fluxo pode chamar funções arbitrárias, pelo que carregar um modelo baseado em Pickle também pode executar código.

Os atacantes exploram a instrução REDUCE do pickle, que indica ao carregador para chamar uma função especificada com argumentos escolhidos pelo atacante durante o processo de unpickling. Isso permite iniciar um shell reverso, instalar uma carga útil de segunda fase ou sobrescrever uma chave SSH, enquanto o modelo continua a carregar e a comportar-se como um ficheiro legítimo.

O TensorFlow e o Keras apresentam riscos semelhantes. Os grafos maliciosos do TensorFlow podem introduzir clandestinamente operadores de escrita de ficheiros ou de rede no grafo de computação, enquanto as camadas Lambda do Keras podem conter bytecode Python marshalizado que é deserializado no momento do carregamento. Cada formato permite que um ficheiro contenha comportamento executável. Este risco é estrutural, pelo que a correção de um único bug não o consegue eliminar. Essa limitação obrigou o setor a encontrar um formato mais seguro.

Um shell reverso incorporado num ficheiro de modelo baseado em pickle

Incidentes reais transformaram a teoria numa ameaça de « Supply Chain »

Os alertas sobre ataques de reutilização de modelos surgiram pela primeira vez em 2018. Posteriormente, os investigadores demonstraram que o risco se concretizava na prática. Em janeiro de 2024, um modelo denominado star23/baller13 surgiu no Hugging Face com um shell reverso dentro de um ficheiro PyTorch. Este modelo conseguia proporcionar acesso remoto, ao mesmo tempo que se fazia passar por um modelo válido.

Aviso sobre o Star23/baller13 no Hugging Face. Fonte: https://huggingface.co/star23/baller13
Pacote malicioso do PyPi
Pacote malicioso do PyPi

Em maio de 2025, a ameaça passou a afetar diretamente a cadeia de abastecimento. Os atacantes publicaram pacotes no PyPI com os nomes aliyun-ai-labs-snippets-sdk, ai-labs-snippets-sdk e aliyun-ai-labs-sdk, que se faziam passar por um kit de ferramentas de IA da Alibaba e carregavam discretamente um modelo malicioso durante a utilização. Os pacotes permaneceram disponíveis durante menos de 24 horas, mas foram descarregados cerca de 1 600 vezes; um lembrete de que um breve período de exposição é mais do que suficiente quando a resolução automatizada de dependências é responsável pelo descarregamento.

Mestrado em Direito (LLM) em ataques à cadeia de abastecimento

Cargas úteis «Stacked Pickle» derrotam os scanners tradicionais

Em 2024, os atacantes passaram a visar os scanners concebidos para detetar modelos maliciosos. O exemplo mais claro é a técnica «Stacked Pickle», que aninha vários objetos «pickle» e espalha instruções maliciosas pelas camadas, envolvendo-as posteriormente em compressão e codificação.

Cada camada parece inofensiva quando analisada isoladamente, pelo que os scanners e as análises manuais que se limitam à superfície não detetam nada. Quando o modelo é carregado, as camadas são descompactadas sequencialmente e voltam a montar a carga útil. Uma amostra de prova de conceito criada com esta técnica não registou qualquer deteção em nenhum dos motores do VirusTotal.

Um scanner que analisa apenas a camada visível pode não detetar uma carga útil escondida nas camadas mais profundas do ficheiro. Foi assim que a amostra passou por todos os motores de análise.

O Stacked Pickle contorna os scanners tradicionais

O Safetensors elimina completamente o motor de execução

O Safetensors armazena pesos de modelos sem um motor de execução. Um ficheiro contém um cabeçalho compacto de metadados que descreve a forma, o tipo de dados e o deslocamento em bytes de cada tensor, seguido dos bytes brutos do tensor. Não possui um fluxo de instruções, uma máquina virtual nem qualquer equivalente à função REDUCE do pickle, pelo que não é possível instruir o carregador para chamar uma função.

Um ficheiro Safetensors é constituído por dados inertes que o carregador lê. Mesmo um ficheiro criado com intenções maliciosas não consegue executar código ao ser carregado, uma vez que o formato não prevê qualquer via para a execução desse código.

Estrutura de ficheiros do Safetensors vs. Pickle

Por que razão o Safetensors foi criado e por que razão se popularizou

O problema com os formatos antigos nunca foram os pesos em si. O problema era que o ficheiro também podia conter instruções executáveis. A Hugging Face, em colaboração com a EleutherAI e a Stability AI, desenvolveu o Safetensors como uma alternativa criada especificamente para eliminar essa capacidade, preservando ao mesmo tempo o que as equipas precisam de um ficheiro de pesos.

O Safetensors é também prático. Carrega rapidamente através de acesso mapeado na memória e sem cópia, funciona com o PyTorch, o TensorFlow, o JAX e outras estruturas, e tornou-se a opção predefinida para a maioria dos novos lançamentos de modelos. Essas vantagens contribuíram para a sua difusão sem que fosse necessário impô-lo.

O Safetensors é uma norma mais segura para ficheiros de modelos de aprendizagem automática

Uma auditoria independente corrobora a alegação de segurança

Os responsáveis pela manutenção não são a única fonte por trás da afirmação relativa à segurança. A biblioteca está escrita em Rust, cujo compilador evita toda uma classe de erros de análise sintática. Em 2023, a Hugging Face, a EleutherAI e a Stability AI encomendaram conjuntamente uma auditoria independente ao formato à Trail of Bits.

A auditoria não detetou nenhuma falha crítica que pudesse conduzir à execução arbitrária de código. Identificou algumas imprecisões nas especificações e uma validação em falta que tinha permitido a existência de ficheiros poliglotas. Os responsáveis pela manutenção corrigiram e publicaram todas essas alterações, tendo depois definido o Safetensors como padrão.

Os dados registados desde então corroboram as conclusões da auditoria. Os formatos antigos têm dado origem a incidentes reais desde 2024, enquanto não foi demonstrado, durante o mesmo período, qualquer ataque de execução de código contra o próprio formato Safetensors. O Safetensors não oferece aos atacantes qualquer mecanismo de execução para o tipo de ataque que torna os ficheiros baseados em pickle perigosos. O risco remanescente provém dos formatos antigos que ainda são amplamente utilizados.

O modelo « Supply Chain » ainda precisa de uma porta de inspeção

O risco reside no facto de um formato de ficheiro de modelo poder ou não incluir código juntamente com os seus pesos. Os formatos Pickle, PyTorch, TensorFlow e Keras permitem-no; o Safetensors, por definição, não. Os responsáveis pela segurança devem considerar os formatos de modelo executáveis como um risco, inspecionar todos os modelos que entram no ambiente e orientar as equipas para a utilização de formatos seguros sempre que possível.

Milhões de modelos em formatos antigos continuam disponíveis em plataformas públicas, e as equipas continuam a descarregá-los. Um repositório também pode disponibilizar um ficheiro em formato pickle juntamente com um ficheiro seguro; por isso, a presença de pesos do Safetensors não torna todo o repositório seguro. A cadeia de abastecimento de modelos precisará de um mecanismo de controlo até que os formatos antigos sejam retirados de circulação.

Na prática, isso traduz-se numa lista de verificação curta e com poucos falsos positivos:

  • Dê preferência aos Safetensors e considere que os formatos mais antigos requerem inspeção antes da utilização. Qualquer modelo com extensão .pt, .pth, .bin, .pkl, .pb ou .h5 proveniente de um editor não verificado deve ser analisado antes de ser carregado
  • Considere o carregamento de um modelo em formato antigo como um evento de execução. Um carregamento de modelo que inicie um shell, abra uma ligação de saída a partir de um interpretador de Python ou escreva num caminho sensível constitui um sinal comportamental que deve ser incluído na telemetria do anfitrião, tal como aconteceria com qualquer execução de código
  • Analise todo o artefacto, não apenas o ficheiro de pesos. A unidade de análise é o pacote do modelo tal como é fornecido, uma vez que o formato de um repositório constitui uma afirmação, e não uma garantia, até que seja verificado

Como o pipeline de cinco camadas do « MetaDefender » da Aether analisa ficheiros de modelos LLM

MetaDefender O Aether™, a solução unificada de deteção de ameaças «zero-day» da OPSWAT, oferece uma eficácia de deteção de 99,9% através de um fluxo de inspeção de cinco camadas. Cada envio começa com uma análise do tipo de ficheiro, que identifica o ficheiro em vez de se basear apenas na sua extensão. Cada camada de análise pode determinar o veredicto de forma independente. Assim que uma camada chega a uma resposta definitiva, a análise é interrompida, pelo que a maioria dos ficheiros evita as fases mais aprofundadas e dispendiosas.

  1. Reputação de ameaças. O hash do ficheiro e os indicadores relacionados são verificados em relação à base de dados global de inteligência sobre ameaças do OPSWAT, que conta com mais de 50 mil milhões de indicadores. Um hash já associado a um ficheiro malicioso conhecido é bloqueado em menos de um segundo, e um ficheiro considerado seguro é aprovado com a mesma rapidez, pelo que apenas os ficheiros desconhecidos passam à fase seguinte.
  2. Análise estática. Antes de qualquer execução, o ficheiro é avaliado pela Predictive Alin AI, a par de uma análise estática e de uma verificação pelo motor antivírus. O Predictive Alin AI fornece veredictos baseados em aprendizagem automática em milésimos de segundo, sem necessidade de detonação em sandbox, tendo sido treinado com conjuntos de dados empresariais selecionados e seguros em termos de privacidade e sendo continuamente aperfeiçoado através de um ciclo de retreinamento «zero-day» alimentado pelas deteções confirmadas do Aether d MetaDefender . No caso de ficheiros de modelo, é aqui que um «pickle» suspeito com códigos de operação de carga útil reconhecíveis é detetado antes de se gastar qualquer tempo de emulação com o mesmo.
  3. Análise dinâmica. A emulação ao nível da instrução resolve o problema do «Stacked Pickle», revelando o comportamento de um ficheiro sem ser necessário iniciar uma máquina virtual completa para cada amostra. Contorna as verificações anti-VM e os atrasos de tempo que permitem contornar as sandboxes tradicionais, concluindo a análise em segundos em vez de minutos, com uma velocidade até 20 vezes superior e um volume 100 vezes maior do que as ferramentas tradicionais de sandboxing.
  4. Pontuação de ameaças. Esta camada combina as funções invocadas, as ligações tentadas, os sinais de reputação e outras conclusões das três primeiras camadas. Baseia-se em mais de 900 indicadores comportamentais para produzir uma pontuação utilizável e uma impressão digital de similaridade para a fase final.
  5. Detecção de ameaças. A pesquisa de semelhanças baseada em aprendizagem automática estabelece uma correlação entre a impressão digital e a base de dados de inteligência de ameaças do OPSWAT, bem como os comportamentos mapeados pelo MITRE, para identificar variantes e campanhas. Um modelo malicioso reempacotado ou renomeado pode ter um novo hash, mas esta camada consegue ainda assim detetar a sua semelhança com um antecessor malicioso conhecido.

Todo o processo decorre automaticamente. O resultado é um veredicto consolidado e um relatório de evidências que associa cada indicador ao comportamento que o originou.

MetaDefender O Aether verifica os ficheiros de modelo em todos os pontos de entrada

Os modelos são recebidos através de transferências da Web, e-mail, plataformas de transferência de ficheiros e fluxos automatizados. Um ponto de inspeção deve abranger todas as vias sem obrigar as organizações a redesenhar a infraestrutura que transporta o tráfego.

No que diz respeito aos canais de rede, o MetaDefender Aether integra-se através de ICAP, o protocolo padrão que os servidores proxy, os gateways de e-mail e as plataformas de transferência de ficheiros já utilizam para enviar ficheiros a um serviço de inspeção. Nos casos em que o tráfego nunca passa por um dispositivo de rede, a mesma análise pode ser acedida através de uma interface REST API .

  • Transferências da Web. Quando um programador descarrega um modelo do Hugging Face ou do Kaggle, o proxy ou o gateway Web seguro encaminha a transferência para o Aether d MetaDefender , através de ICAP, e um ficheiro pickle malicioso é bloqueado antes mesmo de chegar ao ponto final.
  • E-mail. Os ficheiros de modelos e as ferramentas de IA partilhados como anexos são extraídos e analisados através do mesmo fluxo de processamento que qualquer outro anexo, eliminando assim a via de engenharia social que contorna os controlos ao nível do registo.
  • Transferências de ficheiros. Os modelos trocados com parceiros e fornecedores, ou transferidos entre zonas internas através de transferência de ficheiros gerida, são analisados durante a transmissão, pelo que o limite de confiança se mantém mesmo para ficheiros que nunca passam por um hub público.
  • Pipelines e registos automatizados. Crie tarefas e plataformas de ML que obtenham modelos de forma programática e os submetam através do API antes de qualquer elemento ser promovido para um registo interno, bloqueando assim a via exata que os pacotes PyPI da Alibaba exploraram, em que a resolução de dependências é que efetua o download e ninguém chega a ver um ficheiro que possa levantar suspeitas.

Todas as rotas utilizam o mesmo fluxo de inspeção e a mesma lógica de verificação, não deixando nenhum canal sem supervisão que um atacante possa explorar.

Segurança sem atrasar os programadores

As equipas de segurança muitas vezes não gerem o risco associado aos modelos, uma vez que proibir as transferências a partir de hubs públicos não é viável. MetaDefender O Aether permite que os programadores mantenham os seus fluxos de trabalho existentes, enquanto o pipeline analisa os modelos em tempo real à velocidade de emulação. As transferências bloqueadas incluem um relatório de evidências que explica a decisão.

Saiba como o Aether da MetaDefender analisa os ficheiros dos modelos LLM antes de estes ultrapassarem o seu limite de confiança.

Perguntas mais frequentes

O que é a segurança dos modelos LLM?
A segurança dos modelos LLM consiste na prática de inspecionar ficheiros de modelos de IA pré-treinados para detetar código malicioso incorporado, antes de estes serem carregados num ambiente. Esta abordagem trata os modelos descarregados de plataformas públicas como software executável que atravessa um limite de confiança, e não como dados inertes.

Por que razão os ficheiros pickle são perigosos para os modelos de IA?
Uma máquina virtual executa o fluxo de instruções de um ficheiro pickle à medida que o ficheiro é carregado. A instrução REDUCE permite que um atacante chame funções arbitrárias durante esse processo, pelo que o carregamento de um modelo baseado em pickle pode executar código controlado pelo atacante sem aviso prévio.

O que é o Safetensors e em que difere do pickle?
O Safetensors é um formato de ficheiro exclusivamente de dados destinado ao armazenamento de pesos de modelos, contendo um cabeçalho de metadados e bytes de tensores em bruto, sem motor de execução e sem nada equivalente à instrução REDUCE do pickle. Enquanto um ficheiro pickle é um programa executado pelo carregador, um ficheiro Safetensors é constituído por dados inertes lidos pelo carregador.

Um ficheiro Safetensors pode ainda ser malicioso?
Um ficheiro Safetensors não pode executar código ao ser carregado, uma vez que o formato não prevê qualquer caminho de execução. No entanto, um repositório pode incluir um ficheiro antigo baseado em pickle juntamente com pesos Safetensors seguros, pelo que todo o repositório continua a necessitar de inspeção.

Como é que o MetaDefender Aether deteta modelos LLM maliciosos?
MetaDefender O Aether analisa os ficheiros dos modelos através de cinco camadas: reputação de ameaças, análise estática, análise dinâmica, pontuação de ameaças e deteção proativa de ameaças. Bloqueia a maioria dos ficheiros antes de estes chegarem às fases mais profundas e dispendiosas e consegue detetar cargas úteis «pickle» empilhadas que passam pelos scanners tradicionais de camada única.

Inspecione todos os modelos antes de estes ultrapassarem o seu limite de confiança

Atualmente, as equipas recorrem a modelos reutilizados e pré-treinados, mas cada transferência a partir de uma fonte pública levanta a mesma questão: o ficheiro contém apenas dados ou pode executar código? MetaDefender O Aether responde antes de o modelo ser carregado, aplicando cinco camadas de análise às transferências da Web, e-mails, transferências de ficheiros e pipelines automatizados.

Mantenha-se atualizado com OPSWAT!

Inscreva-se hoje para receber as últimas actualizações da empresa, histórias, informações sobre eventos e muito mais.