Blog

Business · 21 octobre 2026 · 7 min

Une app Shopify n’est pas Shopify

En octobre 2026, huit apps Shopify ont servi du JavaScript qui détournait le clic sur « Commander » vers de faux checkouts. Le marchand n’a rien vu dans ses commandes. Ce que ça dit de notre dépendance aux apps, et comment s’en sortir.

Le clic qui n'arrive plus chez toi

Le 10 octobre, Roman Zipp fait ses courses sur mechanicalkeyboards.com. Il met un clavier dans son panier, clique sur « Checkout ». La page qui s'ouvre ressemble à un checkout Shopify : même mise en page, même formulaire, même bouton. Sauf que l'URL n'est pas celle de la boutique. C'est biliing.top.

Ce qui a mis la puce à l'oreille de ce développeur allemand, c'est son gestionnaire de mots de passe. Sur le champ « Prénom », 1Password lui propose non pas son prénom, mais le prénom de sa carte bancaire. Ce détail-là, c'est un formulaire de paiement qui attend une carte, pas un formulaire de commande.

Il venait de tomber sur une campagne de détournement de checkout en cours. Et la boutique, elle, ne s'en apercevait pas.

Ce qui se passait vraiment

Le script qui redirigeait le clic n'était pas dans le thème. Il était injecté à l'exécution : aucun fichier source dans les DevTools, juste une fonction JavaScript nommée « hijack », ajoutée au vol.

Et il ne venait pas non plus de l'app elle-même. Il était servi par les API des développeurs des apps installées sur la boutique. C'est la différence qui change tout : l'app que tu as installée n'est pas corrompue sur le disque. C'est son éditeur, ou ses comptes, qui servaient un payload à distance, à tous ses clients à la fois.

Les apps concernées, au 21 octobre :

  • HulkApps / Hulk Product Options, Swym Wishlist Plus et Selleasy : confirmées, délistées de l'App Store.
  • Boost AI Search & Filter, Privy, Consentmo GDPR et 17TRACK : délistées aussi, sans confirmation formelle de l'éditeur.
  • Hextom (en août) et Qikify (en juillet) : incidents résolus plus tôt, même schéma.

Les domaines de destination : biliing.top, checkout-confirm.top, order-confirm.top, account-confirm.top, billing-confirm.top, checkout-guard.top. Au 21 octobre, la plupart ne sont toujours pas bloqués par Google Safe Browsing ni par Abuse.ch. Spamhaus en liste une partie.

Pourquoi tu ne vois rien

C'est le point que je veux que tu retiennes.

Une app comme celle-là ne touche pas au checkout Shopify. Elle n'a pas besoin d'y toucher. Elle modifie le front de ta boutique, là où elle a déjà le droit d'injecter son JavaScript, et elle capte l'événement de clic sur ton bouton « Commander ».

Conséquence : dans ton admin, il ne se passe rien d'anormal. Pas de commande bizarre, pas de pic de remboursements, pas de chargeback suspect. Le client a saisi sa carte sur une page qui n'était pas la tienne, il a payé quelqu'un d'autre, et il ne reviendra probablement pas. Tu le découvriras au mieux par un mail de client mécontent, au pire jamais.

L'auteur de l'enquête le dit sans détour : le vol ne laisse aucune trace dans les commandes.

Une app Shopify n'est pas Shopify

Voilà le fond du sujet.

Quand tu installes une app, tu ne reçois pas un morceau de Shopify. Tu reçois du code écrit par une société indépendante : HulkApps, Boost Commerce, Swym. Ces sociétés ne sont pas auditées par Shopify au quotidien. Elles ont leurs propres serveurs, leurs propres comptes, leurs propres pratiques de sécurité. Et toi, marchand, tu leur donnes un accès complet au front de ta boutique, c'est-à-dire à la page où tes clients sortent leur carte bancaire.

Le contrat est asymétrique : tu prends tout le risque commercial, l'éditeur prend le risque technique, et personne ne te prévient quand il le perd.

Deux choses ont mal tourné en octobre. D'abord, l'incident avait été signalé sur Reddit 18 jours plus tôt, et la boutique était toujours infectée. Ensuite, Shopify ont mis sept jours à communiquer publiquement, le 17 octobre, après avoir publié en interne un outil de scan le 15. À leur décharge, ils ont fait retirer le script de mechanicalkeyboards.com en 16 minutes après escalade. Mais entre le signalement et l'escalade, il y a eu deux semaines.

Le cercle vicieux, chez moi

Cette histoire m'a touché directement : un de mes clients utilise Boost AI Search & Filter. Pas encore touché, mais je change ça tout de suite.

Ce qui est vicieux, c'est pourquoi l'app était là. Une marketplace comme Castafiore, c'est 28 000 produits, dont 17 000 en stock. Or Shopify n'affichent aucun filtre sur une collection de plus de 5 000 produits, et plafonnent à 25 filtres au total.

Autrement dit : le natif ne suffit pas, donc tu installes une app. L'app te rend dépendant d'un tiers, et ce tiers peut se faire compromettre. Tu as payé un abonnement pour ajouter une surface d'attaque à ta boutique.

La sortie, c'est le natif d'abord

Ma réponse tient en une phrase : le natif doit être la base. Tout ce que Shopify fait déjà ne devrait pas être confié à un tiers.

Concrètement, ça veut dire deux choses.

Reprendre ce que l'app faisait, en propre. J'ai bossé sur une app proxy : Shopify passe la main à une app Laravel custom, qui sert directement les produits, les collections, la recherche et les filtres. Résultat : plus de limite à 5 000, plus de dépendance à un éditeur pour la partie la plus visible de la boutique.

Et virer le reste. Chez Naak, on a supprimé l'app de FAQ, l'app de panier et celle d'affichage des filtres. Rien n'a manqué : le thème fait le travail.

Chaque app retirée, c'est un accès en moins, un serveur en moins, une société tierce en moins qui peut se faire pirater à ta place.

Ce que tu peux vérifier ce soir

  • Teste ton propre checkout, en navigation privée, sans aucune extension : ajoute un produit au panier, clique sur « Commander » et regarde l'URL. Si ce n'est pas ton domaine, tu as un problème.
  • Fais le tri dans tes apps. Chaque app installée est un tiers avec un accès. Celles que le thème peut remplacer doivent partir.
  • Change tes mots de passe : celui de l'admin Shopify, et ceux de tes comptes chez chaque éditeur d'app.
  • Regarde quels outils ont accès à ta boutique, y compris les outils IA que tu as branchés. C'est la recommandation de l'auteur, et elle est bonne.
  • Passe tes apps au scan. Shopify ont publié la commande shopify app security check dans leur CLI le 15 octobre, en pleine crise. Un rapport propre ne garantit rien, mais il t'évite de garder une passoire.

Le vrai sujet d'octobre n'est pas la faille d'un éditeur. C'est qu'on a laissé des sociétés tierces s'installer dans le tunnel de nos clients, et qu'on a appelé ça de la productivité.