Aikido

Mini Shai-Hulud schlägt erneut zu: npm-Wurm kompromittiert Hunderte von @antv-Paketen

Verfasst von
Sooraj Shah

Mini Shai-Hulud ist wieder da.

Die npm Supply-Chain-Kampagne, die wir seit April verfolgen, hat eine weitere Welle gestartet und diesmal wichtige Pakete in Alibabas @antv Suite zusammen mit echarts-for-react und timeago.js. Unser Malware-Team entdeckte ein großes Cluster kompromittierter Paketversionen über Hunderte von npm-Paketnamen hinweg.

Nach der Installation extrahiert die Payload Klartext-Secrets aus dem CI/CD-Runner-Speicher, stiehlt lokale Cloud- und SSH-Anmeldeinformationen und platziert Backdoors in VS Code- und Claude Code-Konfigurationen. Über 2.700 bösartige GitHub-Repos wurden bereits mithilfe gestohlener Tokens erstellt.

Die Payload wird zum Installationszeitpunkt ausgeführt. Bis ein Scanner das Paket kennzeichnet, wurde der bösartige Code bereits auf jeder Maschine ausgeführt, die es installiert hat. Wir gehen im folgenden Abschnitt zur Erkennung näher darauf ein, warum dies wichtig ist.

Wenn Sie unsere frühere Berichterstattung über die SAP-Welle und die TanStack-Welle verfolgt haben, handelt es sich um dieselbe Kampagne, die sich weiter ausbreitet.

Was geschah

Unser Malware-Team entdeckte am 19. Mai eine Flut bösartiger Veröffentlichungen. Als wir die erste Charge fertig triagiert hatten, kamen immer noch weitere hinzu.

Der Großteil der Aktivitäten zielte auf @antv Pakete, eine weit verbreitete Sammlung von JavaScript-Bibliotheken für Datenvisualisierung, Diagramme, Karten und Charts. Wenn Sie Dashboards, Diagramme oder datenintensive Benutzeroberflächen in einem JavaScript-Projekt erstellt haben, ist die Wahrscheinlichkeit groß, dass etwas aus dieser Liste in Ihrem Abhängigkeitsbaum enthalten ist. Der betroffene Satz umfasst @antv/g2, @antv/g6, @antv/x6, @antv/l7, @antv/s2, @antv/f2, @antv/g, @antv/g2plot, @antv/graphin, und @antv/data-set, zusammen mit Paketen außerhalb des Namespace wie echarts-for-react, timeago.js, size-sensor, und canvas-nest.js.

Darüber hinaus @antv, traf die Welle auch Pakete unter @lint-md, @openclaw-cn, und @starmind, sowie mehrere unscoped npm-Pakete.

echarts-for-react allein verzeichnet etwa 1,1 Millionen wöchentliche Downloads. Eine einzige kompromittierte Version eines Pakets in dieser Größenordnung kann schnell viele Umgebungen erreichen.

Dies folgt dem gleichen Muster, das wir bereits bei früheren Wellen beobachtet haben. Der Angreifer muss nicht Hunderte einzelner Konten kompromittieren. Er verschafft sich Zugang zu einem Maintainer-Konto mit weitreichenden Veröffentlichungsrechten und verbreitet bösartige Versionen über alles, was dieses Konto erreichen kann.

Funktionsweise des Payloads

Der technische Ansatz stimmt mit früheren Mini Shai-Hulud-Varianten überein, weist jedoch einige Unterschiede bei der Dateibenennung und Infrastruktur auf.

Ein root-level index.js Payload wird in den Paket-Tarball injiziert. Die package.json wird so modifiziert, dass er während der Installation ausgeführt wird:

"preinstall""bun run index.js"

Die Datei index.js ist stark obfuskiert und verwendet String-Array-Lookup-Tabellen, Laufzeit-Dekodierung und einen benutzerdefinierten Entschlüsseler, um sensible Strings vor statischer Analyse zu verbergen.

Der Payload fügt außerdem eine optionale Abhängigkeit hinzu, die die Technik widerspiegelt, die wir in der TanStack-Welle dokumentiert haben:

{
  "optionalDependencies": {
    "@antv/setup": "github:antvis/G2#7cb42f57561c321ecb09b4552802ae0ac55b3a7a"
  }
}

Dies wird manchmal als exotische Abhängigkeit bezeichnet, eine github: präfixierte Referenz, die direkt auf ein GitHub-Repo und einen Commit verweist, anstatt auf ein über npm veröffentlichtes Paket. Dies gibt dem Angreifer einen zweiten Ausführungspfad während der Installation, ohne den vollständigen Payload im npm-Tarball zu versenden. npm führt Lebenszyklus-Skripte für Git-Abhängigkeiten während der Installation aus, sodass ein Paket, das wie eine normale Abhängigkeit aussieht, den Payload stillschweigend aus einem völlig separaten Repo ausführen kann.

Was der Payload entwendet

Der Payload zielt auf Entwickelnden-Maschinen und CI/CD-Umgebungen ab. Er sucht nach:

  • GitHub-Tokens
  • npm-Tokens
  • GitHub Actions OIDC-Tokens
  • AWS-Anmeldeinformationen und Instanz-Metadaten
  • Kubernetes Service-Account-Dateien
  • HashiCorp Vault Tokens
  • SSH-Schlüssel und private Schlüssel
  • Docker-Authentifizierungsdateien
  • Datenbank-Verbindungsstrings
  • Umgebungsvariablen und lokale Dateisystem-Secrets

Die gestohlenen Daten werden vor der Exfiltration verschlüsselt, was die Wiederherstellung gestohlener Klartextdaten aus Netzwerk-Captures erschwert. Der Exfiltrations-Endpunkt ist als Telemetrie-URL getarnt, was in Build-System-Logs leicht übersehen werden kann.

Die Payload enthält auch einen GitHub-basierten Fallback. Wenn sie einen verwendbaren GitHub-Token erhält, kann sie ein Repository unter dem Konto des Opfers erstellen und dort gestohlene Daten committen. Im Verlauf der gesamten Mini Shai-Hulud Kampagne wurden über 2.700 bösartige GitHub-Repositories mit gestohlenen Tokens erstellt, wobei dieselbe von Dune inspirierte Namensgebung und umgekehrte Kampagnenmarker verwendet wurden, die wir in früheren Wellen dokumentiert haben.

Persistenz

Dies ist der Teil, der die Bereinigung schwieriger macht als in früheren Wellen.

