Skip to main content
Blog
Blog

Exigences PCI DSS 4.0.1 6.4.3 et 11.6.1 : guide de conformité client-side

Décomposition clause par clause de PCI DSS 6.4.3 et 11.6.1 : texte du contrôle, date 2025-03-31 et preuves produites pour un audit QSA.

Jul 14, 2026 10 min read
Exigences PCI DSS 4.0.1 6.4.3 et 11.6.1 : guide de conformité client-side

Les exigences PCI DSS 4.0.1 6.4.3 et 11.6.1 gouvernent les scripts et en-têtes HTTP de vos pages de paiement. 6.4.3 vous impose d'inventorier, d'autoriser et d'assurer l'intégrité de chaque script. 11.6.1 vous impose de détecter et d'alerter sur les changements non autorisés des scripts et en-têtes de sécurité de cette page. Les deux sont obligatoires depuis 2025-03-31. Ce guide décompose chaque clause, ce qu'elle signifie pour la page en production, et la preuve spécifique qu'un QSA attend qu'elle produise.

Ces deux exigences existent à cause du e-skimming. Les attaquants de type Magecart ne compromettent pas votre serveur. Ils modifient un script que le navigateur charge, puis capturent les données du titulaire de carte directement depuis le formulaire pendant que l'utilisateur les saisit. Un iframe de processeur ne couvre pas la page qui l'encadre. cside vit dans cet angle mort exact : elle enregistre chaque script que de vrais navigateurs exécutent sur la page de paiement, capture l'autorisation et signale les changements d'intégrité et d'en-têtes au moment où ils se produisent.

Ce que l'exigence 6.4.3 demande réellement

6.4.3 pose trois obligations pour chaque script de page de paiement. Lisez chacune comme une clause distincte, parce qu'un QSA le fera :

  1. Une méthode confirme que chaque script est autorisé avant de se charger ou de s'exécuter.
  2. Une méthode assure l'intégrité de chaque script.
  3. Un inventaire des scripts est maintenu avec une justification écrite de pourquoi chacun est nécessaire.

« Autorisé » et « nécessaire » sont les deux mots qui font trébucher les équipes. L'autorisation est une décision enregistrée : un approbateur nommé a signé que ce script peut tourner sur une page dans le périmètre des données de carte. La justification est la raison business pour laquelle il existe. Un pixel de tracking que le marketing a ajouté le trimestre dernier n'a généralement ni l'un ni l'autre, ce qui est exactement le type de constat que 6.4.3 fait remonter.

Le périmètre est plus large que le code first-party. Le contrôle couvre chaque script que le navigateur exécute sur la page : vos propres bundles, les SDKs tiers et les scripts de quatrième partie que ces vendors tirent à l'exécution. Un tag manager qui injecte trois scripts supplémentaires après le chargement de la page, c'est trois entrées de plus dans votre inventaire, et ces entrées changent sans déploiement de votre côté.

Le PCI SSC liste les hashes Subresource Integrity (SRI) et Content-Security-Policy comme exemples de mécanismes d'intégrité. Ils tiennent pour les assets statiques. Ils cassent dès qu'un script est dynamique. Un tag d'analytics ou un outil A/B qui se met à jour légitimement invalide le hash, donc un SRI épinglé bloque soit une bonne mise à jour, soit est retiré et ne protège plus rien. La Content Security Policy a la même limite : elle ne peut pas garantir ce que fait un script autorisé à l'exécution. C'est pourquoi l'intégrité pour de vraies pages de paiement doit être évaluée sur ce qui s'est exécuté, pas sur un hash fixé au build.

Ce que l'exigence 11.6.1 demande réellement

11.6.1 est un contrôle de détection, pas de gestion. Elle exige un mécanisme de détection de changement et d'altération qui fait deux choses :

  • Alerte le personnel sur toute modification non autorisée (y compris les indicateurs de compromission, changements, ajouts et suppressions) des en-têtes HTTP et du contenu des pages de paiement tels que reçus par le navigateur du consommateur.
  • Évalue les en-têtes et le contenu reçus à une fréquence fixée par votre analyse de risque ciblée sous l'exigence 12.3.1, ou au moins une fois tous les sept jours.

La formule « tels que reçus par le navigateur du consommateur » porte l'exigence. 11.6.1 ne demande pas ce que votre CDN a servi ni ce que votre dépôt contient. Elle demande ce que le navigateur a rendu, après chaque redirection, injection et modification à l'exécution. Un skimmer lit navigator.webdriver, les propriétés d'automatisation manquantes et l'absence d'interaction réelle pour reconnaître un scanner, puis lui sert du code propre et le payload à un humain. Un contrôle qui ne voit que la version scannée ne se déclenche jamais.

