Aller au contenu
Plateforme privée et indépendante.Plateforme privée et indépendante : gratuite pour les clients, financée par une commission des prestataires.Financement
smart-contract.com

Guides

Pentest blockchain : test d'intrusion web3 et audit

Pentest blockchain : ce que couvre un test d'intrusion web3, ce qui le distingue d'un audit de smart contract, quand prévoir chacun et comment choisir.

Mis à jour le 26 septembre 202610 min de lecturePar l'équipe smart-contract.com

Un pentest blockchain est un test d'intrusion au cours duquel des spécialistes attaquent, comme le ferait un véritable attaquant, la partie hors chaîne d'un projet web3 : interface de la dApp, API, back-end, intégration des wallets, gestion des clés et infrastructure. Il complète l'audit de smart contract, qui examine ligne à ligne le code déployé sur la blockchain : les deux ne répondent pas à la même question et sont souvent confiés à des équipes différentes.

Beaucoup de projets web3 ne commandent qu'un audit et pensent que l'ensemble du produit est couvert. Ce n'est pas le cas. Ce guide explique ce que couvre un test d'intrusion web3, ce qui le distingue d'un audit, ce que recouvrent les expressions « audit blockchain » et « audit crypto », et comment choisir un prestataire.

Ce que couvre un pentest blockchain

Un pentest web3 vise tout ce qui entoure les contrats et reste accessible aux utilisateurs comme aux attaquants. Les contrats peuvent être irréprochables alors qu'une interface compromise, une clé d'API divulguée ou un nœud exposé ouvre une autre porte. Le périmètre comprend généralement :

  • L'interface et la dApp : l'application web à laquelle les utilisateurs connectent leur wallet, avec la recherche d'injections, de failles XSS, de dépendances vulnérables, la politique de sécurité du contenu et l'intégrité de ce qui s'affiche avant une signature.
  • Les API et le back-end : authentification, autorisations, limitation du nombre de requêtes, logique métier, indexeurs et tout service qui prépare des transactions ou conserve des données d'utilisateurs.
  • L'intégration des wallets : la façon dont l'application demande des signatures, ce qu'elle montre à l'utilisateur, la gestion des réseaux et des adresses, et le risque qu'un utilisateur signe autre chose que ce qu'il croit.
  • La gestion des clés : où se trouvent les clés de déploiement, d'administration, d'opération et les wallets chauds, qui peut s'en servir et comment elles sont protégées (boîtiers matériels, multisig, coffres, procédures d'accès). Voir clé privée dans le glossaire.
  • L'infrastructure et le cloud : comptes, droits, secrets, chaînes d'intégration et de déploiement continus, réglages DNS et du domaine, services exposés.
  • Les nœuds et les RPC : nœuds hébergés par le projet, points d'accès RPC, machines de validateurs ou de relais, et configuration qui détermine les données auxquelles l'application fait confiance.

Certains cabinets proposent aussi des simulations d'hameçonnage ou d'ingénierie sociale visant l'équipe, à la demande du client et selon des règles convenues par écrit.

Test d'intrusion web3 ou audit de smart contract

Le test d'intrusion se demande « comment un attaquant peut-il pénétrer ce système ? », l'audit de smart contract « ce code peut-il se comporter autrement que ne l'ont voulu ses auteurs ? ». Le tableau ci-dessous résume les différences.

Test d'intrusion web3Audit de smart contract
CibleSystèmes hors chaîne : dApp, API, back-end, intégration des wallets, clés, cloud, nœudsCode sur la chaîne : les contrats du périmètre, à un commit donné
ApprocheAttaques simulées, en boîte noire, grise ou blancheRevue manuelle ligne à ligne appuyée par des outils
Outils typesOutils de test web et d'API, scanners d'infrastructure, revues de configurationAnalyse statique, fuzzing, tests d'invariants, vérification formelle
Questions principalesUn attaquant peut-il prendre le contrôle de comptes, de clés, de serveurs ou de ce que voient les utilisateurs ?Des fonds peuvent-ils être volés, bloqués ou mal évalués par le code ?
PhotographieLes systèmes tels que configurés pendant la fenêtre de testLe code à une empreinte de commit donnée
LivrableRapport de pentest avec constats, preuves et correctionsRapport d'audit avec constats classés par gravité
SuiteNouveau test des points corrigésRéaudit des corrections

Les deux exercices valent à un instant donné. Aucun ne garantit l'absence de vulnérabilité, et chacun perd de sa valeur dès que le code ou l'infrastructure change sensiblement.

Ce que recouvrent « audit blockchain » et « audit crypto »