Die Payload schreibt in .vscode/tasks.json und .claude/settings.json, indem Backdoors in VS Code und Claude Code Konfigurationen platziert werden. Das bedeutet, dass das Entfernen des bösartigen Pakets aus Ihrer Lockfile nicht ausreicht. Wenn diese Dateien nicht überprüft und bereinigt werden, behält der Angreifer selbst nach dem Rollback der Abhängigkeit einen Zugang zur Maschine der Entwickelnden.

Propagation

Die Payload enthält immer noch die npm-Propagationslogik, die Mini Shai-Hulud zu einem Wurm macht, und es lohnt sich zu wiederholen, wie dies funktioniert, da es die Geschwindigkeit dieser Wellen erklärt.

Nach dem Diebstahl von npm-Tokens validiert sie diese gegen die npm-Registry, listet Pakete auf, die der Token-Besitzer veröffentlichen kann, lädt Paket-Tarballs herunter, injiziert die bösartige Payload, fügt einen preinstall Hook hinzu, erhöht die Version und veröffentlicht sie erneut. Die Malware stiehlt nicht nur Secrets vom aktuellen Opfer. Sie nutzt den Veröffentlichungszugriff des Opfers, um die nächste Reihe von Paketen zu kompromittieren.

So wächst die Kampagne weiter. Jedes kompromittierte Konto wird zum Einstiegspunkt für die nächste Welle, und Maintainer mit weitreichenden Veröffentlichungsrechten geben dem Wurm viel Raum zur Verbreitung.

Was sich seit der TanStack-Welle geändert hat

Das Kernmodell ist dasselbe: Ausführung zur Installationszeit, Bun-basierte Payloads, verschleiertes JavaScript, Credential Harvesting, GitHub-Missbrauch und npm-Neuveröffentlichung. Wenn Sie unsere früheren Analysen gelesen haben, wird Ihnen die Architektur bekannt vorkommen.

Der @antv Beispiele verwenden eine Root-Ebene index.js anstatt der router_init.js die wir in TanStack-Paketen gesehen haben. Die C2-Infrastruktur hat sich geändert. Die Payload ist etwas kleiner. Die Persistenz durch IDE- und AI-Tooling-Konfigurationen ist neu und beachtenswert, da dies bedeutet, dass der Angreifer darüber nachdenkt, was nach der Bereinigung der ursprünglichen Kompromittierung geschieht.

Dies ist die dritte große Welle, die wir verfolgt haben. Sie entwickelte sich von einer Handvoll SAP-Paketen im April über 169 Pakete in der TanStack-Welle zu einer jetzt viel größeren Menge an Paketen. Jede Welle war schneller und umfassender als die vorherige.

Warum schnelle Erkennung nicht ausreicht

Es wurde viel Wert darauf gelegt, wie schnell bösartige Pakete nach ihrer Veröffentlichung markiert werden können. In einigen Fällen innerhalb von Minuten. Das klingt beruhigend, verfehlt aber das eigentliche Problem.

Diese Pakete führen Code zur Installationszeit aus. Ein preinstall Hook wird während npm install, bevor das Paket überhaupt vollständig entpackt ist. Wenn eine Entwickelnde oder ein CI-Runner eine kompromittierte Version in dem Zeitfenster zwischen Veröffentlichung und Erkennung installiert, ist die Payload bereits ausgeführt und die Anmeldeinformationen haben die Maschine bereits verlassen. Der Schaden ist bereits entstanden, bevor ein Scanner das Paket markieren kann.

Schnelle Erkennung unterstützt die Incident Response. Sie zeigt auf, welche Versionen künftig zu vermeiden sind. Sie schützt jedoch nicht die Entwickelnde und Build-Systeme, die das Paket in den ersten Minuten installiert haben.

Die effektivere Verteidigung besteht darin, niemals eine Paketversion zu installieren, die noch nicht geprüft werden konnte. Das Blockieren von Paketen nach Alter, d.h. die Weigerung, eine Version zu installieren, die vor weniger als einer bestimmten Anzahl von Stunden oder Tagen veröffentlicht wurde, schließt das Fenster, das erkennungsbasierte Ansätze offenlassen. Dies ist eine einfache Richtlinie, die tatsächlich verhindert, dass die Payload ausgeführt wird.

Erkennung und Mitigation

Wenn Sie neue Pakete nicht nach Alter blockiert haben und eine kompromittierte Version in Ihre Umgebung gelangt ist, beginnen Sie mit Lockfiles und Paket-Caches.

Suchen Sie nach betroffenen Namespaces und Paketen:

  • @antv/
  • @lint-md/
  • @openclaw-cn/
  • @starmind/
  • echarts-for-react
  • timeago.js
  • size-sensor
  • canvas-nest.js

Suchen Sie nach Payload-Dateien und Abhängigkeits-Markern:

  • preinstall Hook, der enthält bun run index.js
  • @antv/setup
  • github:antvis/G2#7cb42f57561c321ecb09b4552802ae0ac55b3a7a

Überprüfen Sie Entwickelnde-Maschinen auf Persistenz-Artefakte:

  • .vscode/tasks.json für unerwartete Task-Definitionen
  • .claude/settings.json für unerwartete Konfigurationsänderungen

Ausgehenden Netzwerkverkehr blockieren zu:

  • t.m-kosche.com

Durchsuchen Sie CI-Logs nach:

  • Unerwartete Bun-Ausführung während npm install
  • Fehler bei optionalen Abhängigkeiten im Zusammenhang mit @antv/setup
  • Ausgehende Verbindungen während der Abhängigkeitsinstallation
  • npm-Publish-Aktivität aus Workflows, die nicht hätten publizieren sollen
  • GitHub Actions OIDC-Token-Anfragen während unerwarteter Schritte

Wenn eine kompromittierte Paketversion auf einer Entwickelnden-Maschine oder einem CI-Runner ausgeführt wurde, rotieren Sie Secrets aus dieser Umgebung. Beschränken Sie sich nicht nur auf npm-Tokens.

Rotieren oder überprüfen Sie:

  • npm-Tokens und Zugriff auf die Paketveröffentlichung
  • GitHub PATs und GitHub Actions Secrets
  • AWS-Anmeldeinformationen
  • Kubernetes Service-Account-Tokens
  • Vault-Tokens
  • SSH-Schlüssel
  • Docker-Anmeldeinformationen
  • Deployment Secrets

