Le WordPress d'aujourd'hui, décodé pour les développeurs

IA & MCP

Audit d’agence : des abilities WordPress oubliées actives sur d’anciens sites

Un audit révèle des abilities encore déclarées sur d'anciens projets sans suivi actif, avec un risque bien réel d'appel par un agent tiers passé inaperçu.

Par Clément Hadrot • 11 janvier 2026 • 4 min de lecture • Aucun commentaire
Audit d'agence : des abilities WordPress oubliées actives sur d'anciens sites

Combien de sites, parmi ceux qu’une agence a livrés puis progressivement laissés sans contrat de maintenance actif, continuent de déclarer des abilities capables d’être appelées par un agent IA ? Une agence de développement WordPress d’une dizaine de personnes s’est posé la question après la fin du support étendu de WordPress 6.9, et la réponse l’a surprise.

L’Abilities API, utilisable depuis l’été 2025 et intégrée nativement à WordPress avec la version 6.9 en décembre 2025, permet à une extension de déclarer des capacités consultables et appelables par un agent externe. Plusieurs extensions installées sur d’anciens sites de l’agence avaient adopté cette API dès sa disponibilité, sans que personne, une fois le projet livré, ne pense à revenir vérifier ce qui restait exposé.

La méthode d’audit retenue

L’équipe a listé l’ensemble des sites hébergés pour d’anciens clients sans contrat de maintenance actif depuis plus d’un an, soit une trentaine de sites au total. Sur chacun, un script a interrogé la fonction wp_get_abilities() pour recenser les abilities déclarées, indépendamment de leur usage réel constaté.

Ce que l’audit a trouvé

Sur les trente sites audités, six présentaient des abilities encore actives, pour un total de onze abilities recensées. La plupart provenaient d’extensions de gestion de contenu ou de formulaires, installées à une époque où les équipes testaient les premières intégrations d’agents, sans jamais désactiver ces capacités après la fin du test.

L'essentiel à retenir : Une ability déclarée reste active même sans usage prévu ; Les sites sans contrat de maintenance sont les plus exposés ; Un inventaire régulier reste la seule parade fiable

Le détail des abilities retrouvées

Type d’abilityNombre de sites concernésRisque estimé
Création de contenu automatisée4Modéré : contenu publiable sans relecture
Modification de formulaires de contact3Faible : impact limité au formulaire
Export de données de contact2Élevé : exposition de données personnelles
Modification de paramètres SEO2Modéré : impact sur le référencement

Le cas le plus préoccupant concernait l’export de données de contact, une ability testée à l’époque pour un projet d’intégration avec un service tiers finalement abandonné, mais jamais retirée du code de l’extension déployée en production.

Le script d’audit utilisé

function auditer_abilities_site(): array {
    $abilities = wp_get_abilities();
    $resultats = array();

    foreach ( $abilities as $ability ) {
        $resultats[] = array(
            'nom'         => $ability->get_name(),
            'description' => $ability->get_description(),
            'source'      => $ability->get_meta( 'plugin', 'inconnu' ),
        );
    }

    return $resultats;
}

Cette fonction, lancée site par site via un script WP-CLI dédié, a permis de constituer un inventaire complet en une seule après-midi, bien plus rapide qu’une revue manuelle du code de chaque extension installée.

Pourquoi ces abilities étaient passées inaperçues

Les sites concernés n’avaient pas de contrat de maintenance actif, donc aucune revue périodique des extensions installées. Les abilities déclarées ne provoquaient aucun symptôme visible pour le client, qui n’avait aucune raison de signaler quoi que ce soit à l’agence tant que le site fonctionnait normalement au quotidien.

  • Aucune de ces abilities n’était mentionnée dans la documentation de livraison initiale du projet.
  • Les mises à jour d’extensions ultérieures avaient parfois ajouté de nouvelles abilities sans que personne ne le remarque.
  • Le client n’avait, dans la plupart des cas, aucune connaissance de l’existence même de ces capacités.

Une capacité déclarée et jamais utilisée n’est pas une capacité neutre : elle reste une porte ouverte, même si personne ne l’a encore poussée.

En résumé

Cet audit a conduit l’agence à intégrer une vérification des abilities déclarées dans sa procédure de fin de contrat de maintenance, plutôt que de laisser cette question sans réponse. Pour toute agence gérant plusieurs dizaines de sites clients, un inventaire régulier des abilities actives, y compris sur les projets sans suivi actif, permet d’éviter qu’une fonctionnalité testée puis oubliée ne devienne un risque silencieux des années plus tard.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi