Technique et prévention · 9 min · publié le 22 novembre 2025 · mis à jour le 26 juillet 2026

Révoquer clés API, applications et webhooks après un incident

Mots de passe d'application WordPress, intégrations Magento, Stripe, Search Console, SMTP : une liste écrite évite d'en oublier une qui réécrit le site à 3 h. Révoquer n'est pas « changer le mot de passe admin ». Ce sont d'autres secrets, qui survivent au premier.

Réponse directe

WordPress application passwords, Magento integrations, Stripe, Search Console, SMTP. Une liste écrite évite d'en oublier une qui réécrit le site à 3 h.

révoquer clés api application passwords wordpress tokens après piratage

Pourquoi ça survit au nouveau mot de passe

Une application password, une clé REST, un webhook signé, un token OAuth : émis une fois, valides jusqu'à révocation. L'admin CMS peut avoir un secret neuf et l'attaquant un jeton ancien. C'est le même principe que la règle de transfert et que la session. Trois persistances, trois gestes.

Les dossiers « on a tout changé » sans cette liste se réinfectent par WooCommerce REST, par un Zapier, par un SMTP Brevo. Cause 2 des 48 h, version API.

On ne montre pas comment forger un jeton. On montre où les *révoquer* dans les consoles que vous payez.

Écrivez la liste *avant* de révoquer en rafale : vous saurez ce qui va casser (pub, factures) et vous préviendrez.

La liste à dérouler, sans folklore

CMS : utilisateurs applicatifs, REST, webhooks boutique, cron URL secrètes, « connection keys ». Paiement : Stripe, PayPal, modules banque, clés de test *et* live. Pub et mesure : Google, Meta, TikTok, Search Console, Analytics, GTM. Mail : SMTP, ESP, webhooks d'événements. Infra : panel, DNS, Cloudflare, GitHub / GitLab, S3 backups. Support : chat, helpdesk. Autres : Calendly, ERP, marketplace.

Cochez « n'existe pas » plutôt que d'oublier la ligne. L'inventaire des pixels recoupe celui-ci.

Les `.env`, `wp-config`, fichiers d'intégration Prestashop : lisez-les *en copie isolée*. Ils sont le plan. Tournez ce qu'ils citent.

  • CMS / boutique.
  • Paiement, pub, mail.
  • Infra, Git, backups, saisie.

CMS : apps, REST, webhooks

WordPress : application passwords par utilisateur, éventuels JWT, WooCommerce REST (cles consumer), webhooks de commandes. Magento : integrations, tokens admin. Prestashop : clés webservice. Chaque écran a un « révoquer / régénérer ». Tous les utilisateurs, pas seulement le vôtre.

Une URL de cron `?token=` dans un plugin : changez le secret, pas seulement le mot de passe admin. Les « secret keys » dans la config : régénérer *une* fois, documenté, comme les sels de session.

xmlrpc et apps mobiles : retirez ce qui ne sert pas. Moins de tuyaux, moins d'oublis.

Paiement, pub, Search Console

Stripe : clés restreintes, webhooks, utilisateurs dashboard, applications connectées. Un webhook pirate crée des faux événements ou lit les objets. Restricted keys > clés secrètes trop larges, à froid. Search Console / Ads : utilisateurs, « propriétaires », liens API. Un compte Google encore « proprio » après un freelance de 2021 est une porte de comm' et parfois de DNS.

Si un skimmer a tourné, le PSP a *son* incident en plus. Coordonnez. Ce n'est pas seulement « régénérer la clé du plugin ».

Meta Business : admins, pixels, catalogues. Un pixel inconnu : retirez *et* révoquez l'accès qui pouvait le poser.

Mail et automatisations

SMTP du CMS, ESP (Brevo, Mailchimp, SES), inbound parse, webhooks « email ouvert ». Une clé SMTP oubliée continue le spam après WordPress « propre ». Zapier / Make / n8n : connexions, scénarios. Un scénario « à chaque commande, POST vers URL » est une exfil.

OAuth « se connecter avec Google » côté site : révisez les apps autorisées dans le compte Google *du site*, pas seulement le wp-admin.

Les files : pause pendant la révocation, puis un envoi test. Pas un rattrapage de masse. Réchauffer.

CDN, Git, backups, chat

Cloudflare : tokens API, workers, membres. Git : deploy keys, tokens CI, webhooks qui tirent sur le prod. Une clé CI pousse un thème sale. Backups S3 : access key dans le plugin — révoquez, nouvelle clé *restreinte au bucket*, plus dans un ticket Slack. Chat / helpdesk : tokens bots.

Registrar / DNS API : prioritaire si le MX a bougé. Un token OVH / Gandi vaut un panel.

Les webhooks « Slack #commandes » vers un canal que l'attaquant a rejoint : changez l'URL, pas seulement le mot de passe Slack du gérant.

L'ordre : inventaire, révocation, remplacement

1) Liste et captures (qui avait quoi). 2) Révoquer l'inconnu et tout ce qui a pu être lu (config). 3) Recréer *ce dont le métier a besoin*, secrets nouveaux, droits minimaux. 4) Tester un paiement, un mail, un déploiement. Inverser 3 et 2, c'est laisser l'ancien jeton vivre « encore une heure ».

Prévenez la compta / le marketing : la pub et les factures peuvent tousser. Mieux qu'une surprise + un jeton pirate encore valide.

Panel et FTP *avant* si ce n'est pas fait : sinon l'attaquant relit le nouveau `.env` et vous recommencez. Backdoor d'abord ou en parallèle serré.

Preuve et oubli à J+30

Cochez les lignes, datez. Pièce assurance et constat (accès API = accès données parfois). Une clé Stripe lue n'est pas un dump SQL ; c'est un autre périmètre, à écrire.

J+30 : parcourir les consoles, nouveaux tokens inconnus. Journalisation ne voit pas Stripe. Un rappel calendrier, si.

Créer un espace pour les fichiers. Joignez la liste « déjà révoqué / pas encore » : ça évite qu'on casse Stripe deux fois ou qu'on l'oublie.

  • Liste écrite, tous les silos.
  • Révoquer, puis recréer le minimum.
  • Relire les consoles à 30 jours.

Questions fréquentes

Je n'utilise pas d'API. Je peux passer ?

+
Vérifiez quand même : WooCommerce les crée, les apps mobiles, les « se connecter avec », Search Console. « Je n'utilise pas » est souvent faux.

Révoquer Stripe va casser les paiements du week-end.

+
Préparez la nouvelle clé, bascule courte, ou fenêtre annoncée. Laisser l'ancienne parce que c'est le week-end, c'est laisser un robinet. Choisissez l'heure, pas l'oubli.

Un token « read only » est-il inoffensif ?

+
Read on customers, c'est une fuite potentielle. Révoquez quand même si la config a été lue. Recréez plus tard, plus étroit.

Les clés sont dans un gestionnaire. L'attaquant les a eues ?

+
S'il a eu le serveur *et* le gestionnaire, oui. S'il a eu seulement le CMS, dépend de ce qui était en clair dans le plugin. En doute : rotation. Moins cher qu'un second incident.

GitHub Actions déploie encore. Je coupe tout ?

+
Révoquez les secrets, mettez le workflow en pause, relisez le YAML (URL, branches). Un workflow modifié est une porte. Puis clés neuves, moindre privilège.
À lire ensuite
Sessions et cookies 2FA admin Porte dérobée Emails en spam Fuite de données Déclarer mon site