Überprüfen Sie auch aktuelle npm-Veröffentlichungen und GitHub Actions-Läufe. Wie wir in unserem TanStack-Bericht feststellten: Ein gültiger Provenienz-Datensatz beweist nicht, dass der Build sicher war.

Indikatoren für Kompromittierung

Netzwerkindikatoren:

  • t[.]m-kosche[.]com

Paket-Marker:

  • @antv/setup
  • github:antvis/G2#7cb42f57561c321ecb09b4552802ae0ac55b3a7a
  • preinstall Skriptausführung bun run index.js
  • Payload-Datei auf Root-Ebene außerhalb des normalen Paketinhalts enthalten

Persistenz-Artefakte:

  • .vscode/tasks.json
  • .claude/settings.json

Kampagnen-Marker:

  • Repository-Namen mit Dune-Bezug auf GitHub (über 2.700 beobachtet)
  • Umgekehrt Shai-Hulud Strings in Repository-Beschreibungen
  • results/ Verzeichnisse in von Angreifern erstellten Repositories

Zuvor dokumentierte Indikatoren aus den SAP- und TanStack-Wellen gelten weiterhin. Eine vollständige IOC-Liste der früheren Wellen finden Sie in unserem TanStack-Bericht.

Fazit

Mini Shai-Hulud dringt immer tiefer in das npm-Ökosystem vor. Jede Welle war größer als die vorherige, und die @antv Pakete erweitern das betroffene Set um Tools zur Datenvisualisierung, zusätzlich zu den Routing-, Enterprise- und AI-Paketen früherer Wellen. Die Hinzufügung von IDE- und AI-Tooling-Persistenz bedeutet, dass das Entfernen der fehlerhaften Abhängigkeit nicht mehr ausreicht, um das System zu bereinigen.

Sollten betroffene Pakete in Ihrer Umgebung ausgeführt worden sein, behandeln Sie die Maschine oder den Runner als kompromittiert, bis Secrets rotiert, Persistenz-Artefakte entfernt und die jüngsten Veröffentlichungsaktivitäten überprüft wurden.

Wie Aikido davor schützt

Wenn Sie ein Aikido-Benutzer sind, überprüfen Sie Ihren zentralen Feed und filtern Sie nach Malware-Problemen. Dies wird als kritisches Problem mit 100/100 angezeigt. Aikido scannt nächtlich erneut, aber wir empfehlen, jetzt einen manuellen Rescan auszulösen. Wir haben eine Erkennungsregel implementiert, um nach den Indikatoren für Kompromittierung zu suchen, die speziell mit dieser Kampagne zusammenhängen. Wir haben auch unsere Malware-KI darauf trainiert, betroffene Pakete zu erkennen. Die Regel verfolgt speziell exotische Abhängigkeiten, Lifecycle-Hooks und Bun-Ausführungstechniken, die mit dieser Kampagne in Verbindung stehen.

Für eine tatsächliche Prävention, nicht nur eine nachträgliche Erkennung, bietet Aikido zwei Schichten, die das Problem der Installationszeit direkt angehen.

Aikido Safe Chain (Open Source) fängt npm-, pnpm- und yarn-Befehle ab und prüft Pakete vor der Installation gegen Aikido Intel. Es blockiert kompromittierte Pakete, bevor sie Installations-Hooks ausführen können. Wenn ein Paket markiert oder zu neu ist, um vertraut zu werden, wird es nicht installiert.

Aikidos Devices Protection bietet Sicherheitsteams Echtzeit-Transparenz über die Abhängigkeiten und Erweiterungen, die auf Entwickelnde-Maschinen im gesamten Unternehmen laufen. Es erzwingt Richtlinien wie das Blockieren von Paketen nach Alter, sodass eine vor wenigen Minuten veröffentlichte Version gar nicht erst auf eine Entwickelnde-Maschine gelangt. Wenn doch etwas durchkommt, können Sie den Explosionsradius sofort eindämmen.

Wenn Sie noch kein Aikido-Nutzer sind, können Sie ein Konto erstellen und Ihre Repositories verbinden. Unsere Malware-Abdeckung ist im kostenlosen Plan enthalten, keine Kreditkarte erforderlich.

Anhang: Betroffene Pakete und Versionen