Les en-têtes HTTP sont dans le périmètre parce qu'ils sont une surface d'attaque, pas un détail de config. Un en-tête Content-Security-Policy affaibli ou retiré permet le chargement d'un script malveillant que la politique était censée bloquer. 11.6.1 veut que vous remarquiez que l'en-tête a changé, et que vous le remarquiez sur la réponse livrée, pas dans votre config d'origine.

Comment les deux exigences se répartissent le travail

6.4.3 régit ce que vous autorisez ; 11.6.1 régit ce qui s'est passé sur la page.

QuestionExigenceCe qu'elle gouverneMode d'échec qu'elle attrape
Quels scripts sont autorisés ici, et pourquoi ?6.4.3Autorisation, justification, intégrité, inventaireUn script non approuvé ou non documenté dans le périmètre
La page ou ses en-têtes ont-ils changé sans approbation ?11.6.1Détection et alerte sur les changements de scripts et d'en-têtesUne altération en direct que l'inventaire n'a pas vue
À quelle fréquence vérifions-nous la page livrée ?11.6.1 + 12.3.1Fréquence, avec un plancher de sept joursDes vérifications périmées qui manquent les changements transitoires

Traitez-les comme une boucle, pas comme deux projets. Un inventaire sans détection en direct est une liste qui devient obsolète dès qu'un vendor pousse une mise à jour. Une détection sans inventaire produit des alertes que personne ne peut trier, parce qu'il n'existe pas de baseline de ce que « autorisé » signifie.

Les preuves que chaque contrôle doit produire

Un QSA évalue la conformité à partir d'artefacts. Mappez chaque clause à l'enregistrement qu'elle génère afin de pouvoir remettre exactement ce qu'il demande.

ClauseArtefact de preuveCe qu'il doit montrer
Inventaire 6.4.3Inventaire des scripts lié aux pages dans le périmètreL'URL, le propriétaire et la dernière version vue de chaque script
Autorisation 6.4.3Enregistrement d'approbation par scriptQui l'a approuvé, quand, et les données qu'il touche
Justification 6.4.3Note de raison business par scriptPourquoi le script est nécessaire sur une page de paiement
Intégrité 6.4.3Historique d'intégritéComment chaque script est confirmé non altéré dans le temps
Détection 11.6.1Journal de changements avec alertesTimestamp, diff, page et qui a été notifié
Évaluation des en-têtes 11.6.1Historique des en-têtes par pageValeurs des en-têtes de sécurité et changements entre les chargements
Fréquence 11.6.1Analyse de risque + cadence de vérificationLa justification 12.3.1 et la preuve que les vérifications ont tourné

L'artefact qui manque le plus souvent aux équipes est l'historique d'intégrité et l'historique d'en-têtes dans le temps. Un instantané unique prouve que la page était propre une fois. Un QSA qui évalue 11.6.1 veut une preuve que vous auriez repéré un changement : un enregistrement horodaté sur de nombreux chargements réels de page, pas une capture d'écran.

Pourquoi un processeur ne ferme pas ça pour vous

Une supposition courante est qu'héberger les champs de paiement dans un iframe Stripe, Adyen ou Braintree pousse 6.4.3 et 11.6.1 sur le processeur. Ce n'est pas le cas. L'iframe est sandboxé, mais la page marchande qui l'encadre ne l'est pas. Votre analytics, votre outil A/B, votre session-replay et vos widgets de chat tournent tous dans le même contexte navigateur de niveau supérieur, et un script là peut lire le DOM, superposer un faux champ par-dessus l'iframe ou rediriger le formulaire au moment du submit. La mise à jour SAQ A de janvier 2025 a restreint l'éligibilité parce que bien peu de pages de paiement réelles sont exemptes de scripts tiers, et elle a ajouté un critère demandant de confirmer que votre site n'est pas susceptible aux attaques par scripts, ce qui est difficile à prouver sans surveillance. Les exigences restent attachées à la page que vous servez.

Pourquoi la menace est de plus en plus difficile à scanner

La raison pour laquelle 11.6.1 insiste sur la page livrée est que l'outing de l'attaquant est conçu pour battre tout ce qui n'est pas réel. Les navigateurs headless et instrumentés fuient : un flag navigator.webdriver, des objets runtime chrome manquants, des artefacts Runtime du Chrome DevTools Protocol et un timing impossible marquent une session comme non humaine. Les skimmers fingerprint ces signaux et restent dormants face aux crawlers et vérifications synthétiques.