« Audit blockchain », « audit de sécurité web3 » et « audit crypto » sont des expressions floues, que les prestataires emploient pour au moins trois services distincts. Précisez celui dont vous avez besoin avant de demander des devis.

  1. Audit de protocole ou de nœud. La revue du logiciel d'une blockchain elle-même : consensus, réseau, client de nœud, machine virtuelle ou cryptographie. Elle concerne les équipes qui construisent une chaîne, un rollup ou une infrastructure de base, et demande des relecteurs très spécialisés.
  2. Audit de smart contract. Le sens le plus courant : la revue de sécurité des contrats qu'une application déploie sur une chaîne existante. La page du service d'audit de smart contract décrit cette mission.
  3. Revue de sécurité d'une entreprise crypto. Une évaluation plus large d'une plateforme d'échange, d'un conservateur, d'un fournisseur de wallets ou d'une autre société du secteur : infrastructure, garde des clés, procédures internes, contrôle d'accès et souvent un pentest. Elle peut aussi répondre à des exigences réglementaires, qui dépendent du pays et de l'autorité concernée (en France, l'AMF) ; seul un avocat spécialisé peut vous dire ce qui s'applique à votre cas.

Un « audit crypto » peut enfin désigner un audit financier des réserves ou des comptes, qui relève d'un tout autre métier. Quand un partenaire ou un investisseur vous demande « un audit », demandez-lui lequel il attend.

Quand prévoir l'un, l'autre ou les deux

Il faut en général un audit de smart contract avant que vos contrats ne détiennent de la valeur, et un pentest avant d'exposer votre application et votre infrastructure à de vrais utilisateurs. Pour la plupart des produits, la bonne réponse est les deux, à des moments différents.

  • Des contrats sans application propre : un token ou un contrat utilisé depuis des outils existants demande d'abord un audit ; un pentest aurait peu à tester.
  • Une dApp avec son propre back-end : auditez les contrats, puis faites tester l'application quand elle approche de sa configuration de production.
  • Des clés ou des fonds d'utilisateurs gardés hors chaîne : la gestion des clés et l'infrastructure deviennent le risque principal, et un pentest avec un volet sérieux sur les clés est indispensable.
  • Bridges, relais, oracles ou robots d'exécution : des composants hors chaîne signent ou soumettent des transactions, les deux revues comptent. Voir les bridges multi-chaînes.
  • Une société crypto qui prépare un partenariat ou un référencement : attendez-vous à une revue de sécurité plus large, et demandez au partenaire quels rapports il lira.

L'ordre compte. Auditez les contrats une fois le code gelé, puis lancez le pentest sur l'environnement déployé, en préproduction ou en production selon des règles convenues. Le guide sur le déroulement d'un audit de smart contract détaille la partie audit.

Les livrables à exiger

Un pentest web3 sérieux se conclut par un rapport écrit qu'une personne extérieure à l'équipe peut comprendre et exploiter. Demandez ces éléments dans le devis :

  • Le périmètre et les règles d'engagement : systèmes, environnements, comptes, fenêtre de test, actions interdites et contact en cas d'urgence.
  • La méthode : boîte noire, grise ou blanche, outils utilisés et ce qui a été testé à la main.
  • Les constats classés par gravité, chacun avec ses preuves, son impact, les étapes pour le reproduire et une correction recommandée.
  • Une synthèse pour les lecteurs non techniques, investisseurs ou partenaires.
  • Un nouveau test des points corrigés et un rapport mis à jour, ou au moins ses conditions et son prix.
  • Des engagements de confidentialité : conservation puis destruction des preuves, des identifiants et des données consultés pendant le test.

Choisir un prestataire de pentest

Choisissez un prestataire sur son expérience web3 démontrée et sur sa méthode, pas seulement sur ses références générales en sécurité. Les critères utiles :

  • Des références web3 : des exemples de rapports (anonymisés si besoin) portant sur des dApps, des parcours de signature et la gestion des clés, pas seulement sur des applications web classiques.
  • Des testeurs nommés : qui fera réellement le travail, avec quelle expérience des chaînes et des wallets que vous utilisez.
  • Un périmètre et une méthode clairs : un devis qui liste les systèmes, les environnements et le type de test, plutôt qu'une offre générique.
  • Un cadre écrit : une autorisation et des règles d'engagement signées avant tout test sur des systèmes de production.
  • L'indépendance : aucun rôle dans la construction ou l'exploitation des systèmes testés. Sur smart-contract.com, la règle d'indépendance interdit déjà à une société qui développe un projet de l'auditer.

L'annuaire recense les prestataires de pentest aux côtés des cabinets d'audit, avec des filtres par blockchain et par pays. Les prestataires sont vérifiés : existence légale, pouvoir du représentant, références vérifiables et déclaration de conflit d'intérêts. Pour la partie audit, le guide pour choisir un auditeur de smart contract va plus loin.

Combien coûtent un pentest et un audit

Le site ne dispose d'aucun modèle de coût public pour les tests d'intrusion : ce guide ne donne donc aucun chiffre de pentest. Le prix dépend du nombre de systèmes, du type de test et de la profondeur demandée, et seuls des devis établis sur un périmètre précis ont un sens.

Pour l'audit de smart contract, le modèle indicatif public donne des ordres de grandeur. En urgence standard, avec des tests et une documentation partiels, un token Solidity de 300 nSLOC coûte environ 2 400 à 4 200 EUR avec un auditeur indépendant et 5 400 à 11 000 EUR avec un cabinet établi ; un protocole DeFi Solidity de 1 500 nSLOC environ 4 800 à 8 400 EUR et 15 000 à 30 000 EUR. Le réaudit ajoute environ 20 %. Testez votre cas avec le calculateur de coût d'audit et consultez le guide sur le coût d'un audit de smart contract pour le détail des paramètres.

Prévoyez deux budgets distincts. Ce sont deux missions différentes, souvent confiées à des prestataires différents, et l'une ne remplace pas l'autre.

À retenir

  • Un pentest blockchain attaque la partie hors chaîne d'un projet web3 : dApp, API, back-end, intégration des wallets, clés, cloud et nœuds.
  • L'audit de smart contract examine le code sur la chaîne ; le test d'intrusion web3 ne le remplace pas, et l'inverse est vrai aussi.
  • « Audit blockchain » et « audit crypto » peuvent désigner un audit de protocole, un audit de smart contract ou la revue de sécurité d'une entreprise : précisez-le avant de demander des devis.
  • Auditez d'abord les contrats gelés, puis testez l'application dans une configuration proche de la production.
  • Il n'existe pas de modèle public pour le prix d'un pentest ; les fourchettes d'audit viennent du modèle indicatif du site.

Questions fréquentes

Un pentest web3 est-il la même chose qu'un audit de smart contract ?

Non. L'audit de smart contract examine le code des contrats ligne à ligne pour y trouver des failles de logique, de contrôle d'accès ou de flux de fonds. Le pentest web3 simule des attaques contre les systèmes qui entourent les contrats : interface, API, back-end, intégration des wallets, clés, cloud et nœuds. Un projet doté de sa propre application et de sa propre infrastructure a généralement besoin des deux.

Faut-il un pentest si mes contrats sont audités ?

Si vos utilisateurs n'accèdent à vos contrats que par des wallets et des outils existants, l'audit peut suffire. Si vous exploitez votre propre dApp, des API, un back-end, des relais, ou si vous détenez des clés qui contrôlent le protocole, ces systèmes sont des surfaces d'attaque que l'audit n'a pas couvertes. Une interface ou une clé d'administration compromise peut causer des pertes même avec des contrats sains.

Combien coûte un pentest blockchain ?

Le site ne dispose d'aucun modèle de prix public pour les tests d'intrusion et ne donne donc pas de chiffre indicatif. Le prix dépend du nombre d'applications et de systèmes dans le périmètre, du type de test (boîte noire, grise ou blanche), de la profondeur attendue et de l'inclusion d'un nouveau test après corrections. Décrivez précisément le périmètre et comparez des devis établis sur la même base.

Que préparer avant un test d'intrusion ?

Listez les systèmes du périmètre et leurs environnements, fournissez des comptes de test et une documentation de l'architecture, désignez un contact technique disponible pendant la fenêtre de test et convenez par écrit des règles d'engagement, surtout pour la production. Évitez les changements importants pendant le test, sinon les constats risquent de ne plus correspondre à ce qui est déployé.

Le même prestataire peut-il réaliser l'audit et le pentest ?

Oui, s'il possède les deux compétences et n'a pas construit les systèmes qu'il teste. Certains cabinets proposent les deux, d'autres se spécialisent. L'essentiel est que les relecteurs soient indépendants de l'équipe qui a développé le code et l'infrastructure, et que chaque rapport indique clairement son périmètre.

Besoin d'un audit de smart contract, d'un pentest ou des deux ? Décrivez votre projet une seule fois et recevez des devis comparables de prestataires vérifiés et indépendants, gratuitement et sans engagement tant que vous n'avez pas choisi.

Décrivez votre projet une fois. Comparez en toute confiance.

Recevez des devis comparables de développeurs vérifiés, puis sécurisez votre code avec un auditeur indépendant.

Recevoir des devis

Gratuit pour les clients. Sans engagement.