Todas as semanas, nossos sistemas de detecção de malware examinam milhares de pacotes novos e atualizados em registros públicos como npm e PyPI.
Esta semana foi particularmente agitada.
Confirmamos a presença de 220 pacotes maliciosos abrangendo npm, PyPI, VS Code e OpenVSX. Vários deles apareceram em grupos coordenados, com lançamentos maliciosos repetidos publicados sob os mesmos nomes ou em famílias de pacotes intimamente relacionadas. Muitos se faziam passar por utilitários de IA. enterpriseMódulos voltados para o usuário, ferramentas internas, SDKs, componentes de front-end e pacotes de fluxo de trabalho para desenvolvedores.
Além de confirmar 220 pacotes maliciososEsta semana também reforçou padrões mais amplos da cadeia de suprimentos de software que temos monitorado, incluindo:
Essas não foram anomalias isoladas. O que chamou a atenção esta semana foi a escala de publicação repetida, a reutilização de padrões de nomenclatura e a forma como os pacotes maliciosos foram posicionados para parecerem dependências legítimas dentro de um software real. pipelines.
Este resumo semanal faz parte do nosso relatório contínuo sobre códigos maliciosos, onde validamos novas ameaças e fornecemos informações práticas para ajudar as equipes de DevSecOps a protegerem seus sistemas. pipelineantes que ocorram danos.
Vamos analisar o que descobrimos esta semana e por que isso é importante.
| Ecossistema | Pacote | Data |
|---|---|---|
| pypi | parascode:1.1.2 | 27 de março de 2026 |
| npm | @ctfsolve9z/coral-wraith:9999.0.2 | 25 de março de 2026 |
| npm | coral-wraith:9999.0.2 | 25 de março de 2026 |
| npm | espectro-da-guerra:9999.0.0 | 25 de março de 2026 |
| npm | stormbreaker-shade:9999.0.3 | 25 de março de 2026 |
| npm | coral-wraith:9999.0.8 | 25 de março de 2026 |
| npm | ghost-engine:99.0.0 | 25 de março de 2026 |
| npm | ecto-fantasma:99.0.0 | 25 de março de 2026 |
| npm | ecto-motor:99.0.0 | 25 de março de 2026 |
| npm | módulo-corsair:99.0.0 | 25 de março de 2026 |
| npm | módulo-espectral:99.0.0 | 25 de março de 2026 |
| npm | ecto-espírito:100.0.0 | 25 de março de 2026 |
| npm | módulo-fantasma:99.0.0 | 25 de março de 2026 |
| npm | ecto-corsair-lwirz:100.0.0 | 25 de março de 2026 |
| npm | módulo-espectral:100.0.0 | 25 de março de 2026 |
| npm | módulo-fantasma:100.0.0 | 25 de março de 2026 |
| npm | ecto-espírito:101.0.0 | 25 de março de 2026 |
| npm | módulo-espectral:101.0.0 | 25 de março de 2026 |
| npm | ecto-espírito:104.0.0 | 25 de março de 2026 |
| npm | ecto-espírito:105.0.0 | 25 de março de 2026 |
| npm | ecto-espírito:106.0.0 | 25 de março de 2026 |
| npm | módulo-fantasma:99.0.0 | 25 de março de 2026 |
| npm | módulo-fantasma:102.0.0 | 25 de março de 2026 |
| npm | módulo fantasma:107.0.0 | 25 de março de 2026 |
| npm | ecto-motor:200.0.0 | 25 de março de 2026 |
| npm | módulo-corsair:200.0.0 | 25 de março de 2026 |
| npm | ecto-espírito:109.0.0 | 25 de março de 2026 |
| npm | módulo fantasma:117.0.0 | 25 de março de 2026 |
| npm | módulo fantasma:111.0.4 | 25 de março de 2026 |
| npm | módulo fantasma:111.0.7 | 25 de março de 2026 |
| npm | módulo fantasma:111.0.9 | 25 de março de 2026 |
| npm | módulo fantasma:111.0.29 | 25 de março de 2026 |
| npm | módulo fantasma:117.0.7 | 25 de março de 2026 |
| npm | módulo fantasma:117.0.9 | 25 de março de 2026 |
| npm | ecto-espírito:120.0.3 | 25 de março de 2026 |
| npm | ecto-espírito:120.0.7 | 25 de março de 2026 |
| npm | ecto-espírito:120.0.8 | 25 de março de 2026 |
| npm | ecto-espírito:120.0.9 | 25 de março de 2026 |
| npm | módulo fantasma:123.0.0 | 25 de março de 2026 |
| npm | ecto-espírito:120.2.1 | 25 de março de 2026 |
| pypi | shopyo-dashboard: 1.5.0 | 27 de março de 2026 |
| npm | @immuta/componentes pxl:99.99.0 | 27 de março de 2026 |
| npm | @immuta/flag-providers-web:99.99.0 | 27 de março de 2026 |
| npm | @adamallana0909/apple-research-test:99.9.21 | 27 de março de 2026 |
| npm | @appleseed-apple/ac-sass-kit:100.0.2 | 27 de março de 2026 |
| npm | apple-internal-telemetry-agent:100.0.1 | 27 de março de 2026 |
| npm | corp-utils:9.9.9 | 27 de março de 2026 |
| npm | ac-dom-nodes:1.9.1 | 27 de março de 2026 |
| npm | soul-ai:1.10.4 | 27 de março de 2026 |
| npm | rtxaspnet:1.0.0 | 27 de março de 2026 |
| npm | estaspnet:1.0.0 | 27 de março de 2026 |
| npm | ac-element-engagement:3.0.1 | 27 de março de 2026 |
| npm | @ghackk/multi-claude:1.0.0 | 25 de março de 2026 |
| pypi | multi-claude:1.0.0 | 25 de março de 2026 |
| npm | cw-isdk:22.0.0 | 25 de março de 2026 |
| npm | cw-isdk:23.0.0 | 25 de março de 2026 |
| npm | cw-isdk:31.0.0 | 25 de março de 2026 |
| npm | cw-isdk:32.0.0 | 25 de março de 2026 |
| pypi | multi-claude:1.0.8 | 25 de março de 2026 |
| npm | cw-isdk:40.0.5 | 25 de março de 2026 |
| npm | cw-isdk:40.0.7 | 25 de março de 2026 |
| npm | cw-isdk:40.0.9 | 25 de março de 2026 |
| npm | cw-isdk:40.0.8 | 25 de março de 2026 |
| pypi | multi-claude:1.0.12 | 25 de março de 2026 |
| pypi | multi-claude:1.0.14 | 25 de março de 2026 |
| npm | @ghackk/multi-claude:1.0.14 | 25 de março de 2026 |
| npm | envseed:0.3.3 | 26 de março de 2026 |
| pypi | pymnemonic:1.1.3 | 27 de março de 2026 |
| pypi | pymnemonic:1.2.5 | 27 de março de 2026 |
| npm | native_dep:99.10.0 | 27 de março de 2026 |
| pypi | multi-claude:1.0.16 | 25 de março de 2026 |
| npm | test_pkg_forppe:1.0.0 | 25 de março de 2026 |
| npm | @ghackk/multi-claude:1.0.17 | 25 de março de 2026 |
| pypi | multi-claude:1.0.17 | 25 de março de 2026 |
| pypi | multi-claude:1.0.18 | 25 de março de 2026 |
| npm | @ghackk/multi-claude:1.0.19 | 25 de março de 2026 |
| npm | @ghackk/multi-claude:1.0.20 | 25 de março de 2026 |
| pypi | multi-claude:1.0.20 | 25 de março de 2026 |
| npm | @ghackk/multi-claude:1.0.21 | 25 de março de 2026 |
| npm | @ghackk/multi-claude:1.0.22 | 25 de março de 2026 |
| pypi | multi-claude:1.0.22 | 25 de março de 2026 |
| npm | @ghackk/multi-claude:1.0.23 | 25 de março de 2026 |
| pypi | falsificador de cabeçalho:3.0.1 | 27 de março de 2026 |
| npm | ahhc:1.1.0 | 27 de março de 2026 |
| npm | ahmed_salem_ph:1.0.4 | 27 de março de 2026 |
| npm | @cdktf-constructs/azure-resourcegroup:2.3.0 | 27 de março de 2026 |
| npm | @promptions/promptions-ui:1.3.0 | 27 de março de 2026 |
| npm | @promptions/promptions-image:1.3.0 | 27 de março de 2026 |
| npm | @promptions/promptions-llm:1.3.0 | 27 de março de 2026 |
| npm | @promptions/promptions-chat:1.3.0 | 27 de março de 2026 |
| npm | regras-locais:2.0.0 | 27 de março de 2026 |
| npm | envseed:0.3.4 | 26 de março de 2026 |
| npm | whatfix-icons:7.0.0 | 28 de março de 2026 |
| npm | sistema de design de navegação: 7.0.0 | 27 de março de 2026 |
| npm | rastreador declarativo:9999.0.0 | 28 de março de 2026 |
| npm | sistema de design de navegação: 99.1.0 | 27 de março de 2026 |
| npm | rosud-call:2.0.7 | 25 de março de 2026 |
| npm | rosud-call:2.0.9 | 25 de março de 2026 |
| npm | rosud-call:2.1.2 | 25 de março de 2026 |
| npm | rosud-call:2.1.1 | 25 de março de 2026 |
| npm | rosud-call:2.1.4 | 25 de março de 2026 |
| npm | rosud-call:2.1.0 | 25 de março de 2026 |
| npm | rosud-call:2.3.0 | 25 de março de 2026 |
| npm | buildkite-test-collector-vitest-example:99.99.9 | 26 de março de 2026 |
| npm | buildkite-test-collector-playwright-example:99.99.9 | 26 de março de 2026 |
| npm | buildkite-test-collector-cypress-example:99.99.9 | 26 de março de 2026 |
| npm | nf-cl-ls:99.0.0 | 26 de março de 2026 |
| npm | nf-cl-ls:99.0.1 | 26 de março de 2026 |
| npm | wn-idv-persona-client:99.0.4 | 26 de março de 2026 |
| npm | nflx-release:99.0.1 | 26 de março de 2026 |
| npm | rosud-call:2.4.4 | 25 de março de 2026 |
| pypi | playground-ls-core:2026.3.0 | 26 de março de 2026 |
| openvsx | minherz/copyright-insertor:20.1.0 | 26 de março de 2026 |
| openvsx | marshallofsound/gnls-electron:20.1.0 | 26 de março de 2026 |
| openvsx | abronan/capnproto-syntax:20.1.0 | 26 de março de 2026 |
| npm | rosud-call:2.4.6 | 25 de março de 2026 |
| npm | rosud-call:2.4.7 | 25 de março de 2026 |
| npm | rosud-call:2.4.8 | 25 de março de 2026 |
| npm | rosud-call:2.4.9 | 25 de março de 2026 |
| npm | bic-seo:99.0.0 | 26 de março de 2026 |
| npm | delphoi:1.8.2 | 26 de março de 2026 |
| npm | ty-web-session:3.0.1 | 26 de março de 2026 |
| npm | sfx-data:2.1.0 | 26 de março de 2026 |
| npm | ty-web-session:3.0.2 | 26 de março de 2026 |
| npm | rosud-call:2.4.11 | 25 de março de 2026 |
| npm | int-browsing-gateway:1.0.4 | 26 de março de 2026 |
| npm | delphoi-service:2.1.0 | 26 de março de 2026 |
| npm | sfx-fragment-injector:0.9.3 | 26 de março de 2026 |
| npm | @emilgroup/task-sdk-node:1.0.3 | 26 de março de 2026 |
| npm | @emilgroup/partner-portal-sdk:1.1.2 | 26 de março de 2026 |
| npm | @emilgroup/changelog-sdk-node:1.0.2 | 26 de março de 2026 |
| npm | @emilgroup/document-sdk-node:1.43.6 | 26 de março de 2026 |
| npm | @emilgroup/commission-sdk-node:1.0.3 | 26 de março de 2026 |
| npm | react-leaflet-heatmap-layer:2.0.1 | 26 de março de 2026 |
| npm | @virtahealth/substrate-root:1.0.1 | 26 de março de 2026 |
| npm | @opengov/form-renderer:0.2.20 | 26 de março de 2026 |
| npm | opengov-k6-core:1.0.2 | 26 de março de 2026 |
| npm | eslint-config-service-users:0.0.3 | 26 de março de 2026 |
| npm | @leafnoise/mirage:2.0.3 | 26 de março de 2026 |
| npm | @pypestream/floating-ui-dom:2.15.1 | 26 de março de 2026 |
| pypi | gam7:7.38.0 | 26 de março de 2026 |
| vscode | darkgptaistudio:0.1.0 | 26 de março de 2026 |
| npm | rosud-call:2.5.0 | 25 de março de 2026 |
| npm | nintendoamerica-ncom:1.0.2 | 24 de março de 2026 |
| npm | nintendoamerica-ncom:1.0.5 | 24 de março de 2026 |
| npm | repo-typescript-config:99.0.0 | 24 de março de 2026 |
| npm | yelp-react-component-badge:99.0.0 | 24 de março de 2026 |
| npm | yelp-react-component-badge:99.0.3 | 24 de março de 2026 |
| npm | yelp-react-component-badge:99.0.4 | 24 de março de 2026 |
| npm | nintendoamerica-ncom:99.0.7 | 24 de março de 2026 |
| npm | nintendoamerica-ncom:99.0.16 | 24 de março de 2026 |
| npm | nintendoamerica-ncom:99.0.19 | 24 de março de 2026 |
| npm | nintendoamerica-ncom:99.0.21 | 24 de março de 2026 |
| npm | @anh3d0nic/qwen-code-termux-ice:1.1.0 | 26 de março de 2026 |
| npm | characterai-poc:1.0.0 | 26 de março de 2026 |
| npm | código de rolo: 0.0.1 | 26 de março de 2026 |
| npm | @bluemoon-o2/rollcode:0.0.1 | 26 de março de 2026 |
| npm | repo-typescript-config:99.0.11 | 24 de março de 2026 |
| npm | repo-typescript-config:99.0.12 | 24 de março de 2026 |
| npm | infinity-ai:1.2.0 | 26 de março de 2026 |
| pypi | insurance-db-mcp:1.0.4 | 26 de março de 2026 |
| npm | infinity-ai:1.2.5 | 26 de março de 2026 |
| npm | infinity-ai:1.2.6 | 26 de março de 2026 |
| npm | @thiagoemmanuell/rejeição não tratada:1.0.0 | 26 de março de 2026 |
| npm | rejeição não tratada1:1.0.2 | 26 de março de 2026 |
| vscode | kensuketheme:0.0.1 | 26 de março de 2026 |
| npm | twilio-voice-notification-server:9.9.9 | 26 de março de 2026 |
| npm | repo-typescript-config:99.0.29 | 24 de março de 2026 |
| pypi | litellm:1.82.7 | 25 de março de 2026 |
| npm | repo-typescript-config:99.0.36 | 24 de março de 2026 |
| pypi | litellm:1.82.8 | 25 de março de 2026 |
| npm | ferramenta auxiliar sunshine-tool:1.0.0 | 26 de março de 2026 |
| npm | react-appfabric-shell:0.6.0 | 26 de março de 2026 |
| npm | API de insônia:99.0.0 | 26 de março de 2026 |
| npm | API de insônia:99.0.1 | 26 de março de 2026 |
| npm | ambiente de script de insônia: 99.0.1 | 26 de março de 2026 |
| npm | kit-inicial-capacete-de-segurança:99.0.1 | 26 de março de 2026 |
| npm | chainlink-docs:99.0.1 | 26 de março de 2026 |
| npm | pil2-stark-js:99.0.1 | 26 de março de 2026 |
| npm | chainlink-tron:99.0.1 | 26 de março de 2026 |
| npm | kit de implantação:99.0.1 | 26 de março de 2026 |
| npm | pil2-proofman-js:99.0.1 | 26 de março de 2026 |
| npm | ccip-starter-kit-capacete:99.0.1 | 26 de março de 2026 |
| npm | kit-utilitário-simples:1.0.2 | 25 de março de 2026 |
| npm | envseed:0.3.10 | 26 de março de 2026 |
| npm | envseed:0.3.11 | 26 de março de 2026 |
| npm | envseed:0.3.14 | 26 de março de 2026 |
| npm | envseed:0.3.16 | 26 de março de 2026 |
| npm | envseed:0.3.18 | 26 de março de 2026 |
| npm | envseed:0.3.21 | 26 de março de 2026 |
| npm | envseed:0.3.22 | 26 de março de 2026 |
| npm | envseed:0.3.23 | 26 de março de 2026 |
| npm | envseed:0.3.25 | 26 de março de 2026 |
| npm | envseed:0.3.26 | 26 de março de 2026 |
| npm | srcsrctest:1.0.1 | 26 de março de 2026 |
| npm | srcsrctest:1.0.5 | 26 de março de 2026 |
| npm | folio-data-utils:1.0.0 | 27 de março de 2026 |
| npm | xpna-context:1.0.0 | 27 de março de 2026 |
| npm | react-appfabric-shell:0.6.1 | 28 de março de 2026 |
| npm | ponte-prometheos:1.7.0 | 28 de março de 2026 |
| npm | ponte-prometheos:1.7.5 | 28 de março de 2026 |
| npm | autoshipment-public-front:99.99.0 | 31 de março de 2026 |
| npm | ponte-prometheos:1.7.7 | 30 de março de 2026 |
| npm | ponte-prometheos:1.7.9 | 30 de março de 2026 |
| npm | ponte-prometheos:1.8.0 | 30 de março de 2026 |
| npm | daytona-test-npm:1.0.0 | 30 de março de 2026 |
| npm | spr-i18n-labels:1.0.4 | 30 de março de 2026 |
| npm | pacote-com-asserções-de-importação:99.0.0 | 30 de março de 2026 |
| npm | separadordeinfo:1.0.0 | 30 de março de 2026 |
| npm | spr-i18n-labels:1.0.5 | 29 de março de 2026 |
| npm | sn3akysnak3-test:1.0.0 | 29 de março de 2026 |
| npm | sn3akysnak3-test:1.0.1 | 29 de março de 2026 |
| npm | versão do aplicativo de discagem: 9999.0.0 | 29 de março de 2026 |
| npm | bizsignupnodeweb:99.10.9 | 29 de março de 2026 |
| npm | bizsignupnodeweb:99.11.9 | 29 de março de 2026 |
| npm | sn3akysnak3-test:1.0.2 | 29 de março de 2026 |
| npm | versão do aplicativo de discagem: 9999.0.1 | 29 de março de 2026 |
| npm | versão do aplicativo de discagem: 9999.0.3 | 29 de março de 2026 |
| npm | cardreadermgmtserv:99.13.9 | 29 de março de 2026 |
| npm | dados-de-negócios:99.13.9 | 29 de março de 2026 |
| npm | f0-state-manager:99.13.9 | 29 de março de 2026 |
| npm | nemo-datadrive:99.13.9 | 29 de março de 2026 |
| npm | merchservicingnodeserv:99.13.9 | 29 de março de 2026 |
| npm | idaasfinancialnodeserv:99.13.9 | 29 de março de 2026 |
| npm | f0-fpti-rastreamento:99.13.9 | 29 de março de 2026 |
| npm | f0-verificação-de-email:99.13.9 | 29 de março de 2026 |
| npm | especialização-país: 99.13.9 | 29 de março de 2026 |
| npm | ponte-prometheos:2.0.1 | 29 de março de 2026 |
| npm | ponte-prometheos:2.1.2 | 29 de março de 2026 |
| npm | ponte-prometheos:2.1.5 | 29 de março de 2026 |
| npm | ponte-prometheos:2.1.7 | 29 de março de 2026 |
| npm | ponte-prometheos:2.1.8 | 30 de março de 2026 |
| npm | elementos-decoração-bos:9.0.0 | 30 de março de 2026 |
| npm | ponte-prometheos:2.2.0 | 30 de março de 2026 |
| npm | earthengine-api:9.0.0 | 30 de março de 2026 |
| npm | characterai-poc:1.0.0 | 31 de março de 2026 |
| npm | @thiagoemmanuell/rejeição não tratada:1.0.0 | 31 de março de 2026 |
| npm | envseed:0.3.14 | 31 de março de 2026 |
| npm | rosud-call:2.4.7 | 31 de março de 2026 |
| npm | envseed:0.3.18 | 31 de março de 2026 |
| npm | API de insônia:99.0.0 | 31 de março de 2026 |
Proteja suas dependências de código aberto contra vulnerabilidades e códigos maliciosos
Minimize os riscos e proteja seus aplicativos de pacotes maliciosos com Detecção precoce de malware Xygeni. Priorize e trate das vulnerabilidades que mais importam. Nossa solução abrangente oferece monitoramento em tempo real de suas dependências para detectar e mitigar ameaças antes que elas afetem seu software.
O gerenciamento de componentes de código aberto no cenário atual de desenvolvimento de software é crucial devido às crescentes vulnerabilidades e ameaças de códigos maliciosos. Xygeni Open Source Security A solução verifica e bloqueia pacotes prejudiciais após a publicação, minimizando drasticamente o risco de malware e vulnerabilidades se infiltrarem em seus sistemas. Nosso monitoramento abrangente abrange vários registros públicos, garantindo que todas as dependências sejam examinadas quanto à segurança e integridade. O Xygeni aprimora a capacidade da sua equipe de manter projetos de software seguros e confiáveis, priorizando contextualmente problemas críticos e facilitando processos de correção simplificados.
A Xygeni utiliza técnicas multicamadas para bloquear códigos maliciosos antes que eles se espalhem. Primeiramente, a análise estática de código detecta padrões de ofuscação, payloads ocultos e abuso de scripts. Além disso, a análise de sandbox comportamental instala hooks, comandos de tempo de execução e truques de persistência. Além disso, a detecção por aprendizado de máquina identifica malware npm de dia zero e variantes de malware pypi não detectadas pelos scanners de assinatura. Por fim, o Sistema de Alerta Precoce monitora repositórios públicos em tempo real, valida as descobertas e alerta as equipes de DevOps imediatamente.
Como resultado, essa combinação garante que os desenvolvedores recebam inteligência rápida e acionável integrada diretamente em CI/CD workflows.
Por que os desenvolvedores devem se preocupar com pacotes npm maliciosos
Ameaças modernas raramente aguardam execução. Por exemplo, pacotes npm maliciosos costumam ser executados durante a instalação, enquanto pacotes pypi maliciosos ocultam exfiltração de tokens ou backdoors. Atacantes:
- Transforme repositórios privados do GitHub em públicos para replicá-los.
- Exfiltre credenciais e segredos usando cargas úteis codificadas.
- Use carregadores JavaScript ofuscados para implantar ransomware ou botnets.
De fato, os pacotes maliciosos de código aberto aumentaram 156% em um ano. Portanto, equipes que dependem apenas de feeds atrasados ou scanners básicos ficam para trás.
O que este relatório de malware rastreia no npm e no PyPI
Este resumo é o centro central para:
- Pacotes npm maliciosos confirmados
- Pacotes maliciosos pypi confirmados
- Detecções de código malicioso baseadas em comportamento
- Incidentes confirmados pelo registro
- Resumos de relatórios semanais e mensais de malware
- Registro de alterações histórico de todas as descobertas de malware npm e malware pypi
Em outras palavras, ele fornece um único ponto de referência. A equipe de pesquisa da Xygeni atualiza esta página semanalmente com links para análises técnicas completas e IOCs do GitHub.
Como se proteger contra pacotes npm maliciosos e malware PyPI
Devido a este risco crescente, as organizações precisam de defesas fortes:
- Aplicar instalações somente de arquivo de bloqueio (
npm ci) em CI/CD. - Além disso, verifique as dependências pré-instaladas com o Early Warning Engine do Xygeni.
- Além disso, o bloco se baseia em sinais de código malicioso usando Guardrails.
- Gerar SBOMs para rastrear dependências indiretas e aplicar políticas.
- Acima de tudo, treine os desenvolvedores para detectar erros de digitação, ofuscação e scripts de instalação suspeitos.
Experimente as ferramentas de detecção de malware da Xygeni
A Xygeni oferece:
- Detecção em tempo real de códigos maliciosos, incluindo backdoors, spyware e ransomware.
- Em contraste com os scanners básicos, a análise abrange todo o npm, PyPI, Maven, NuGet, gemas de rubiE muito mais.
- Bloqueio automático de compilação quando o relatório de malware identifica risco.
- Insights de explorabilidade, verificações de reputação do mantenedor e detecção de anomalias.





