DistillGuard combina análise estática de grafo e destilação de LLM para detectar pacotes NPM maliciosos com 95% de acurácia
Pesquisadores apresentam o DistillGuard, um framework leve para detectar pacotes NPM maliciosos que usa um LLM online apenas para gerar rótulos e conhecimento de segurança de alta qualidade, destilados via LoRA para um modelo Qwen3-8B open source rodando offline em produção — evitando o custo e o risco de enviar código de terceiros para uma API de LLM a cada verificação. O sistema atinge 95,3% de acurácia, 99,4% de precisão e F1 de 93,8%, superando ferramentas de referência em 11 a 30 pontos percentuais, e cataloga oito cadeias típicas de ataque via API usadas por pacotes maliciosos.
O ecossistema NPM do Node.js é um alvo recorrente de ataques de cadeia de suprimentos porque código malicioso injetado em um pacote se propaga automaticamente para todo projeto que o instala, e esse código tipicamente dispara em um de três momentos: durante a instalação (scripts de lifecycle), durante a importação, ou em tempo de execução. As abordagens de detecção anteriores têm limitações conhecidas: análise estática tradicional não entende semântica de código, métodos de aprendizado de máquina baseados em extração manual de features sofrem com desvio de conceito (o padrão de ataque muda mais rápido que o modelo é retreinado), e soluções que chamam um LLM diretamente em produção têm custo de invocação alto e um risco de segurança real — enviar código potencialmente sensível de terceiros para uma API externa a cada análise.
O DistillGuard tenta resolver essas três limitações simultaneamente com um desenho em duas etapas. Primeiro, três módulos de análise estática extraem features multi-granulares do pacote (a partir de um grafo de comportamento/chamadas, não de assinatura). Depois, em vez de usar um LLM online para classificar cada pacote em produção, o sistema usa esse LLM uma única vez, offline, para destilar conhecimento de segurança de alta qualidade e rótulos estruturados a partir das features extraídas — e usa esse conhecimento destilado para fazer fine-tuning eficiente via LoRA de um modelo Qwen3-8B open source, que então roda localmente em produção, sem nunca enviar o código do cliente para uma API externa durante a inferência.
Os números reportados — 95,3% de acurácia, 99,4% de precisão e F1 de 93,8% — superam ferramentas de referência em 11,1 a 30 pontos percentuais de F1, uma margem grande o suficiente para sugerir que a combinação de estrutura de grafo com conhecimento destilado de LLM captura padrões de comportamento malicioso que nem análise estática pura nem ML clássico sobre features manuais conseguiam generalizar bem.
Além da detecção em si, a pesquisa empírica dos autores cataloga oito cadeias típicas de ataque via API usadas por pacotes maliciosos no NPM — um mapeamento de táticas que tem valor prático direto para quem constrói regras de detecção ou políticas de revisão de dependência, independente de adotar o DistillGuard como ferramenta. Para times de segurança de cadeia de suprimentos de software, o principal diferencial do trabalho é arquitetural: mostra um caminho concreto para se beneficiar da capacidade de raciocínio de um LLM grande na fase de treino sem herdar seu custo e risco de exposição de dado na fase de inferência em produção.