Plugin & theme audit.
A manual source-code security review of a WordPress plugin or theme.
prix fixe par codebase
Ce que nous en faisons
Static source review.
Nous recevons une copie du code source de votre plugin ou thème et nous le lisons. Fonction par fonction. Endpoint par endpoint. Nous cherchons les schémas qui se transforment en compromissions six mois plus tard — ceux qu'un linter et un scanner manquent parce qu'ils relèvent de l'intention, pas de la syntaxe.
Puis nous rédigeons ce que nous avons trouvé, comment reproduire chaque problème, et comment le corriger sans casser la fonctionnalité dans laquelle il se trouve.
Qui réserve cela
- Auteurs de plugins préparant une soumission au dépôt WordPress.org ou à un marketplace payant.
- Développeurs livrant une intégration custom à un client spécifique qui a demandé un audit.
- Propriétaires de sites qui ont hérité d'un plugin ou thème custom et ne lui font pas confiance.
- Agences acquérant un plugin et voulant une due diligence sur le codebase avant de signer.
Couverture
Exemples de ce que nous cherchons.
Chaque action réservée aux admins vérifiée pour current_user_can() et la bonne capability — pas seulement is_user_logged_in().
Chaque requête modifiant l'état est vérifiée pour un nonce valide et lié à l'action. Facile à oublier ; cause fréquente de chaînes CSRF-vers-RCE.
Assainissement et validation de chaque entrée utilisateur — pas seulement à la sauvegarde, mais à chaque couche (REST, AJAX, shortcode, bloc, commande CLI).
Chaque echo / printf / variable de template enveloppé dans le bon escaper (esc_html, esc_attr, esc_url, wp_kses). Le XSS réfléchi reste le constat WordPress le plus courant.
Requêtes préparées partout. Aucune concaténation de chaînes dans $wpdb->query(). $wpdb->prepare() avec les bons spécificateurs de format.
Handlers d'upload, suppressions de fichiers, lectures de fichiers — tous vérifiés pour path traversal, validation de type et prévention d'exécution dans les répertoires d'upload.
Utilisations de eval, unserialize, system, exec, preg_replace /e, extract — signalées et revues en contexte.
Connexion custom, réinitialisation de mot de passe, OAuth, gestion de tokens API — chaque fois que le plugin manipule de l'identité, nous regardons de près.
Bibliothèques embarquées (jQuery, paquets Composer, builds npm) vérifiées pour les versions connues vulnérables et tout fork du code amont.
Toute requête HTTP sortante revue — ce qui est envoyé, où, et si la réponse est traitée en confiance aveugle.
Si le plugin se met à jour depuis une source autre que WordPress.org, l'intégrité du canal de mise à jour est revue de bout en bout.
Séparation entre admin réseau et admin site, chemins d'escalade super-admin, actions restreintes par rôle à travers le réseau.
Comment ça marche
How the audit runs.
- Étape 1
Remise du code
Source (zip, git ou commit pinné) avec contexte de build.
- Étape 2
Continuer la lecture
Revue ligne par ligne. Constats avec références fichier:ligne.
- Étape 3
Vérification dynamique
Constats prometteurs confirmés sur une installation réelle.
- Étape 4
Rapport et débrief
Rapport, présentation et une passe de retest.
Tarifs
Par codebase, prix fixe.
Devisé d'avance selon la taille et la complexité. Les chiffres ci-dessous sont des points de départ typiques ; nous envoyons un devis fixe après avoir vu le code.
Quoted
Jusqu'à ~3 000 lignes de PHP
Plugin ou thème mono-usage. Exemples : handler de formulaire, custom post type, intégration légère.
DiscuterQuoted
Jusqu'à ~10 000 lignes
Plugin multi-fonctionnalités ou thème custom complet. Inclut la revue du JS / pipeline d'assets.
DiscuterSur mesure
10 000+ lignes
Plugin majeur (extension WooCommerce, couche multilingue), codebase de type plateforme, ou tout ce qui a un canal de mise à jour et une couche de licence complexes.
DiscuterQuestions fréquentes
Questions fréquentes.
Est-ce juste un passage de scanner ?
Non. Les scanners font partie du workflow (nous les utilisons pour le triage rapide), mais chaque constat du rapport a été lu en contexte par un humain. Les scanners produisent des faux positifs — pas nous.
Pouvez-vous signer un NDA avant qu'on vous envoie du code ?
Oui. Nous avons un NDA mutuel standard, et nous utilisons volontiers le vôtre si vous préférez. Le code est supprimé à la fin de la mission plus 30 jours pour les besoins de retest.
Auditez-vous aussi le JavaScript et le code des assets ?
Oui pour le JS pertinent en sécurité — scripts d'UI admin, blocs Gutenberg, handlers d'upload d'assets. Nous ne revoyons pas le code frontend pour des bugs sans rapport avec la sécurité.
Donnerez-vous un quitus pour une soumission marketplace ?
Nous pouvons émettre une lettre de confirmation d'audit adaptée aux marketplaces qui en demandent une. Nous ne certifierons pas qu'un codebase a zéro bug — personne d'honnête ne le fait.
E-mail [email protected] or use the contact form.