L'outing d'évasion a aussi progressé dans l'autre sens. Le rapport de recherche de cside sur le futur de la sécurité web a constaté que playwright-stealth, de l'automatisation réglée pour supprimer ces fuites, était environ dix fois plus utilisé à la fin de 2025. La conclusion pratique pour 6.4.3 et 11.6.1 : l'intégrité et la détection de changements doivent tourner là où les données du titulaire de carte sont réellement saisies, dans la vraie session navigateur, pas depuis un point d'observation externe qu'un script évasif peut identifier et esquiver.

Comment cside produit cette preuve à la couche navigateur

cside instrumente la page de paiement dans de vrais navigateurs, qui est la surface que les deux exigences visent.

  • Pour 6.4.3, elle capture l'inventaire complet des scripts, y compris les scripts de quatrième partie que les vendors tirent à l'exécution, enregistre l'autorisation et la justification à côté de chaque entrée, et conserve un historique d'intégrité pour prouver qu'un script est resté intact entre les versions.
  • Pour 11.6.1, elle surveille le contenu des scripts et les en-têtes HTTP de sécurité sur la page livrée, les diff entre les chargements et alerte sur les changements non autorisés, avec un enregistrement horodaté qui répond à la question de fréquence 12.3.1 sans extraction manuelle hebdomadaire.
  • Elle fait aussi remonter le payload runtime de chaque script et associe le comportement des scripts aux signaux d'appareil, d'IP réelle et de VPN/proxy, pour qu'un changement signalé arrive avec du contexte plutôt qu'un simple mismatch de hash.

Parce qu'elle observe ce qui s'est exécuté plutôt que ce qu'on a montré à un scanner, cside capture la même preuve navigateur qu'un attaquant e-skimming tente de cacher. Cela aligne le workflow de conformité sur la menace réelle. Pour le déploiement opérationnel et la vue de reporting QSA, les guides ci-dessous vont plus loin.

Lectures complémentaires sur cside

Au 2026-06-18, considérez ceci comme une orientation opérationnelle, pas comme un avis juridique. Confirmez le libellé exact du contrôle avec votre QSA, votre conseil juridique ou votre responsable des risques.

Simon Wijckmans
Founder & CEO

Founder and CEO of cside. Previously a product manager on Cloudflare Page Shield (now Cloudflare Client-Side Security). Co-chair of the W3C Anti-Fraud Community Group and a Forbes 30 Under 30 honoree. Building accessible security against client-side attacks — web security is not an enterprise-only problem.

FAQ

Frequently Asked Questions

Non. Ils sont côte à côte mais régissent des travaux différents. 6.4.3 est un contrôle de gestion de scripts : vous décidez quels scripts sont autorisés sur une page de paiement, vous enregistrez pourquoi et vous assurez l'intégrité de chacun. 11.6.1 est un contrôle de détection de changements : un mécanisme surveille la page livrée et ses en-têtes HTTP de sécurité pour repérer les modifications non autorisées et alerte le personnel. Vous pouvez passer une revue d'inventaire 6.4.3 et quand même échouer 11.6.1 parce que rien ne surveillait la production lorsqu'un vendor a poussé une mise à jour silencieuse.

Non. Un processeur sécurise ses propres champs hébergés ou son iframe. 6.4.3 et 11.6.1 s'attachent à la page marchande qui encadre cet iframe, parce que votre analytics, tag manager, outil A/B et widget de chat s'exécutent tous dans le même contexte navigateur de niveau supérieur et peuvent être altérés. L'Attestation of Compliance du processeur ne transfère pas ces contrôles à votre page. Vous restez propriétaire de l'inventaire, de l'autorisation et de la détection de changements sur tout ce que vous servez.

11.6.1 renvoie à l'exigence 12.3.1, qui vous permet de fixer la fréquence de détection et d'alerte via une analyse de risque ciblée documentée, avec un plancher d'au moins une fois tous les sept jours. Une analyse de risque qui justifie des vérifications hebdomadaires est acceptable sur le papier, mais une altération qui apparaît après un scan et est nettoyée avant le suivant ne laisse aucune trace dans un enregistrement périodique. La surveillance continue ferme cette fenêtre et produit un journal horodaté plutôt qu'un instantané hebdomadaire.

Une Content-Security-Policy contrôle depuis où un script peut se charger, pas ce que fait un script déjà autorisé une fois lancé, et un attaquant capable d'affaiblir ou de retirer l'en-tête CSP éteint le contrôle. Un crawler externe scanne depuis un ensemble fixe d'IPs cloud, donc un skimmer peut servir du code propre au scanner et le payload malveillant à un vrai acheteur. 11.6.1 demande ce que le navigateur du consommateur a reçu, c'est pourquoi les deux contrôles laissent un angle mort que la surveillance au niveau navigateur comble.

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