Skip to main content
Blog
Blog

Qu'est-ce que la sécurité côté client ?

Les navigateurs sont des environnements riches en fonctionnalités. De plus en plus d'applications sont en réalité des navigateurs sous le capot. C'est idéal pour développer une application, mais les acteurs malveillants exploitent aussi le client comme surface d'attaque.

Oct 02, 2025 16 min read
Couverture de l'article sur la sécurité côté client

Définition de la sécurité côté client

Dans le contexte de la sécurité web, la « sécurité côté client » protège vos utilisateurs contre l'injection de code malveillant dans leur navigateur depuis votre site web. Ces injections de code malveillant comprennent les skimmers de cartes bancaires, les superpositions visuelles qui redirigent les utilisateurs vers des pages de phishing, ou des schémas de fraude sophistiqués comme la fraude aux liens d'affiliation.

Les sites web ne servent pas intentionnellement du code malveillant à leurs utilisateurs. Mais les « attaques côté client » injectent du code via des points d'entrée cachés : les scripts tiers provenant d'outils intégrés à votre site (balises analytics, bibliothèques de polices, outils open source, plugins) et les scripts propriétaires dans lesquels les attaquants placent du code obfusqué que votre équipe de sécurité ne détecte pas.

La « sécurité côté client » selon les contextes

Vecteur de sécurité côté clientObjectifProtège contreUtilisé par
1. Installation d'un extrait de code sur votre propre site webProtéger les utilisateurs contre des attaques comme le web skimming. Se conformer à des référentiels comme PCI DSS ou le RGPD.Les injections de code servies aux navigateurs des utilisateurs depuis votre site web.Les sites e-commerce, les plateformes SaaS et toute entreprise qui traite des paiements ou collecte des données personnelles sur le web.
2. Installation d'un logiciel sur le navigateur de l'utilisateur final (extension de navigateur)Orienté client : Avertit les consommateurs des sites de phishing ou des téléchargements dangereux.

Orienté employé : Applique les politiques de prévention des pertes de données et contrôle ce que les employés peuvent partager via le navigateur.
Les menaces rencontrées par l'utilisateur lors de sa navigation. Les fuites de données non autorisées depuis le navigateur.Les éditeurs de sécurité grand public proposent des extensions de navigation sécurisée. Les entreprises les déploient pour contrôler l'activité des employés dans le navigateur et prévenir les fuites de données.
3. Installation d'un logiciel sur l'appareil de l'utilisateur finalOrienté client : Sécurise les sessions en détectant les malwares présents sur l'appareil du client.

Orienté employé : Surveille les appareils gérés par l'entreprise à la recherche de malwares.
Les keyloggers, chevaux de Troie et autres malwares s'exécutant localement sur l'appareil de l'utilisateur.Les banques proposent à leurs clients une protection endpoint gratuite pour sécuriser les sessions de banque en ligne contre les malwares locaux.

Les employeurs déploient des agents EDR sur les appareils de l'entreprise pour détecter les menaces.

Lors des conférences de cybersécurité, évoquer la « sécurité côté client » suscite des perceptions différentes selon le domaine de sécurité dans lequel chaque personne travaille. Le dénominateur commun est que la « sécurité côté client » se concentre sur la surveillance d'un environnement qui s'exécute sur l'appareil de l'utilisateur final — et non sur vos propres serveurs, API ou trafic réseau.

cside opère dans le premier vecteur de sécurité côté client du tableau ci-dessus. Les marchands et les plateformes logicielles implémentent un extrait de code sur leur site web, ce qui nous permet de surveiller l'exécution dans le navigateur lors des sessions des visiteurs. Pour simplifier, cela fonctionne de manière similaire aux outils d'analytics que vous installez sur votre site. Mais nous surveillons les signes de failles de sécurité et de fraude, plutôt qu'à des fins marketing.

Schéma des scripts côté client

Pourquoi sécuriser le côté client ?