Aktuelle Liste der Pakete und Versionen, die unser Team über alle Mini Shai-Hulud Wellen hinweg identifiziert hat. Diese Liste umfasst Pakete aus den SAP-, TanStack- und @antv-Wellen.

  • @antv/a8: 0.1.1, 0.2.1
  • @antv/adjust: 0.3.5, 0.4.5
  • @antv/algorithm: 0.2.26, 0.3.26
  • @antv/async-hook: 2.3.9, 2.4.9
  • @antv/attr: 0.4.5, 0.5.5
  • @antv/ava: 3.5.1, 3.6.1
  • @antv/ava-react: 3.4.2, 3.5.2
  • @antv/awards: 0.1.9, 0.2.9
  • @antv/calendar-heatmap: 1.2.2, 1.3.2
  • @antv/chart-linter: 1.2.6, 1.3.6
  • @antv/chart-node-g6: 0.1.4, 0.2.4
  • @antv/chart-visualization-skills: 0.2.3, 0.3.3
  • @antv/ckb: 2.1.4, 2.2.4
  • @antv/color-schema: 0.3.3, 0.4.3
  • @antv/color-util: 2.1.6, 2.2.6
  • @antv/component: 2.2.11, 2.3.11
  • @antv/coord: 0.5.7, 0.6.7
  • @antv/d3-color: 1.1.0, 1.2.0
  • @antv/d3-interpolate: 1.1.3, 1.2.3
  • @antv/data-samples: 1.1.1, 1.2.1
  • @antv/data-set: 0.12.8, 0.13.8
  • @antv/data-wizard: 2.1.4, 2.2.4
  • @antv/dipper-component: 0.1.4, 0.2.4
  • @antv/dipper-hooks: 0.3.1, 0.4.1
  • @antv/dipper-map: 1.1.10, 1.2.10
  • @antv/dom-util: 2.1.4, 2.2.4
  • @antv/dumi-theme-antv: 0.10.4, 0.9.4
  • @antv/dw-analyzer: 1.2.5, 1.3.5
  • @antv/dw-random: 1.2.7, 1.3.7
  • @antv/dw-transform: 1.2.7, 1.3.7
  • @antv/dw-util: 1.2.4, 1.3.4
  • @antv/event-emitter: 0.2.3, 0.3.3
  • @antv/expr: 1.1.2, 1.2.2
  • @antv/f-charts: 0.1.0, 0.2.0
  • @antv/f-engine: 1.11.0, 1.12.0
  • @antv/f-lottie: 1.11.0, 1.12.0
  • @antv/f-my: 1.11.0, 1.12.0
  • @antv/f-react: 1.11.0, 1.12.0
  • @antv/f-test-utils: 1.1.9, 1.2.9
  • @antv/f-vue: 1.11.0, 1.12.0
  • @antv/f-wx: 1.11.0, 1.12.0
  • @antv/f2: 5.15.0, 5.16.0
  • @antv/f2-algorithm: 5.8.0, 5.9.0
  • @antv/f2-canvas: 1.1.5, 1.2.5
  • @antv/f2-context: 0.1.1, 0.2.1
  • @antv/f2-graphic: 0.1.16, 0.2.16
  • @antv/f2-my: 4.1.52, 4.2.52
  • @antv/f2-react: 5.15.0, 5.16.0
  • @antv/f2-site: 4.1.42, 4.2.42
  • @antv/f2-vue: 4.1.33, 4.2.33
  • @antv/f2-wordcloud: 5.15.0, 5.16.0
  • @antv/f2-wx: 4.1.51, 4.2.51
  • @antv/f6: 0.1.19, 0.2.19
  • @antv/f6-alipay: 0.1.7, 0.2.7
  • @antv/f6-core: 0.1.2, 0.2.2
  • @antv/f6-element: 0.1.1, 0.2.1
  • @antv/f6-hammerjs: 0.1.2, 0.2.2
  • @antv/f6-plugin: 1.1.6, 1.2.6
  • @antv/f6-ui: 1.1.3, 1.2.3
  • @antv/f6-wx: 0.1.7, 0.2.7
  • @antv/g: 6.4.1, 6.5.1
  • @antv/g-base: 0.6.16, 0.7.16
  • @antv/g-camera-api: 2.1.45, 2.2.45
  • @antv/g-canvas: 2.3.0, 2.4.0
  • @antv/g-canvaskit: 1.2.1, 1.3.1
  • @antv/g-compat: 1.1.11, 1.2.11
  • @antv/g-components: 2.1.42, 2.2.42
  • @antv/g-css-layout-api: 1.1.38, 1.2.38
  • @antv/g-css-typed-om-api: 1.1.38, 1.2.38
  • @antv/g-device-api: 1.7.13, 1.8.13
  • @antv/g-dom-mutation-observer-api: 2.1.42, 2.2.42
  • @antv/g-gesture: 3.1.42, 3.2.42
  • @antv/g-image-exporter: 1.1.42, 1.2.42
  • @antv/g-layout-blocklike: 1.8.49, 1.9.49
  • @antv/g-lite: 2.8.0, 2.9.0
  • @antv/g-lottie-player: 1.2.1, 1.3.1
  • @antv/g-math: 3.2.0, 3.3.0
  • @antv/g-mobile: 1.2.5, 1.3.5
  • @antv/g-mobile-canvas: 1.2.1, 1.3.1
  • @antv/g-mobile-canvas-element: 1.1.42, 1.2.42
  • @antv/g-mobile-svg: 1.2.1, 1.3.1
  • @antv/g-mobile-webgl: 1.2.1, 1.3.1
  • @antv/g-pattern: 2.1.42, 2.2.42
  • @antv/g-perf: 1.1.0, 1.2.0
  • @antv/g-plugin-3d: 2.2.1, 2.3.1
  • @antv/g-plugin-a11y: 1.5.1, 1.6.1
  • @antv/g-plugin-annotation: 1.3.0, 1.4.0
  • @antv/g-plugin-box2d: 2.2.1, 2.3.1
  • @antv/g-plugin-canvas-path-generator: 2.2.26, 2.3.26
  • @antv/g-plugin-canvas-picker: 2.4.1, 2.5.1
  • @antv/g-plugin-canvas-renderer: 2.6.1, 2.7.1
  • @antv/g-plugin-canvaskit-renderer: 2.4.1, 2.5.1
  • @antv/g-plugin-control: 2.2.1, 2.3.1
  • @antv/g-plugin-css-select: 2.2.1, 2.3.1
  • @antv/g-plugin-device-renderer: 2.7.1, 2.8.1
  • @antv/g-plugin-dom-interaction: 2.2.31, 2.3.31
  • @antv/g-plugin-dragndrop: 2.2.1, 2.3.1
  • @antv/g-plugin-gesture: 2.2.1, 2.3.1
  • @antv/g-plugin-gpgpu: 1.10.20, 1.11.20
  • @antv/g-plugin-html-renderer: 2.4.1, 2.5.1
  • @antv/g-plugin-image-loader: 2.4.1, 2.5.1
  • @antv/g-plugin-matterjs: 2.2.1, 2.3.1
  • @antv/g-plugin-mobile-interaction: 1.1.42, 1.2.42
  • @antv/g-plugin-physx: 2.2.1, 2.3.1
  • @antv/g-plugin-rough-canvas-renderer: 2.2.1, 2.3.1
  • @antv/g-plugin-rough-svg-renderer: 2.2.1, 2.3.1
  • @antv/g-plugin-svg-picker: 2.1.46, 2.2.46
  • @antv/g-plugin-svg-renderer: 2.5.1, 2.6.1
  • @antv/g-plugin-webgl-device: 1.10.17, 1.11.17
  • @antv/g-plugin-webgl-renderer: 1.1.26, 1.2.26
  • @antv/g-plugin-webgpu-device: 1.10.17, 1.11.17
  • @antv/g-plugin-yoga: 2.4.1, 2.5.1
  • @antv/g-plugin-zdog-canvas-renderer: 2.2.1, 2.3.1
  • @antv/g-plugin-zdog-svg-renderer: 2.2.1, 2.3.1
  • @antv/g-shader-components: 2.1.0, 2.2.0
  • @antv/g-svg: 2.2.1, 2.3.1
  • @antv/g-web-animations-api: 2.2.32, 2.3.32
  • @antv/g-web-components: 2.2.1, 2.3.1
  • @antv/g-webgl: 2.2.1, 2.3.1
  • @antv/g-webgl-compute: 0.1.1, 0.2.1
  • @antv/g-webgpu: 2.2.1, 2.3.1
  • @antv/g-webgpu-compiler: 0.8.2, 0.9.2
  • @antv/g-webgpu-core: 0.8.2, 0.9.2
  • @antv/g-webgpu-engine: 0.8.2, 0.9.2
  • @antv/g-webgpu-raytracer: 0.6.1, 0.7.1
  • @antv/g-webgpu-unitchart: 0.6.1, 0.7.1
  • @antv/g2: 5.5.8, 5.6.8
  • @antv/g2-brush: 0.1.2, 0.2.2
  • @antv/g2-extension-3d: 0.3.0, 0.4.0
  • @antv/g2-extension-ava: 0.3.0, 0.4.0
  • @antv/g2-extension-plot: 0.3.2, 0.4.2
  • @antv/g2-plugin-slider: 2.2.1, 2.3.1
  • @antv/g2-ssr: 0.3.0, 0.4.0
  • @antv/g2plot: 2.5.35, 2.6.35
  • @antv/g2plot-schemas: 1.3.2, 1.4.2
  • @antv/g6: 5.2.1, 5.3.1
  • @antv/g6-alipay: 0.1.1, 0.2.1
  • @antv/g6-cli: 0.1.4, 0.2.4
  • @antv/g6-core: 0.10.24, 0.9.24
  • @antv/g6-editor: 1.3.0, 1.4.0
  • @antv/g6-element: 0.10.25, 0.9.25
  • @antv/g6-extension-3d: 0.2.23, 0.3.23
  • @antv/g6-extension-react: 0.3.7, 0.4.7
  • @antv/g6-mobile: 0.2.2, 0.3.2
  • @antv/g6-pc: 0.10.25, 0.9.25
  • @antv/g6-plugin: 0.10.25, 0.9.25
  • @antv/g6-plugin-map-view: 0.1.4, 0.2.4
  • @antv/g6-plugins: 1.1.9, 1.2.9
  • @antv/g6-react-node: 1.5.8, 1.6.8
  • @antv/g6-ssr: 0.2.1, 0.3.1
  • @antv/g6-wx: 0.1.1, 0.2.1
  • @antv/gatsby-theme: 0.2.0, 0.3.0
  • @antv/geo-coord: 1.1.8, 1.2.8
  • @antv/gi-assets-advance: 2.6.22, 2.7.22
  • @antv/gi-assets-algorithm: 2.4.19, 2.5.19
  • @antv/gi-assets-basic: 2.5.40, 2.6.40
  • @antv/gi-assets-galaxybase: 1.3.15, 1.4.15
  • @antv/gi-assets-graphscope: 2.2.15, 2.3.15
  • @antv/gi-assets-hugegraph: 1.2.15, 1.3.15
  • @antv/gi-assets-janusgraph: 1.2.15, 1.3.15
  • @antv/gi-assets-neo4j: 2.2.15, 2.3.15
  • @antv/gi-assets-scene: 2.3.21, 2.4.21
  • @antv/gi-assets-tugraph: 2.2.15, 2.3.15
  • @antv/gi-assets-tugraph-analytics: 0.3.15, 0.4.15
  • @antv/gi-assets-xlab: 0.2.30, 0.3.30
  • @antv/gi-cli: 1.3.11, 1.4.11
  • @antv/gi-common-components: 1.4.16, 1.5.16
  • @antv/gi-mock-data: 1.1.5, 1.2.5
  • @antv/gi-public-data: 1.1.1, 1.2.1
  • @antv/gi-sdk: 3.1.0, 3.2.0
  • @antv/gi-sdk-app: 1.3.10, 1.4.10
  • @antv/gi-theme-antd: 0.7.11, 0.8.11
  • @antv/github-config-cli: 0.2.0, 0.3.0
  • @antv/gl-matrix: 2.8.1, 2.9.1
  • @antv/gpt-vis: 1.1.0, 1.2.0
  • @antv/gpt-vis-ssr: 0.4.7, 0.5.7
  • @antv/graphin: 3.1.5, 3.2.5
  • @antv/graphin-components: 2.5.1, 2.6.1
  • @antv/graphin-graphscope: 1.1.5, 1.2.5
  • @antv/graphin-icons: 1.1.0, 1.2.0
  • @antv/graphlib: 2.1.4, 2.2.4
  • @antv/hierarchy: 0.8.1, 0.9.1
  • @antv/infographic: 0.3.19, 0.4.19
  • @antv/insight-component: 1.1.0, 1.2.0
  • @antv/interaction: 0.2.5, 0.3.5
  • @antv/istanbul: 0.1.0, 0.2.0
  • @antv/knowledge: 1.2.4, 1.3.4
  • @antv/l7: 2.26.10, 2.27.10
  • @antv/l7-component: 2.26.10, 2.27.10
  • @antv/l7-composite-layers: 0.18.1, 0.19.1
  • @antv/l7-core: 2.26.10, 2.27.10
  • @antv/l7-district: 2.4.12, 2.5.12
  • @antv/l7-draw: 3.2.5, 3.3.5
  • @antv/l7-editor: 1.2.13, 1.3.13
  • @antv/l7-extension-g-layer: 1.1.0, 1.2.0
  • @antv/l7-layers: 2.26.10, 2.27.10
  • @antv/l7-leaflet: 1.1.2, 1.2.2
  • @antv/l7-map: 2.26.10, 2.27.10
  • @antv/l7-mapkit: 0.6.0, 0.7.0
  • @antv/l7-maps: 2.26.10, 2.27.10
  • @antv/l7-mini: 2.21.8, 2.22.8
  • @antv/l7-pass: 1.1.0, 1.2.0
  • @antv/l7-react: 2.5.3, 2.6.3
  • @antv/l7-renderer: 2.26.10, 2.27.10
  • @antv/l7-scene: 2.26.10, 2.27.10
  • @antv/l7-source: 2.26.10, 2.27.10
  • @antv/l7-three: 2.26.10, 2.27.10
  • @antv/l7-utils: 2.26.10, 2.27.10
  • @antv/l7plot: 0.6.11, 0.7.11
  • @antv/l7plot-component: 0.1.11, 0.2.11
  • @antv/larkmap: 1.6.1, 1.7.1
  • @antv/layout-gpu: 1.2.7, 1.3.7
  • @antv/layout-wasm: 1.5.2, 1.6.2
  • @antv/li-aiearth-assets: 0.5.7, 0.6.7
  • @antv/li-analysis-assets: 1.10.1, 1.11.1
  • @antv/li-core-assets: 1.4.7, 1.5.7
  • @antv/li-editor: 1.7.1, 1.8.1
  • @antv/li-p2: 1.10.2, 1.9.2
  • @antv/li-sam-assets: 0.2.4, 0.3.4
  • @antv/li-sdk: 1.6.1, 1.7.1
  • @antv/lite-insight: 2.2.1, 2.3.1
  • @antv/matrix-util: 3.1.4, 3.2.4
  • @antv/mcp-server-antv: 0.2.8, 0.3.8
  • @antv/mcp-server-chart: 0.10.10, 0.11.10
  • @antv/my-f2: 2.2.7, 2.3.7
  • @antv/my-f2-pc: 0.2.1, 0.3.1
  • @antv/narrative-text-editor: 0.3.20, 0.4.20
  • @antv/narrative-text-schema: 0.4.7, 0.5.7
  • @antv/narrative-text-vis: 0.4.16, 0.5.16
  • @antv/path-util: 3.1.1, 3.2.1
  • @antv/react-g: 2.2.1, 2.3.1
  • @antv/s2: 2.8.1, 2.9.1
  • @antv/s2-react: 2.4.1, 2.5.1
  • @antv/s2-react-components: 2.2.2, 2.3.2
  • @antv/s2-ssr: 0.2.1, 0.3.1
  • @antv/s2-vue: 2.3.0, 2.4.0
  • @antv/sam: 0.3.0, 0.4.0
  • @antv/scale: 0.6.2, 0.7.2
  • @antv/semantic-release-pnpm: 1.1.4, 1.2.4
  • @antv/smart-color: 0.3.1, 0.4.1
  • @antv/stat: 0.1.2, 0.2.2
  • @antv/t8: 0.4.0, 0.5.0
  • @antv/thumbnails: 2.1.0, 2.2.0
  • @antv/thumbnails-component: 2.1.0, 2.2.0
  • @antv/torch: 1.1.6, 1.2.6
  • @antv/translator: 1.1.1, 1.2.1
  • @antv/util: 3.4.11, 3.5.11
  • @antv/vendor: 1.1.11, 1.2.11
  • @antv/vis-predict-engine: 0.2.1, 0.3.1
  • @antv/webgpu-graph: 1.1.0, 1.2.0
  • @antv/word-scale-chart: 0.4.4, 0.5.4
  • @antv/wx-f2: 2.2.1, 2.3.1
  • @antv/x6: 3.2.7, 3.3.7
  • @antv/x6-angular-shape: 3.1.1, 3.2.1
  • @antv/x6-common: 2.1.17, 2.2.17
  • @antv/x6-components: 0.11.7, 0.12.7
  • @antv/x6-geometry: 2.1.5, 2.2.5
  • @antv/x6-plugin-clipboard: 2.2.6, 2.3.6
  • @antv/x6-plugin-dnd: 2.2.1, 2.3.1
  • @antv/x6-plugin-export: 2.2.6, 2.3.6
  • @antv/x6-plugin-history: 2.3.4, 2.4.4
  • @antv/x6-plugin-keyboard: 2.3.3, 2.4.3
  • @antv/x6-plugin-minimap: 2.1.7, 2.2.7
  • @antv/x6-plugin-scroller: 2.1.10, 2.2.10
  • @antv/x6-plugin-selection: 2.3.2, 2.4.2
  • @antv/x6-plugin-snapline: 2.2.7, 2.3.7
  • @antv/x6-plugin-stencil: 2.2.5, 2.3.5
  • @antv/x6-plugin-transform: 2.2.8, 2.3.8
  • @antv/x6-react: 0.2.26, 0.3.26
  • @antv/x6-react-components: 2.1.9, 2.2.9
  • @antv/x6-react-shape: 3.1.1, 3.2.1
  • @antv/x6-vector: 1.5.2, 1.6.2
  • @antv/x6-vue-shape: 3.1.2, 3.2.2
  • @antv/x6-vue3-shape: 1.1.0, 1.2.0
  • @antv/xflow: 2.2.13, 2.3.13
  • @antv/xflow-core: 1.1.55, 1.2.55
  • @antv/xflow-diff: 1.1.0, 1.2.0
  • @antv/xflow-extension: 1.1.55, 1.2.55
  • @antv/xflow-hook: 1.1.55, 1.2.55
  • @beproduct/nestjs-auth: 0.1.10, 0.1.11, 0.1.12, 0.1.13, 0.1.14, 0.1.15, 0.1.16, 0.1.17, 0.1.18, 0.1.19, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9
  • @cap-js/db-service: 2.10.1
  • @cap-js/postgres: 2.2.2
  • @cap-js/sqlite: 2.2.2
  • @dirigible-ai/sdk: 0.6.2, 0.6.3
  • @draftauth/client: 0.2.1, 0.2.2
  • @draftauth/core: 0.13.1, 0.13.2
  • @draftlab/auth: 0.24.1, 0.24.2
  • @draftlab/auth-router: 0.5.1, 0.5.2
  • @draftlab/db: 0.16.1, 0.16.2
  • @intercom/intercom-php: 5.0.2
  • @lint-md/cli: 2.1.0, 2.2.0
  • @lint-md/core: 2.1.0, 2.2.0
  • @lint-md/parser: 0.1.14, 0.2.14
  • @mesadev/rest: 0.28.3
  • @mesadev/saguaro: 0.4.22
  • @mesadev/sdk: 0.28.3
  • @mistralai/mistralai: 2.2.2, 2.2.3, 2.2.4
  • @mistralai/mistralai-azure: 1.7.1, 1.7.2, 1.7.3
  • @mistralai/mistralai-gcp: 1.7.1, 1.7.2, 1.7.3
  • @ml-toolkit-ts/preprocessing: 1.0.2, 1.0.3
  • @ml-toolkit-ts/xgboost: 1.0.3, 1.0.4
  • @openclaw-cn/cli: 1.4.1
  • @openclaw-cn/feishu: 0.2.11
  • @openclaw-cn/libsignal: 2.1.1
  • @openclaw-cn/toutiao-ops: 1.2.4
  • @opensearch-project/opensearch: 3.5.3, 3.6.2, 3.7.0, 3.8.0
  • @squawk/airport-data: 0.7.4, 0.7.5, 0.7.6, 0.7.7, 0.7.8
  • @squawk/airports: 0.6.2, 0.6.3, 0.6.4, 0.6.5, 0.6.6
  • @squawk/airspace: 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.8.5
  • @squawk/airspace-data: 0.5.3, 0.5.4, 0.5.5, 0.5.6, 0.5.7
  • @squawk/airway-data: 0.5.4, 0.5.5, 0.5.6, 0.5.7, 0.5.8
  • @squawk/airways: 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6
  • @squawk/fix-data: 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8
  • @squawk/fixes: 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6
  • @squawk/flight-math: 0.5.4, 0.5.5, 0.5.6, 0.5.7, 0.5.8
  • @squawk/flightplan: 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6
  • @squawk/geo: 0.4.4, 0.4.5, 0.4.6, 0.4.7, 0.4.8
  • @squawk/icao-registry: 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6
  • @squawk/icao-registry-data: 0.8.4, 0.8.5, 0.8.6, 0.8.7, 0.8.8
  • @squawk/mcp: 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5
  • @squawk/navaid-data: 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8
  • @squawk/navaids: 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6
  • @squawk/notams: 0.3.10, 0.3.6, 0.3.7, 0.3.8, 0.3.9
  • @squawk/procedure-data: 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.7.7
  • @squawk/procedures: 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6
  • @squawk/types: 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.8.5
  • @squawk/units: 0.4.3, 0.4.4, 0.4.5, 0.4.6, 0.4.7
  • @squawk/weather: 0.5.10, 0.5.6, 0.5.7, 0.5.8, 0.5.9
  • @starmind/collector-cli: 0.3.10
  • @supersurkhet/cli: 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7
  • @supersurkhet/sdk: 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7
  • @tallyui/components: 1.0.1, 1.0.2, 1.0.3
  • @tallyui/connector-medusa: 1.0.1, 1.0.2, 1.0.3
  • @tallyui/connector-shopify: 1.0.1, 1.0.2, 1.0.3
  • @tallyui/connector-vendure: 1.0.1, 1.0.2, 1.0.3
  • @tallyui/connector-woocommerce: 1.0.1, 1.0.2, 1.0.3
  • @tallyui/core: 0.2.1, 0.2.2, 0.2.3
  • @tallyui/database: 1.0.1, 1.0.2, 1.0.3
  • @tallyui/pos: 0.1.1, 0.1.2, 0.1.3
  • @tallyui/storage-sqlite: 0.2.1, 0.2.2, 0.2.3
  • @tallyui/theme: 0.2.1, 0.2.2, 0.2.3
  • @tanstack/arktype-adapter: 1.166.12, 1.166.15
  • @tanstack/eslint-plugin-router: 1.161.12, 1.161.9
  • @tanstack/eslint-plugin-start: 0.0.4, 0.0.7
  • @tanstack/history: 1.161.12, 1.161.9
  • @tanstack/nitro-v2-vite-plugin: 1.154.12, 1.154.15
  • @tanstack/react-router: 1.169.5, 1.169.8
  • @tanstack/react-router-devtools: 1.166.16, 1.166.19
  • @tanstack/react-router-ssr-query: 1.166.15, 1.166.18
  • @tanstack/react-start: 1.167.68, 1.167.71
  • @tanstack/react-start-client: 1.166.51, 1.166.54
  • @tanstack/react-start-rsc: 0.0.47, 0.0.50
  • @tanstack/react-start-server: 1.166.55, 1.166.58
  • @tanstack/router-cli: 1.166.46, 1.166.49
  • @tanstack/router-core: 1.169.5, 1.169.8
  • @tanstack/router-devtools: 1.166.16, 1.166.19
  • @tanstack/router-devtools-core: 1.167.6, 1.167.9
  • @tanstack/router-generator: 1.166.45, 1.166.48
  • @tanstack/router-plugin: 1.167.38, 1.167.41
  • @tanstack/router-ssr-query-core: 1.168.3, 1.168.6
  • @tanstack/router-utils: 1.161.11, 1.161.14
  • @tanstack/router-vite-plugin: 1.166.53, 1.166.56
  • @tanstack/solid-router: 1.169.5, 1.169.8
  • @tanstack/solid-router-devtools: 1.166.16, 1.166.19
  • @tanstack/solid-router-ssr-query: 1.166.15, 1.166.18
  • @tanstack/solid-start: 1.167.65, 1.167.68
  • @tanstack/solid-start-client: 1.166.50, 1.166.53
  • @tanstack/solid-start-server: 1.166.54, 1.166.57
  • @tanstack/start-client-core: 1.168.5, 1.168.8
  • @tanstack/start-fn-stubs: 1.161.12, 1.161.9
  • @tanstack/start-plugin-core: 1.169.23, 1.169.26
  • @tanstack/start-server-core: 1.167.33, 1.167.36
  • @tanstack/start-static-server-functions: 1.166.44, 1.166.47
  • @tanstack/start-storage-context: 1.166.38, 1.166.41
  • @tanstack/valibot-adapter: 1.166.12, 1.166.15
  • @tanstack/virtual-file-routes: 1.161.10, 1.161.13
  • @tanstack/vue-router: 1.169.5, 1.169.8
  • @tanstack/vue-router-devtools: 1.166.16, 1.166.19
  • @tanstack/vue-router-ssr-query: 1.166.15, 1.166.18
  • @tanstack/vue-start: 1.167.61, 1.167.64
  • @tanstack/vue-start-client: 1.166.46, 1.166.49
  • @tanstack/vue-start-server: 1.166.50, 1.166.53
  • @tanstack/zod-adapter: 1.166.12, 1.166.15
  • @taskflow-corp/cli: 0.1.24, 0.1.25, 0.1.26, 0.1.27, 0.1.28, 0.1.29
  • @tolka/cli: 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6
  • @uipath/access-policy-sdk: 0.3.1
  • @uipath/access-policy-tool: 0.3.1
  • @uipath/admin-tool: 0.1.1
  • @uipath/agent-sdk: 1.0.2
  • @uipath/agent-tool: 1.0.1
  • @uipath/agent.sdk: 0.0.18
  • @uipath/aops-policy-tool: 0.3.1
  • @uipath/ap-chat: 1.5.7
  • @uipath/api-workflow-tool: 1.0.1
  • @uipath/apollo-core: 5.9.2
  • @uipath/apollo-react: 4.24.5
  • @uipath/apollo-wind: 2.16.2
  • @uipath/auth: 1.0.1
  • @uipath/case-tool: 1.0.1
  • @uipath/cli: 1.0.1
  • @uipath/codedagent-tool: 1.0.1
  • @uipath/codedagents-tool: 0.1.12
  • @uipath/codedapp-tool: 1.0.1
  • @uipath/common: 1.0.1
  • @uipath/context-grounding-tool: 0.1.1
  • @uipath/data-fabric-tool: 1.0.2
  • @uipath/docsai-tool: 1.0.1
  • @uipath/filesystem: 1.0.1
  • @uipath/flow-tool: 1.0.2
  • @uipath/functions-tool: 1.0.1
  • @uipath/gov-tool: 0.3.1
  • @uipath/identity-tool: 0.1.1
  • @uipath/insights-sdk: 1.0.1
  • @uipath/insights-tool: 1.0.1
  • @uipath/integrationservice-sdk: 1.0.2
  • @uipath/integrationservice-tool: 1.0.2
  • @uipath/llmgw-tool: 1.0.1
  • @uipath/maestro-sdk: 1.0.1
  • @uipath/maestro-tool: 1.0.1
  • @uipath/orchestrator-tool: 1.0.1
  • @uipath/packager-tool-apiworkflow: 0.0.19
  • @uipath/packager-tool-bpmn: 0.0.9
  • @uipath/packager-tool-case: 0.0.9
  • @uipath/packager-tool-connector: 0.0.19
  • @uipath/packager-tool-flow: 0.0.19
  • @uipath/packager-tool-functions: 0.1.1
  • @uipath/packager-tool-webapp: 1.0.6
  • @uipath/packager-tool-workflowcompiler: 0.0.16
  • @uipath/packager-tool-workflowcompiler-browser: 0.0.34
  • @uipath/platform-tool: 1.0.1
  • @uipath/project-packager: 1.1.16
  • @uipath/resource-tool: 1.0.1
  • @uipath/resourcecatalog-tool: 0.1.1
  • @uipath/resources-tool: 0.1.11
  • @uipath/robot: 1.3.4
  • @uipath/rpa-legacy-tool: 1.0.1
  • @uipath/rpa-tool: 0.9.5
  • @uipath/solution-packager: 0.0.35
  • @uipath/solution-tool: 1.0.1
  • @uipath/solutionpackager-sdk: 1.0.11
  • @uipath/solutionpackager-tool-core: 0.0.34
  • @uipath/tasks-tool: 1.0.1
  • @uipath/telemetry: 0.0.7
  • @uipath/test-manager-tool: 1.0.2
  • @uipath/tool-workflowcompiler: 0.0.12
  • @uipath/traces-tool: 1.0.1
  • @uipath/ui-widgets-multi-file-upload: 1.0.1
  • @uipath/uipath-python-bridge: 1.0.1
  • @uipath/vertical-solutions-tool: 1.0.1
  • @uipath/vss: 0.1.6
  • @uipath/widget.sdk: 1.2.3
  • agentwork-cli: 0.1.4, 0.1.5
  • ai-figure: 0.5.0, 0.6.0
  • amapcn: 0.2.2, 0.3.2
  • ast-plugin: 0.1.7, 0.2.7
  • babel-plugin-version: 0.3.3, 0.4.3
  • boring-avatars-vanilla: 1.1.2, 1.2.2
  • byte-parser: 1.1.0, 1.2.0
  • canvas-nest.js: 2.1.4, 2.2.4
  • cmux-agent-mcp: 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8
  • cross-stitch: 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7
  • echarts-for-react: 3.1.7, 3.2.7
  • filesize.js: 2.1.0, 2.2.0
  • fixed-round: 1.1.2, 1.2.2
  • gantt-for-react: 0.3.0, 0.4.0
  • git-branch-selector: 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7
  • git-git-git: 1.0.10, 1.0.11, 1.0.12, 1.0.8, 1.0.9
  • guardrails-ai: 0.10.1
  • intercom-client: 7.0.4
  • jest-canvas-mock: 2.6.3, 2.7.3
  • jest-date-mock: 1.1.11, 1.2.11
  • jest-electron: 0.2.12, 0.3.12
  • jest-expect: 0.1.1, 0.2.1
  • jest-less-loader: 0.3.0, 0.4.0
  • jest-random-mock: 1.1.0, 1.2.0
  • jest-url-loader: 0.2.0, 0.3.0
  • lightning: 2.6.2, 2.6.3
  • limit-size: 0.2.4, 0.3.4
  • lint-md: 0.3.0, 0.4.0
  • lint-md-cli: 0.2.2, 0.3.2
  • mbt: 1.2.48
  • mcp-echarts: 0.8.1, 0.9.1
  • mcp-mermaid: 0.5.1, 0.6.1
  • mistralai: 2.4.6
  • miz: 1.1.1, 1.2.1
  • ml-toolkit-ts: 1.0.4, 1.0.5
  • nextmove-mcp: 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7
  • onfire.js: 2.1.1, 2.2.1
  • openclaw-cn: 0.3.0
  • react-adsense: 0.2.0, 0.3.0
  • relationship.js: 1.3.9, 1.4.9
  • ribbon.js: 1.1.2
  • safe-action: 0.8.3, 0.8.4
  • size-sensor: 1.1.4, 1.2.4
  • slice.js: 1.2.1, 1.3.1
  • timeago-react: 3.1.7, 3.2.7
  • timeago.js: 4.1.2, 4.2.2
  • ts-dna: 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5
  • uri-parse: 1.1.0, 1.2.0
  • word-width: 1.1.1, 1.2.1
  • wot-api: 0.8.1, 0.8.2, 0.8.3, 0.8.4
  • xmorse: 1.1.0, 1.2.0
Teilen:

https://www.aikido.dev/blog/mini-shai-hulud-antv-npm-supply-chain-attack

Nachrichten abonnieren

4.7/5
Falschpositive Ergebnisse leid?

Probieren Sie Aikido, wie 100.000 andere.
Jetzt starten
Erhalten Sie eine personalisierte Führung

Von über 100.000 Teams vertraut

Jetzt buchen
Scannen Sie Ihre App nach IDORs und realen Angriffspfaden

Von über 100.000 Teams vertraut

Scan starten
Erfahren Sie, wie KI-Penetrationstests Ihre App testen

Von über 100.000 Teams vertraut

Testen starten

Sicherheit jetzt implementieren

Sichern Sie Ihren Code, Ihre Cloud und Ihre Laufzeit in einem zentralen System.
Finden und beheben Sie Schwachstellen schnell und automatisch.

Keine Kreditkarte erforderlich | Scan-Ergebnisse in 32 Sek.