threatover Patrik Grobshäuser
Revue de code

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.

Vérifications de capacités

Chaque action réservée aux admins vérifiée pour current_user_can() et la bonne capability — pas seulement is_user_logged_in().

Nonces et CSRF

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.

Traitement des entrées

Assainissement et validation de chaque entrée utilisateur — pas seulement à la sauvegarde, mais à chaque couche (REST, AJAX, shortcode, bloc, commande CLI).

Échappement de sortie

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.

Accès base de données

Requêtes préparées partout. Aucune concaténation de chaînes dans $wpdb->query(). $wpdb->prepare() avec les bons spécificateurs de format.

Opérations sur fichiers

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.

Fonctions dangereuses

Utilisations de eval, unserialize, system, exec, preg_replace /e, extract — signalées et revues en contexte.

Autorisation

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.

Dépendances

Bibliothèques embarquées (jQuery, paquets Composer, builds npm) vérifiées pour les versions connues vulnérables et tout fork du code amont.

Télémétrie et sorties réseau

Toute requête HTTP sortante revue — ce qui est envoyé, où, et si la réponse est traitée en confiance aveugle.

Canal de mise à jour

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.

Multisite et rôles

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.

  1. Étape 1

    Remise du code

    Source (zip, git ou commit pinné) avec contexte de build.

  2. Étape 2

    Continuer la lecture

    Revue ligne par ligne. Constats avec références fichier:ligne.

  3. Étape 3

    Vérification dynamique

    Constats prometteurs confirmés sur une installation réelle.

  4. É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.

Petit

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.

Discuter
Grand

Sur 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.

Discuter

Questions 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.