Chez cside, notre équipe est profondément engagée dans la sécurité côté client (le nom de l'entreprise est dérivé de client-side). L'entreprise a été fondée parce que nous avons constaté que les outils de sécurité web traditionnels offraient une visibilité limitée sur l'exécution dans le navigateur des utilisateurs, laissant un angle mort considérable. En tant que co-présidents de la communauté W3C Anti-Fraud Browser Security, notre mission est de protéger les consommateurs et les marchands contre la fraude sur le web.

Beaucoup d'attention est portée à la sécurisation de la chaîne d'approvisionnement. Les développeurs analysent les packages NPM. L'infrastructure est verrouillée. Les pare-feux et les WAF sont considérés comme des bases. Et la sécurité cloud est devenue une catégorie à part entière. Mais l'une des surfaces d'attaque les plus importantes et à la croissance la plus rapide est encore négligée : le côté client. Mastercard a souligné que près de trois quarts des violations publiquement divulguées impliquent du skimming numérique.

La sécurité côté client couvre tout ce qui s'exécute dans le navigateur de vos utilisateurs. Cela inclut le JavaScript tiers, les pixels, les iFrames, les formulaires, les SDK et tout code récupéré et exécuté après le chargement de la page. Cette partie de la pile est presque toujours ignorée lors des audits, pourtant elle est responsable de certaines des attaques les plus dévastatrices.

Les scripts tiers sont chargés directement dans le navigateur et exécutés avec un accès complet au DOM. Ces scripts peuvent analyser les formulaires, enregistrer le comportement des utilisateurs, modifier le contenu de la page et exfiltrer des données sans jamais toucher votre serveur. C'est là que la protection côté client est la plus importante — non seulement surveiller l'origine des scripts, mais aussi ce qu'ils font réellement.

Et les choses tournent mal. Souvent. L'attaque de la chaîne d'approvisionnement Polyfill a ciblé plus de 490 000 sites web en injectant du code malveillant dans une bibliothèque open source auparavant de confiance. Avant cela, Kaiser Permanente a exposé les données de 13,4 millions de patients en raison de scripts côté client intégrés envoyant des données vers des destinations non autorisées.

Si vous ne faites pas d'analyse active côté client, vous ne protégez pas vos utilisateurs. Car lorsque quelque chose tourne mal, la responsabilité vous incombe, pas nécessairement au fournisseur qui a servi le script.

La sécurité côté client n'est plus optionnelle. Si votre site traite des paiements, collecte des informations personnelles ou demande aux utilisateurs de se connecter, vous êtes une cible. Et le navigateur est l'endroit où ces attaques se produisent.

Menaces et types d'attaques côté client

1. Contrôle d'accès côté client défaillant

Le contrôle d'accès est souvent perçu comme une préoccupation côté serveur. Mais les défaillances du contrôle d'accès côté client sont bien réelles, et elles sont souvent négligées. Le JavaScript dans le navigateur peut être utilisé pour manipuler le DOM et accéder à des données ou des fonctions qui n'étaient pas censées être exposées. Si un script n'est pas correctement isolé (ou si des tokens sont laissés en mémoire, par exemple), il devient facile pour les attaquants d'obtenir un accès sans déclencher les vérifications backend.

C'est l'un des types de vulnérabilités côté client les plus silencieux. Et comme cela se passe dans le navigateur, la journalisation traditionnelle ne le détecte pas.

2. Cross-Site Scripting (XSS) basé sur le DOM

Le XSS basé sur le DOM est une attaque courante et persistante. Elle se produit lorsque JavaScript lit une entrée non fiable (comme des paramètres d'URL par exemple) et la réécrit dans la page sans assainissement. Cette forme d'injection ne repose pas sur les réponses du serveur, ce qui la rend difficile à détecter avec les pare-feux d'applications web traditionnels.

Les outils d'analyse côté client sont souvent le seul moyen de détecter cela en temps réel. Sans eux, les attaquants peuvent injecter des scripts arbitraires et compromettre entièrement la session navigateur de l'utilisateur.

3. Domaines expirés

Lorsqu'un domaine référencé dans votre code expire, n'importe qui peut l'acheter. Si votre JavaScript pointe encore vers ce domaine pour un script, une feuille de style, ou même un lien codé en dur, le nouveau propriétaire contrôle ce qui est servi. Les attaquants recherchent activement ces opportunités car le domaine entretient déjà une relation de confiance avec votre site et vos utilisateurs.

Notre équipe de recherche en sécurité a découvert une vulnérabilité liée à un domaine expiré sur le site d'Oracle, où un fichier JavaScript référençait un domaine qui avait expiré et était disponible à l'achat.

4. Fuite de données sensibles

La fuite de données côté client est l'un des risques les plus coûteux en matière de sécurité JavaScript. Elle se produit lorsque des scripts collectent des informations sensibles (comme des noms, des e-mails ou des coordonnées bancaires par exemple) et les transmettent à des domaines externes. Parfois c'est intentionnel. Souvent, ça ne l'est pas.

Lorsque Kaiser Permanente a exposé plus de 13,4 millions de dossiers, c'est parce que du code côté client intégré envoyait des données à des tiers sans le consentement des utilisateurs. Une surveillance côté client aurait signalé les tentatives d'exfiltration avant que les données ne quittent la page.

5. Composants vulnérables et obsolètes

Les bibliothèques JavaScript obsolètes sont l'un des points d'entrée les plus exploités dans les attaques côté client. Elles sont souvent récupérées depuis des CDN ou des fournisseurs tiers et ne sont jamais réexaminées. Si cette bibliothèque présente un CVE connu et que votre site la charge, vous êtes exposé.

C'est précisément ce qui a rendu l'attaque Polyfill si efficace. Un script largement utilisé a été compromis à la source, et la plupart des entreprises ne savaient même pas qu'elles le chargeaient. La protection côté client doit inclure le suivi des versions des bibliothèques pour garder une longueur d'avance sur ces types de risques.

6. Absence de contrôle des origines tierces

La plupart des attaques côté client ne partent pas de votre code. Elles proviennent d'une origine tierce à laquelle vous avez fait confiance sans vérification. Ces scripts se chargent avec toutes les permissions dans votre environnement navigateur, leur donnant accès à tout ce que l'utilisateur voit et fait.

Lorsque du JavaScript tiers est autorisé à s'exécuter librement, vous perdez le contrôle. À moins d'utiliser une Content Security Policy (CSP) stricte et une analyse côté client en temps réel, vous n'avez aucune idée de ce que fait ce script. Sans l'analyse côté client en temps réel, une CSP est le plus souvent insuffisante pour l'arrêter.

La compromission de la chaîne d'approvisionnement du SDK web AppsFlyer en est un exemple récent. Des attaquants ont détourné le DNS d'un SDK marketing de confiance et ont servi une charge utile de vol de cryptomonnaies à des milliers de sites qui ignoraient que leurs scripts avaient changé.

7. Dérive JavaScript

La dérive JavaScript se produit lorsque le contenu d'un script change au fil du temps, sans que personne ne s'en aperçoive. Un script qui était sûr la semaine dernière peut maintenant se comporter de manière totalement différente, surtout s'il est servi depuis une source distante. Certains attaquants exploitent cela en introduisant progressivement un comportement malveillant pour éviter la détection.

Chez cside, nous ne nous contentons pas de suivre l'URL. Nous enregistrons et analysons la charge utile complète de chaque script, à chaque fois. C'est ainsi que nous détectons les nouvelles vulnérabilités côté client avant qu'elles ne deviennent des violations.

8. Données sensibles stockées côté client

Lorsque JavaScript stocke des données dans localStorage, sessionStorage ou des cookies, ces données sont accessibles par n'importe quel script sur la page, y compris les scripts tiers. Cela crée une surface d'attaque massive pour le détournement de session, le vol de tokens et les fuites inter-sites.

Si vous stockez quoi que ce soit de sensible côté client (voir les exemples ci-dessus), vous avez besoin d'une portée stricte, d'une logique d'expiration et d'une surveillance en temps réel pour détecter les abus. La plupart des sites web ignorent complètement cela.

9. Défaillances de journalisation et de surveillance côté client

On ne peut pas sécuriser ce qu'on n'observe pas. La plupart des organisations traitent encore la journalisation comme une responsabilité côté serveur. Mais lorsque des scripts s'exécutent dans le navigateur et que des attaques se produisent en temps réel, vous avez également besoin d'une surveillance côté client.

Cela inclut la visibilité sur les interactions avec les formulaires, le comportement des scripts, les requêtes sortantes inattendues et les erreurs JavaScript. Sans cela, vous naviguez à l'aveugle.

10. Non-utilisation des contrôles de sécurité natifs du navigateur

Des défenses natives au navigateur existent. Mais de nombreux sites les ignorent. La Content Security Policy (CSP), la Subresource Integrity (SRI), le sandboxing des iframes... ce sont autant de moyens de réduire les risques liés aux scripts malveillants et au contenu injecté. Mais la plupart des équipes les configurent mal ou les désactivent entièrement pour éviter de casser des fonctionnalités.

Si vous voulez une véritable sécurité côté client, commencez par appliquer les contrôles que le navigateur prend déjà en charge.

11. Inclusion de logique propriétaire côté client

Votre frontend est visible par tout le monde. Cela inclut la logique métier, les algorithmes de tarification, les règles de routage internes et tout ce que vous déployez pour être chargé dans le navigateur. Il est courant de trouver des processus sensibles codés en dur dans du JavaScript, où ils peuvent être rétro-ingénierés ou détournés.

Ce n'est pas seulement un risque pour la vie privée, c'est aussi un risque pour la propriété intellectuelle. Si cela s'exécute côté client, c'est exposé. Et si c'est exposé, cela doit être surveillé.

« Les développeurs disent souvent "ne jamais faire confiance au côté client" — et pourtant, nous injectons régulièrement des dizaines de requêtes côté client vers des tiers. La réalité, c'est que le côté client est devenu la principale surface des attaques silencieuses. C'est là que les vulnérabilités prospèrent, précisément parce qu'il est si facile d'échapper à la détection. »

— Simon Wijckmans, CEO de Cside

Pourquoi les détections côté client ne peuvent pas reposer uniquement sur des flux de menaces

La plupart des outils qui prétendent offrir une protection côté client s'appuient sur deux choses :

  1. Des listes d'autorisation
  2. Des flux de renseignements sur les menaces précompilés.

Les attaquants conçoivent désormais des charges utiles côté client pour contourner ces méthodes de détection. Ils modifient dynamiquement le contenu du script. Ils ciblent uniquement des sites web spécifiques. Ils ne servent du code malveillant qu'une seule fois.

Si votre méthode de détection ne surveille que les domaines connus ou les signatures d'attaques passées, vous ne verrez pas ce qui arrive. Le script est peut-être déjà compromis, mais votre outil ne le sait pas car personne ne l'a encore signalé.

C'est pourquoi l'inspection des charges utiles JavaScript en temps réel est la seule approche fiable pour l'analyse côté client.

Référentiels de conformité imposant des contrôles de sécurité côté client

PCI DSS 4.0.1

PCI DSS 4.0.1 exige que les entreprises surveillent et autorisent tous les scripts côté client. Les exigences 6.4.3 et 11.6.1 sont devenues obligatoires en mars 2025 et sont désormais activement appliquées. Si votre site traite des paiements, cela implique une visibilité en temps réel sur ce qui s'exécute dans le navigateur — pas seulement une liste statique de domaines approuvés.

Nous avons rédigé un guide sur les mécanismes côté client précis qui satisfont à cette exigence.

RGPD, CCPA et autres référentiels liés à la vie privée

Si des données personnelles sont collectées ou transmises via des scripts tiers sans consentement ni supervision, vous êtes exposé. Peu importe que le script provienne d'un fournisseur de confiance. Vous en êtes quand même responsable.

Les articles 25, 28, 30 et 32 du RGPD, entre autres, définissent la nécessité de contrôles côté client tels que la visibilité sur l'activité de collecte des tiers et les mesures de protection contre les fuites de données.

HIPAA, SOC 2 et DORA vont dans la même direction. La protection côté client n'est plus seulement une question de sécurité. C'est aussi une question de conformité. Et les contrôles se renforcent.

Différentes approches de la sécurité côté client

1. Les Content Security Policies (CSP)

Les CSP sont des contrôles au niveau du navigateur qui restreignent les domaines autorisés à servir des scripts sur vos pages. C'est un bon point de départ, mais elles présentent de vraies lacunes :

  • Elles valident uniquement l'origine d'un script, pas ce qu'il fait une fois exécuté.
  • Elles ne peuvent pas détecter les scripts qui modifient leur comportement en fonction de l'utilisateur, de la session ou de la géographie.
  • Les violations de CSP génèrent des erreurs dans la console qui poussent les développeurs à assouplir les politiques ou à les désactiver entièrement.

L'attaque de la chaîne d'approvisionnement Polyfill a montré exactement ce qui se passe lorsqu'on fait confiance à une URL source qui est compromise. Le domaine était autorisé par la CSP, et le code malveillant s'est exécuté librement.

2. Les approches par crawler ou « scanner »

Les outils de crawling visitent votre site selon un calendrier et vérifient la présence de scripts malveillants. Le problème est que la détection est retardée et facile à contourner :

  • Les attaquants peuvent identifier les crawlers et leur servir du code propre tout en délivrant des charges utiles malveillantes aux vrais utilisateurs.
  • La plupart des crawlers n'échantillonnent qu'une fraction du trafic, ce qui permet aux attaques ciblant des utilisateurs ou des régions spécifiques de passer entre les mailles du filet.
  • Ils ne voient jamais le script réel que le navigateur d'un vrai utilisateur reçoit lors d'une session en direct.

3. La détection côté client basée sur JavaScript

Les outils basés sur JavaScript s'exécutent dans le navigateur pour observer l'activité des scripts en temps réel. Mais ils présentent des faiblesses importantes :

  • Ils fonctionnent comme des pièges, mais comme ils vivent dans le même environnement que les scripts qu'ils surveillent, les attaquants peuvent les détecter et les éviter.
  • Ils n'ont pas de contexte historique, ils ne peuvent donc pas suivre l'évolution d'un script dans le temps ni soutenir une investigation forensique après un incident.

Avec des réglementations comme PCI DSS qui exigent désormais des contrôles de scripts côté client, ces approches sont souvent utilisées pour cocher rapidement la case de conformité. Mais elles n'offrent pas une protection réelle. Elles laissent les entreprises exposées à des attaques qui s'adaptent plus vite que ces outils ne peuvent suivre.

Lisez ici un guide de comparaison et de sélection approfondi.

Comment cside sécurise le côté client

Nous avons conçu cside pour fournir une surveillance côté client en temps réel et une protection contre les menaces JavaScript sans ralentir votre site.

  • Inspection des charges utiles : Nous capturons et comparons les charges utiles complètes des scripts à chaque requête de récupération et de chargement, pas seulement le domaine ou le hash.
  • Gestion des scripts tiers : Surveillez, versionnez et verrouillez les scripts tiers pour qu'ils ne changent pas silencieusement en production.
  • Détection des expositions de données : Nous détectons les données qui fuient vers des points de terminaison inattendus avant que cela ne devienne un problème de conformité.
  • Préparation à la conformité : Que vous vous prépariez à PCI DSS 4.0 ou que vous gériez les risques liés au RGPD, nous vous aidons à rester prêt pour les audits.
Simon Wijckmans
Founder & CEO Simon Wijckmans

Founder and CEO of cside. Building better security against client-side executed attacks, and making solutions more accessible to smaller businesses. Web security is not an enterprise only problem.

FAQ

Frequently Asked Questions

C'est la pratique qui consiste à protéger les scripts exécutés dans le navigateur et les interactions utilisateur contre l'exploitation par du JavaScript malveillant ou la collecte non autorisée de données.

Parce que les scripts peuvent changer sans préavis. Les charges utiles servies aujourd'hui ne correspondent pas nécessairement à ce qui a été testé en staging.

La dérive JavaScript désigne le fait qu'un script modifie son comportement ou son contenu sans être détecté. Les attaquants l'utilisent souvent pour introduire progressivement une logique malveillante.

Ils peuvent accéder à des données sensibles, manipuler le DOM et transmettre des données personnelles à des domaines externes, souvent à votre insu.

Oui. PCI DSS 4.0 exige que les entreprises surveillent et autorisent tous les scripts côté client depuis mars 2025.

La plupart des sites web chargent des scripts tiers qui communiquent avec des dizaines de points de terminaison externes. Sans surveillance côté client en place, vous n'avez aucune idée de l'endroit où vont réellement les données de vos utilisateurs. Si vos scripts exfiltrent silencieusement des informations vers des domaines inconnus, vous êtes déjà compromis.

Les bibliothèques tierces se mettent à jour en arrière-plan à votre insu. Si vous ne verrouillez pas les versions ou ne surveillez pas les changements, un script de confiance peut devenir malveillant du jour au lendemain. C'est ainsi que des attaques comme Polyfill se sont propagées aussi largement. Une véritable protection côté client inclut le suivi et les alertes en cas de dérive de version.

La plupart des outils ne le peuvent pas. Ils s'appuient sur des crawlers ou des flux de menaces qui vérifient toutes les quelques heures, voire tous les jours. Ce n'est pas assez rapide. Les attaques modernes s'exécutent en temps réel. Notre système analyse chaque charge utile au moment de son chargement, ce qui signifie que vous êtes informé dès qu'un changement survient.

PCI DSS v4.0.1 exige désormais une surveillance active et une autorisation de tous les scripts côté client, y compris les dépendances tierces. Si vous ne suivez pas en continu ce qui s'exécute dans le navigateur, vous n'êtes pas conforme et vous risquez des sanctions.

C'est le cœur de la sécurité côté client. Sécuriser le backend ne suffit pas. Vous avez besoin d'une visibilité sur la façon dont les scripts interagissent avec les formulaires, les cookies et le stockage de session. Si vous ne pouvez pas prouver où vont les données, vous ne pouvez pas les sécuriser.

Surveillez et sécurisez vos scripts tiers

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Commencez gratuitement, ou essayez Business avec un essai de 14 jours.

cside Interface du tableau de bord affichant la surveillance des scripts et les analyses de sécurité
Related Articles
Réserver une démonstration