Pular para o conteúdo
Skillpedia
Agentes35 mil · #5682

detecting-malicious-npm-packages

Permite ao agente verificar pacotes npm em busca de malware e roubo de credenciais. Ajuda a garantir a segurança de dependências de software e a investigar pacotes suspeitos.

O que ela faz

Esta ferramenta ajuda a verificar se pacotes de software (chamados de 'pacotes npm') para desenvolvimento de programas contêm código malicioso. Ela procura por programas que tentam roubar informações, se espalhar ou executar ações indesejadas.

Quando usar

  • ✓Ao adicionar um novo pacote de software ao seu projeto.
  • ✓Ao revisar o código de outra pessoa para garantir que não há riscos.
  • ✓Quando alertado sobre uma versão perigosa de um pacote já em uso.

Exemplo do que pedir para a IA

“Verifique o pacote 'expresss' por código malicioso.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-malicious-npm-packages/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-malicious-npm-packages/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa um scanner chamado GuardDog para analisar o código do pacote sem executá-lo. Ela também pode simular a instalação do pacote em um ambiente seguro para observar seu comportamento.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill detecting-malicious-npm-packages

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/detecting-malicious-npm-packages/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Detecção de Pacotes Maliciosos no npm

Aviso Legal: Analise pacotes em um ambiente isolado e descartável. Alguns pacotes maliciosos executam na instalação (npm install executa scripts de ciclo de vida automaticamente) ou na importação. Nunca analise um pacote suspeito em uma estação de trabalho com credenciais, chaves SSH, tokens de nuvem ou acesso de rede à produção. Esta habilidade é apenas para análise defensiva e resposta a incidentes autorizada.

Visão Geral

O registro npm é o maior ecossistema de pacotes de software do mundo e o mais visado por atacantes da cadeia de suprimentos. Pacotes maliciosos chegam às vítimas por meio de typosquatting (expresss, crossenv), confusão de dependências, tomada de conta/mantenedor (o worm Shai-Hulud de 2025 e a violação event-stream são exemplos canônicos) e starjacking. O perigo definidor do npm é que npm install executa automaticamente preinstall, install e postinstall scripts de ciclo de vida com os privilégios totais do desenvolvedor antes que qualquer código de aplicação seja invocado — então, simplesmente instalar um pacote é o suficiente para ser comprometido. Aproximadamente 2% dos pacotes npm usam scripts de instalação, o que os torna comuns e um poderoso veículo de entrega de malware.

Comportamentos maliciosos típicos são: exfiltração de variáveis de ambiente, tokens ~/.npmrc, chaves SSH e credenciais de nuvem para um URL controlado pelo atacante; abertura de shells reversos; instalação de mineradores de criptomoedas; leitura e postagem de process.env; ofuscação de payloads com base64/eval; e auto-propagação (worming) roubando o token npm do mantenedor e republicando versões trojanizadas de outros pacotes que eles possuem.

Esta habilidade fornece um fluxo de trabalho de triagem repetível centrado no GuardDog (scanner heurístico de código aberto da Datadog construído sobre Semgrep + regras de metadados), complementado por inspeção manual de tarballs, verificações de comprometimento baseadas em lockfile contra listas de versões conhecidas como maliciosas e detonação dinâmica com monitoramento de rede e sistema de arquivos. O objetivo é decidir, de forma rápida e segura, se um determinado pacote ou a árvore de dependências de um projeto contém código malicioso.

Quando Usar

  • Triagem de um pacote npm específico antes de adicioná-lo como dependência.
  • Verificação de um package.json / package-lock.json completo durante a revisão de código ou integração de uma biblioteca de terceiros.
  • Resposta a um aviso de cadeia de suprimentos (por exemplo, uma campanha de worm) e necessidade de verificar se seus lockfiles puxaram uma versão conhecida como maliciosa.
  • Investigação de um endpoint ou runner de CI suspeito de ter instalado um pacote trojanizado.
  • Construção de um portão de pré-instalação em CI/CD que bloqueia pacotes que exibem indicadores maliciosos.

Pré-requisitos

  • Uma VM isolada ou contêiner descartável sem credenciais de produção e capacidade de snapshot/rollback.
  • GuardDog:
    pip install guarddog
    # or run via Docker without local install:
    docker pull ghcr.io/datadog/guarddog
    alias guarddog='docker run --rm ghcr.io/datadog/guarddog'
    
  • Node.js + npm (use --ignore-scripts ao baixar para análise).
  • jq, tar e, opcionalmente, OSV-Scanner para verificações cruzadas de vulnerabilidade conhecida/malicioso conhecido:
    go install github.com/google/osv-scanner/cmd/osv-scanner@v1
    
  • Para análise dinâmica: um sandbox com log de saída (por exemplo, tcpdump, um DNS sink ou um namespace de rede).

Objetivos

  • Escanear estaticamente um pacote npm (ou uma árvore de dependências inteira) em busca de heurísticas maliciosas sem executá-lo.
  • Identificar abuso de script de instalação, exfiltração de ambiente/credenciais, ofuscação e execução silenciosa de processos.
  • Cruzar versões fixadas em lockfile com listas de versões conhecidas como maliciosas / OSV.
  • Detonar com segurança um pacote suspeito e observar o comportamento de rede e sistema de arquivos.
  • Extrair indicadores de comprometimento (URLs, IPs, hashes) para bloqueio e inteligência de ameaças.
  • Produzir um veredito defensável (benigno / suspeito / malicioso) com evidências.

Mapeamento MITRE ATT&CK

ID da Técnica Nome da Técnica Relevância
T1195.002 Supply Chain Compromise: Compromise Software Supply Chain Técnica principal — pacote npm trojanizado entregue através do registro.
T1059.007 Command and Scripting Interpreter: JavaScript Scripts de instalação maliciosos / código do módulo executam JavaScript do atacante.
T1552.001 Unsecured Credentials: Credentials In Files Pacotes roubam ~/.npmrc, .env, chaves SSH e arquivos de credenciais de nuvem.
T1041 Exfiltration Over C2 Channel Segredos roubados postados em endpoints HTTP(S) do atacante.

…

Perguntas frequentes

Por que instalar um pacote pode ser perigoso?

Alguns pacotes executam códigos automaticamente durante a instalação, que podem roubar suas senhas ou chaves de acesso antes mesmo do seu programa principal começar a rodar.

O que são 'scripts de instalação'?

São pequenos programas que rodam quando um pacote é instalado. Pacotes maliciosos podem usar esses scripts para fazer coisas ruins.

O que é 'GuardDog'?

É um programa de segurança que analisa código em busca de padrões suspeitos ou maliciosos, ajudando a identificar pacotes perigosos.

Detalhes

Descrição original do autor

Triage npm packages and lockfiles for install-script malware, credential exfiltration, and worming behavior using GuardDog, manual tarball inspection, and dynamic detonation with network/filesystem monitoring. Use when vetting a new dependency, reviewing a package.json/package-lock.json during code review, checking lockfiles against a supply-chain advisory's known-bad versions, or investigating a

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5682
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas