Aikido

GlassWorm cache un RAT dans une extension Chrome malveillante

Écrit par
Ilyas Makari

Il y a quelques jours, nous avons couvert GlassWorm compromettant des centaines de dépôts GitHub et un populaire paquet React de numéros de téléphone sur npm. Nous avons continué à creuser dans la charge utile complète et avons découvert un framework multi-étapes qui installe un RAT persistant et, en profondeur dans la phase 3, installe de force une extension Chrome se faisant passer pour Google Docs Offline. Elle enregistre les frappes, vide les cookies et les jetons de session, capture des captures d'écran et reçoit des commandes d'un serveur C2 caché dans un mémo de la blockchain Solana.

Phase 1 : L'infection initiale

Projets détournés

GlassWorm prend pied initialement grâce à des paquets malveillants publiés sur npm, PyPI, GitHub et la marketplace OpenVSX. L'acteur de la menace opère simultanément sur deux fronts : (1) la création de nouveaux paquets malveillants à partir de zéro, et (2) la compromission des comptes de mainteneurs pour pousser des versions malveillantes de projets légitimes.

Deux variantes de chargeurs

GlassWorm est peut-être mieux connu pour son chargeur Unicode invisible que nous avons couvert dans des articles précédents, mais ce n'est pas le seul mécanisme de livraison utilisé. Une seconde variante, plus directe, utilise un preinstall script, comme on l'a vu récemment dans le compromission de react-native-country-select sur npm. Les deux aboutissent finalement au même résultat et partagent la même balise C2 basée sur la blockchain, mais empruntent des chemins très différents pour y parvenir.

Quel que soit le chargeur qui atteint la machine victime, la logique d'exécution de la phase 1 est la même. Après un délai de démarrage de 10 secondes, le chargeur effectue deux vérifications avant de poursuivre.

Géorepérage. Le chargeur vérifie cinq signaux de locale (os.userInfo().username, process.env.LANG, process.env.LANGUAGE, process.env.LC_ALL, et la locale résolue par Intl) par rapport à /ru_RU|ru-RU|Russian|russian/i, et vérifie le fuseau horaire système et le décalage UTC par rapport à une liste codée en dur de fuseaux horaires russes allant de Europe/Moscow à Asia/Anadyr. Si une locale russe est détectée, l'exécution s'arrête.

Limitation de débit. Le chargeur lit ~/init.json (ou %USERPROFILE%\init.json sur Windows) et vérifie un horodatage stocké. Si le fichier a été écrit il y a moins de deux heures, l'exécution s'arrête. Sinon, l'horodatage est mis à jour.

Solana Blockchain C2

Enfin, le chargeur interroge la blockchain Solana pour obtenir son adresse C2. Plutôt que de coder en dur une URL qui pourrait être désactivée, l'acteur de la menace la stocke dans le memo champ d'une transaction Solana. Le chargeur appelle getSignaturesForAddress contre un portefeuille codé en dur, en parcourant neuf endpoints RPC publics jusqu'à ce que l'un d'eux réponde :

  • https://api.mainnet-beta.solana.com
  • https://solana-mainnet.gateway.tatum.io
  • https://go.getblock.us/86aac42ad4484f3c813079afc201451c
  • https://solana-rpc.publicnode.com
  • https://api.blockeden.xyz/solana/KeCh6p22EX5AeRHxMSmc
  • https://solana.drpc.org
  • https://solana.leorpc.com/?api_key=FREE
  • https://solana.api.onfinality.io/public
  • https://solana.api.pocket.network/

Deux adresses de portefeuille ont été observées à travers les deux variantes de chargeur :

  • BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC (Chargeur Unicode)
  • 6YGcuyFRJKZtcaYCCFba9fScNUvPkGXodXE1mJiSzqDJ (Chargeur de pré-installation obfusqué)

Le chargeur interroge en boucle toutes les 10 secondes jusqu'à ce qu'il trouve une transaction avec un champ mémo non nul. La fonctionnalité de mémo de Solana a été conçue pour ajouter des annotations aux transactions, mais ici, elle fonctionne comme un point de dépôt clandestin. Les mémos sont permanents, publiquement visibles sur la chaîne et stockés sur une infrastructure qui ne peut être désactivée par aucune partie unique. L'opérateur peut mettre à jour l'URL de la Phase 2 à tout moment en envoyant une nouvelle transaction Solana avec un nouveau mémo. Aucun paquet n'a besoin d'être modifié, aucune infrastructure n'a besoin d'être redéployée, et il n'y a rien que les défenseurs puissent bloquer au niveau de la couche réseau.

Le mémo observé sur le portefeuille 6YGcuyFRJKZtcaYCCFba9fScNUvPkGXodXE1mJiSzqDJ est :

{"link":"aHR0cDovLzQ1LjMyLjE1MC4yNTEvM2U0VGc4ViUyRjhhQ21PSktpcEFTQURnJTNEJTNE"}

Le link la valeur est une URL encodée en Base64. Décodée :

http://45.32.150.251/3e4Tg8V%2F8aCmOJKipASADg%3D%3D

Le chargeur récupère cette URL avec un os en-tête défini sur la plateforme actuelle (darwin, linux, ou win32), permettant au C2 situé à 45.32.150[.]251 de servir des charges utiles spécifiques à la plateforme. Le corps de la réponse est la charge utile chiffrée de la Phase 2, qui est ensuite déchiffrée et exécutée. Au moment de la rédaction, le C2 était toujours actif et renvoyait une charge utile pour win32.

Phase 2 : Exfiltration de secrets

La charge utile de la Phase 2 est un cadre complet de vol de données avec la collecte d'identifiants, l'exfiltration de portefeuilles crypto, le profilage d'hôtes, et sa propre logique de dropper pour la Phase 3 finale et persistante. Tout ce qui est collecté est mis en scène sous %TEMP%\hJxPxpHP\, compressé, et envoyé via une requête POST à http://217.69.3[.]152/wall.

Vol de portefeuille crypto

La charge utile recherche récursivement %APPDATA% et %LOCALAPPDATA% pour les profils d'extensions de navigateur et les données d'applications de portefeuille autonomes. Il cible 71 identifiants de portefeuilles d'extensions de navigateur, couvrant pratiquement tous les portefeuilles majeurs utilisés : MetaMask, Phantom, Coinbase, Exodus, Binance, Ronin, Keplr, etc. Il collecte également .txt des fichiers des dossiers Documents et Bureau de la victime, et copie les images dont les noms de fichiers correspondent à des mots-clés associés à des phrases de récupération ou à des avoirs en cryptomonnaies.

Vol d'identifiants de développeur

La phase 2 cible les dépôts d'identifiants qu'un développeur logiciel est susceptible d'avoir sur sa machine. La charge utile lit ~\/.npmrc et process.env.NPM_TOKEN. Tout token trouvé est validé en temps réel par rapport à https://registry.npmjs.org/-/whoami avant l'exfiltration. Il extrait également des tokens via la identifiants Git commande et du stockage interne de VS Code.

Exfiltration de secrets cloud

La phase 2 copie également les fichiers d'identifiants pour AWS, GCP, Azure, Docker, Kubernetes, les clés SSH, le .netrcde DigitalOcean, et Terraform. doctlde Heroku,

Profilage de l'hôte

Enfin, il génère un fichier system_info.txt avec un profil matériel détaillé, les variables d'environnement, les applications installées, les processus en cours d'exécution, la disposition du disque et les détails du système d'exploitation.

Préparation de la phase 3

Après l'exfiltration, la phase 3 est préparée en téléchargeant deux composants :

  • 3a) Binaire de phishing pour les portefeuilles crypto physiques (Ledger et Trezor).
  • 3b) Un RAT persistant basé sur un Socket Web, enregistré sous le nom de %APPDATA%\QtCvyfVWKH\index.js, qui est livré avec plusieurs binaires :
    • c_x64.node / f_ex86.node — voleurs de credentials de navigateur
    • données — contournement du chiffrement lié à l'application Chrome
    • index_ia32.node / index_x64.node — modules HVNC
    • w.node (Windows) / m (macOS) — Installe une extension de navigateur malveillante

La charge utile du RAT n'est pas simplement codée en dur avec une URL. Au lieu de cela, elle récupère la page publique de Google Calendar à l'adresse https://calendar.app.google/2NkrcKKj4T6Dn4uK6 et extrait le titre de l'invitation. Cette valeur est décodée en Base64 et ajoutée comme slug d'URL à http://45.32.150[.]251. L'utilisation de Google Calendar comme couche d'indirection pour la livraison de la charge utile est un modèle que nous suivons depuis mars 2025, et il continue d'apparaître de manière cohérente dans les outils de cet acteur de la menace.

Étape 3a : Phishing de portefeuille matériel

Sur les machines où %APPDATA%\Ledger Live existe, l'Étape 3 récupère un binaire .NET WPF depuis http://45.32.150[.]251/led-win32, le dépose à %TEMP%\SKuyzYcDD.exe, et ajoute HKCU\Software\Microsoft\Windows\CurrentVersion\Run\UpdateLedger pour la persistance. Le nom interne du fichier est Assaac.exe, attribué à une entreprise se faisant appeler « LLC LogicSub » (SHA-256 : 06fab21dc276e3ab9b5d0a1532398979fd377b080c86d74f2c53a04603a43b1d). Le binaire n'est pas un RAT. Sa seule fonction est de voler des portefeuilles de cryptomonnaies en se faisant passer pour Ledger Live et Trezor.

Capture d'écran de l'exécution du CAPE Sandbox

Au démarrage, il interroge https://ipapi.co/xml et vérifie le pays renvoyé par rapport à neuf exclusions de la région de la CEI : la Russie, le Kazakhstan, le Kirghizistan, l'Azerbaïdjan, le Tadjikistan, l'Ouzbékistan, la Biélorussie, la Moldavie et l'Arménie. Si la victime se trouve dans l'un de ces pays, l'exécution s'arrête. Cela reflète la logique de géorepérage de l'Étape 1.

Le binaire enregistre un abonnement aux événements WMI pour détecter les connexions de périphériques USB :

SELECT * FROM __InstanceCreationEvent WITHIN 2 WHERE TargetInstance ISA 'Win32_PnPEntity'

Lorsqu'un appareil Ledger ou Trezor est branché, la fenêtre de phishing correspondante s'ouvre. L'interface utilisateur de Ledger affiche une fausse erreur de configuration et présente 24 champs de saisie numérotés pour la phrase de récupération. L'interface utilisateur de Trezor affiche un faux message « Firmware validation failed, initiating emergency reboot » avec la même disposition de saisie de 24 mots. Les deux fenêtres incluent un bouton « RESTORE WALLET ».

Une boucle d'arrière-plan s'exécutant à des intervalles d'une seconde appelle Process.GetProcessesByName pour tuer tout processus Ledger Live réel et réaffiche la fenêtre de phishing si la victime la ferme. Le Window_Closing gestionnaire intercepte les tentatives de fermeture avec une boîte de dialogue avertissant que la fermeture pourrait entraîner la perte d'actifs cryptographiques.

Lorsqu'une phrase valide est soumise, les 24 mots sont transmis via System.Net.Http.HttpClient à 45.150.34[.]158.

Étape 3b : RAT basé sur Websocket

Le RAT est enregistré sous %APPDATA%\QtCvyfVWKH\index.js et est livré avec deux mécanismes de persistance pour survivre aux redémarrages. Une tâche planifiée nommée UpdateApp s'exécute au démarrage avec les privilèges les plus élevés, et une HKCU\Software\Microsoft\Windows\CurrentVersion\Run clé exécute un lanceur PowerShell à %LOCALAPPDATA%\QtCvyfVWKH\AghzgY.ps1.

La persistance est intégrée. Le script intercepte SIGINT, SIGTERM, SIGQUIT, SIGHUP, SIGUSR2, uncaughtException, et unhandledRejection. À la réception de l'un de ces signaux, il planifie de retélécharger et de redémarrer la charge utile. Si le processus est arrêté, il se reconstitue simplement plus tard.

C2 basé sur DHT

Le RAT ne code pas en dur son adresse C2 principale. Il effectue une recherche DHT pour la clé publique épinglée 3c90fa0e84dd76c94b1468f38ed640945d72bc12, en s'amorçant via dht.libtorrent.org, router.bittorrent.com, et router.utorrent.com.

L'opérateur stocke la configuration en direct dans la valeur DHT à cette clé. Si dht.get échoue complètement, le script réessaie après cinq minutes. S'il ne renvoie aucune valeur, le script se rabat sur le dead-drop du mémo Solana : il interroge getSignaturesForAddress pour le portefeuille BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC, décode l'adresse IP du champ de lien du mémo, et relance la recherche. Le mémo Solana peut être mis à jour avec une nouvelle adresse IP à tout moment pour réamorcer la joignabilité DHT sans toucher au chargeur.

La configuration récupérée de l'infrastructure de l'attaquant :

  • 217.69.0[.]159:10000 - Nœud de bootstrap DHT
  • 45.32.150[.]251 - C2 basé sur WebSocket
  • 217.69.3[.]152:80 - Serveur d'exfiltration

Les commandes C2

Une fois la configuration DHT résolue, le script ouvre une connexion Socket.IO vers 45.32.150[.]251:4787 et traite cinq catégories de commandes C2 :

  • start_hvnc / stop_hvnc: Déploie le module natif HVNC pour un accès bureau à distance caché.
  • start_socks / stop_socks: Récupère un module WebRTC depuis http://45.32.150[.]251/module/wrtc, l'installe dans %APPDATA%\_node_x64\webrtc\wrtc-win32-x64\index.js, et l'exécute comme un proxy SOCKS, transformant la machine victime en un nœud proxy, servant d'infrastructure à l'acteur de la menace pour mener d'autres attaques depuis l'adresse IP de la victime.
  • reget_log: Exécute le pipeline complet de vol et d'exfiltration des identifiants de navigateur.
  • get_system_info: Envoie les informations sur l'OS, le CPU, la mémoire, le nom d'hôte, le temps de fonctionnement, le nom d'utilisateur et le répertoire personnel.
  • command: Exécute du JavaScript arbitraire fourni par l'attaquant via eval(), donnant à l'opérateur une exécution de code à distance complète.

Vol d'identifiants de navigateur

Le script cible Chrome, Edge, Brave, Opera, Opera GX, Vivaldi et Firefox. Il énumère les répertoires de profils, vérifie les cookies pour identifier les profils actifs, puis appelle c_x64.node pour extraire les identifiants directement des bases de données SQLite du navigateur (Login Data, Cookies, Web Data). Chrome v127+ chiffre sa clé maîtresse en utilisant l'App-Bound Encryption, ce qui empêche normalement un processus extérieur à Chrome de la lire. Le binaire de données tente de contourner cette fonctionnalité de sécurité. Les résultats sont mis en scène sous forme de fichiers JSON dans %TEMP%\EUXFUxzOVe\, couvrant les cookies, les identifiants enregistrés, les entrées de remplissage automatique, l'historique de navigation, les favoris et les cartes de paiement. Le répertoire est compressé, chiffré et envoyé par POST à 217.69.3[.]152:80/log.

RAT d'extension Chrome malveillante

Le script installe également de force une extension se faisant passer pour Google Docs Offline (version 1.95.1). Il résout son C2 à partir d'un mémo Solana distinct, en interrogeant getSignaturesForAddress pour le portefeuille DSRUBTziADDHSik7WQvSMjvwCHFsbsThrbbjWMoJPUiW. Le mémo de ce portefeuille contient les champs c2server et checkIp pointant vers le serveur API de l'extension et l'assistant géo-IP. Après avoir analysé le mémo, l'extension s'enregistre en tant qu'agent via POST /api/register, stocke l'agent_id renvoyé dans chrome.storage.local, et commence à interroger GET /api/commands?agent_id=<id> à un intervalle aléatoire de 5 à 30 secondes.

Capture d'écran de l'extension malveillante à côté de l'extension légitime

L'opérateur peut émettre les commandes suivantes :

  • domsnapshot: exfiltre l'intégralité du document.documentElement.outerHTML de l'onglet actif
  • getcookies: collecte les cookies, éventuellement filtrés par domaine
  • localstoragedump: extrait toutes les localStorage paires clé/valeur
  • take_screenshot: capture une capture d'écran d'onglet encodée en base64
  • capture_clipboard: lit le presse-papiers via navigator.clipboard.readText()
  • history: extrait jusqu'à 5 000 entrées de l'historique du navigateur (fenêtre par défaut : 7 jours)
  • bookmarks: exporte l'arborescence complète des favoris
  • enumeration: identifie le navigateur, le matériel, les détails WebGL/GPU, et sonde les extensions installées via chrome-extension://<id>/manifest.json
  • startkeylogger / stopkeylogger / getkeyloggerdata: intercepte les événements keydown, keyup, keypress, input, change, focus et blur sur toutes les pages ; capture les valeurs saisies, les métadonnées de formulaire et le contexte de l'élément cible ; les envoie à POST /api/exfil toutes les cinq secondes

Toutes les données collectées sont envoyées à POST /api/exfil comme { agent_id, action, payload }.

L'extension effectue également une surveillance de session ciblée. Elle récupère les règles des sites surveillés depuis /api/get-url-for-watch et est livrée avec Bybit (.bybit.com) préconfiguré comme cible, surveillant les cookies secure-token et deviceid. Lors de la détection, elle déclenche un webhook auth-detected vers /api/webhook/auth-detected contenant les données des cookies et les métadonnées de la page. Le C2 peut également fournir des règles de redirection qui forcent les onglets actifs vers des URL contrôlées par l'attaquant.

Détection et Protection

Les menaces invisibles exigent des défenses actives. Vous ne pouvez pas vous fier à une code review visuelle ou à un linting standard pour détecter ce que vous ne voyez pas. Chez Aikido, nous avons intégré la détection de Glassworm et d'autres acteurs de menaces directement dans notre pipeline d'analyse de malwares.

Si vous utilisez déjà Aikido, ces packages seraient signalés dans votre flux comme une détection critique (100/100).

Pas encore sur Aikido ? Créez un compte gratuit et liez vos dépôts. Le plan gratuit inclut notre couverture de détection de malwares (aucune carte de crédit requise).

Enfin, un outil capable d'arrêter les malwares de la chaîne d'approvisionnement en temps réel dès leur apparition peut prévenir une infection grave. C'est l'idée derrière Aikido Safe Chain, un outil gratuit et open source qui s'intègre à npm, npx, yarn, pnpm et pnpx et utilise à la fois l'IA et des chercheurs en malwares humains pour détecter et bloquer les derniers risques de la chaîne d'approvisionnement avant qu'ils n'entrent dans votre environnement.

Indicateurs de compromission

Réseau — Adresses IP

  • 45.32.150[.]251 — Livraison de la charge utile de l'étape 2, RAT WebSocket de l'étape 3 (:4787)
  • 217.69.3[.]152 — Serveur d'exfiltration : Étape 2 (/wall), Étape 3 (/log)
  • 217.69.0[.]159 — Nœud d'amorçage DHT (:10000)
  • 45.150.34[.]158 — Exfiltration de la phrase de récupération Ledger/Trezor

Réseau — URL C2

  • http://45.32.150[.]251/3e4Tg8V%2F8aCmOJKipASADg%3D%3D — Charge utile chiffrée de l'étape 2
  • http://45.32.150[.]251/led-win32 — Téléchargement du binaire de phishing Ledger/Trezor
  • http://45.32.150[.]251/get_arhive_npm/nt70c2J3PG%2BfPBSFHJKoWQ%3D%3D — Archive du module natif
  • http://45.32.150[.]251/get_encrypt_file_exe/E/E%2BT9tEjmURMwNnCCY2CA%3D%3D — Payload d'exploitation HVNC
  • http://45.32.150[.]251/module/wrtc — Module WebRTC de proxy SOCKS
  • http://45.32.150[.]251:4787 — Canal RAT WebSocket (Socket.IO)
  • http://217.69.3[.]152/wall — Point d'exfiltration de l'étape 2
  • http://217.69.3[.]152:80/log — Point d'exfiltration des identifiants de navigateur de l'étape 3
  • https://calendar.app[.]google/2NkrcKKj4T6Dn4uK6 — Redirection d'URL de l'étape 3 via une invitation Google Agenda

Portefeuilles Solana

  • BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC — Point de dépôt C2 du chargeur Unicode de l'étape 1 ; repli DHT de l'étape 3
  • 6YGcuyFRJKZtcaYCCFba9fScNUvPkGXodXE1mJiSzqDJ — Point de dépôt C2 du chargeur de pré-installation obfusqué de l'étape 1
  • DSRUBTziADDHSik7WQvSMjvwCHFsbsThrbbjWMoJPUiW — Point de dépôt C2 d'extension de navigateur

Hachages de fichiers (SHA-256)

  • 06fab21dc276e3ab9b5d0a1532398979fd377b080c86d74f2c53a04603a43b1d — Assaac.exe / SKuyzYcDD.exe (binaire de phishing Ledger/Trezor)
  • f171c383e21243ac85b5ee69821d16f10e8d718089a5c090c41efeaa42e81fca — c_x64.node (voleur d'identifiants de navigateur, Windows x64)
  • 9df62cefd87784c7ee1ca8b4e6fc49737a90492fa6c23901e3b7981b18c6c988 — f_ex86.node (voleur d'identifiants de navigateur, Windows x86)
  • 43253a888417dfab034f781527e08fb58e929096cb4ef69456c3e13550cb4e9e — data (contournement du chiffrement lié à l'application Chrome)
  • 4a60afa085fe5a847aef164578537bc33b9b58954143381e0c65c6354e4501e3 — index_ia32.node (module HVNC, Windows x86)
  • de81eacd045a88598f16680ce01bf99837b1d8170c7fc38a18747ef10e930776 — index_x64.node (module HVNC, Windows x64)
  • fdba5be3da2467e642bd8710f971e6b266b30ac15f5f413982fd719d7e0bffd9 — w.node (installateur forcé d'extension Chrome, Windows x64)
  • ee3e4dd5c1e073b8805f4107ccc7bc7e6e3c209fe13ea04ff3f2173c8dbe74a6 — m (installeur forcé d'extension Chrome, binaire universel macOS)

Noms de fichiers

  • ~/init.json / %USERPROFILE%\init.json — Horodatage de limitation de débit ; contient l'uuid, la version, la date
  • %TEMP%\hJxPxpHP\ — Répertoire de préparation des identifiants (étape 2)
  • %TEMP%\EUXFUxzOVe\ — Répertoire de préparation des identifiants de navigateur (étape 3)
  • %TEMP%\SKuyzYcDD.exe — Binaire de phishing Ledger/Trezor déposé
  • %APPDATA%\QtCvyfVWKH\index.js — Script RAT principal (étape 3)
  • %LOCALAPPDATA%\QtCvyfVWKH\AghzgY.ps1 — Lanceur de persistance PowerShell (étape 3)
  • %APPDATA%\_node_x86\node\node.exe — Runtime Node.js v22.9.0 x86 téléchargé silencieusement
  • %APPDATA%\_node_x64\node\node.exe — Runtime Node.js v22.9.0 x64 téléchargé silencieusement
  • %APPDATA%\_node_x64\webrtc\wrtc-win32-x64\index.js — Module proxy SOCKS
  • %LOCALAPPDATA%\Google\Chrome\jucku\ — Répertoire d'extension Chrome malveillante (Windows)
  • /Library/Application Support/Google/Chrome/myextension/ — Répertoire d'extension Chrome malveillante (macOS)

Registre

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Run\UpdateApp — Persistance RAT (étape 3)
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Run\UpdateLedger%TEMP%\SKuyzYcDD.exe — Persistance du binaire de phishing Ledger

Tâches planifiées

  • UpdateApp — Exécution AghzgY.ps1 (Étape 3) au démarrage avec les privilèges les plus élevés

WMI

  • SELECT * FROM __InstanceCreationEvent WITHIN 2 WHERE TargetInstance ISA 'Win32_PnPEntity' — Déclencheur de détection de portefeuille matériel USB (binaire de phishing Ledger)

Extension de navigateur

  • Nom d'affichage : Google Docs Offline (version 1.95.1)
    • Nom du répertoire de l'extension (Windows) : jucku
    • Nom du répertoire de l'extension (macOS) : myextension

Noms de processus

  • Assaac — Nom de processus interne du binaire de phishing Ledger/Trezor
Partager :

https://www.aikido.dev/blog/glassworm-chrome-extension-rat

Démarrez gratuitement dès aujourd'hui.

Commencer gratuitement
Sans carte bancaire

Abonnez-vous pour les actualités sur les menaces.

4,7/5
Fatigué des faux positifs ?
Essayez Aikido, comme 100 000 autres.
Commencez maintenant
Obtenez une démonstration personnalisée

Approuvé par plus de 100 000 équipes

Réserver maintenant
Analysez votre application à la recherche d'IDORs et de chemins d'attaque réels

Approuvé par plus de 100 000 équipes

Démarrer l'analyse
Découvrez comment le pentest IA teste votre application

Approuvé par plus de 100 000 équipes

Démarrer les tests
Scannez vos dépôts pour les attaques GlassWorm

Approuvé par 100 000 équipes

Démarrer gratuitement

Sécurisez votre environnement dès maintenant.

Sécurisez votre code, votre cloud et votre environnement d’exécution dans un système centralisé unique.
Détectez et corrigez les vulnérabilités rapidement et automatiquement.

Aucune carte de crédit requise | Résultats en 32 secondes.