Transformers da Hugging Face grava ficheiro sem consentimento
O CERT/CC revelou a 1 de setembro a falha CVE-2026-80047 na Hugging Face Transformers: um ficheiro Python remoto é gravado no disco antes de o utilizador dar autorização. Ainda não existe correção.

O CERT Coordination Center (CERT/CC) dos Estados Unidos publicou a 1 de setembro de 2026 um alerta de segurança sobre uma falha na Hugging Face Transformers, a biblioteca Python mais utilizada do mundo para carregar e executar modelos de inteligência artificial. Catalogada como CVE-2026-80047, afeta as versões 4.49.0 a 5.8.1 da biblioteca. O portal japonês de vulnerabilidades JVN (Japan Vulnerability Notes) publicou informação equivalente no mesmo dia, noticiada inicialmente pelo meio INTERNET Watch. À data desta publicação, a Hugging Face não tinha divulgado qualquer correção nem posição oficial.
A Hugging Face Transformers é a biblioteca Python disponibilizada pela plataforma Hugging Face para carregar modelos de IA pré-treinados — processamento de linguagem natural, visão por computador, áudio, vídeo e sistemas multimodais — e executar inferência ou re-treino. O CERT/CC descreve-a como uma das estruturas mais utilizadas deste género, empregue tanto em investigação como em produção em todo o mundo.
Um ficheiro gravado antes de a pergunta sequer ser colocada
A falha reside na função GenerativePreTrainedModel.load_custom_generate(), que permite a um repositório de modelo fornecer a sua própria lógica de geração. Essa função obtém o módulo remoto através de get_cached_module_file() e grava-o na cache local do utilizador, em ~/.cache/huggingface/modules — antes de a biblioteca avaliar o consentimento do utilizador através de resolve_trust_remote_code(), o mecanismo trust_remote_code destinado a bloquear a execução de código não aprovado. O CERT/CC nota que a execução em si é corretamente bloqueada quando o utilizador recusa; o que é incondicional é a gravação inicial no disco. A causa raiz é uma cópia de ficheiro incondicional dentro de dynamic_module_utils.py, um comportamento distinto das restantes vias de carregamento dinâmico da biblioteca — AutoConfig, AutoModel, AutoTokenizer e AutoImageProcessor — que verificam o consentimento antes de obter ou gravar seja o que for.
- Mesmo que o utilizador recuse a execução no aviso de confiança, o ficheiro permanece guardado na cache local
- O autor de um repositório de modelo malicioso pode colocar qualquer código Python em custom_generate/generate.py
- Basta tentar carregar o modelo para desencadear a gravação, sem privilégios elevados nem ação adicional do utilizador
- Em ambientes onde a cache é reutilizada, um ficheiro malicioso já gravado pode ser executado por engano num carregamento posterior considerado de confiança
Ainda sem correção, apenas uma recomendação provisória
A falha foi reportada pelo investigador de segurança Prasanna Dabi. O CERT/CC afirma ter notificado a Hugging Face a 4 de agosto de 2026; à data de publicação do alerta, 1 de setembro, a empresa não tinha emitido qualquer declaração, e o seu estatuto de fornecedor consta como 'Unknown' no registo. Sem correção disponível, tanto o CERT/CC como o JVN recomendam evitar chamar load_custom_generate() sobre repositórios de modelo não fiáveis, e inspecionar periodicamente o diretório ~/.cache/huggingface/modules para remover qualquer ficheiro inesperado.
O CERT/CC salienta ainda que a cópia inicial do ficheiro não pode ser desfeita depois de realizada: o mecanismo trust_remote_code bloqueia corretamente a execução do código caso o utilizador recuse, mas nada remove o ficheiro já gravado em disco. O alerta recomenda também, como princípio geral de design, que qualquer verificação do tipo trust_remote_code ocorra antes de qualquer obtenção ou gravação de conteúdo remoto — um requisito que a função afetada não cumpre atualmente. O código-fonte da biblioteca está público no GitHub, onde o repositório huggingface/transformers continua a ser, para já, o único canal oficial para acompanhar uma correção.
O alerta atribui a descoberta ao investigador de segurança Prasanna Dabi e indica o analista do CERT/CC Bob Kemerer como autor do documento. Passou-se menos de um mês entre a notificação privada à Hugging Face, a 4 de agosto, e a publicação do alerta, a 1 de setembro — período durante o qual, segundo o calendário de divulgação coordenada do CERT/CC, a empresa não deu qualquer resposta.
O CERT/CC integra o Software Engineering Institute da Universidade Carnegie Mellon e opera com o apoio da Cybersecurity and Infrastructure Security Agency (CISA), a agência federal norte-americana de cibersegurança.
A execução do módulo está corretamente bloqueada, mas a gravação inicial do ficheiro é incondicional — um comportamento distinto das outras vias de carregamento dinâmico de módulos da biblioteca.
O que isto muda para uma equipa de desenvolvimento em Portugal
Para qualquer equipa portuguesa que construa pipelines de IA sobre a Hugging Face Transformers — de startups a bancos ou universidades —, esta falha é um item de verificação imediato, não mais um alerta para ignorar. Vale a pena localizar todas as chamadas a load_custom_generate() no código e nos pipelines de CI/CD, confirmar que nenhuma aponta para repositórios de modelo não verificados, e rever o diretório ~/.cache/huggingface/modules em máquinas de desenvolvimento e servidores de build à procura de ficheiros Python inesperados. Até surgir uma correção oficial, fixar a versão da biblioteca em produção e documentar um procedimento de revisão da cache é a medida mais fiável disponível.
Fontes
- 「Hugging Face Transformers」に脆弱性、ユーザーの同意前にPythonファイルを保存INTERNET Watch · 2 de setembro de 2026
- VU#456290 - Hugging Face Transformers library writes remote code to disk prior to consent checkCERT Coordination Center (CERT/CC) · 1 de setembro de 2026



