Sécurité et transparence
Ton argent est dans un contrat que tu peux lire
Quand tu achètes sur Bernuvia, Bernuvia ne garde pas ton USDC : il reste dans un contrat public sur Polygon jusqu'à la clôture de l'achat. Voici les adresses, ce que le contrat garantit, l'audit qu'il a passé, et celui qu'il n'a pas encore passé, et comment nous prévenir si tu trouves une faille.
Les contrats
Tout tourne sur le réseau principal de Polygon (chain id 137). Chaque adresse renvoie à l'explorateur : tu peux y lire le code et chaque transaction.
Contrat de séquestre · MarketplaceEscrow
Code vérifiéReçoit le paiement de l'acheteur et le retient jusqu'à ce qu'il soit libéré au vendeur ou remboursé. C'est le seul endroit où se trouve l'argent d'un achat.
Code source vérifié sur Polygonscan (correspondance exacte). Solidity 0.8.24, optimiseur à 200 passes, construit sur OpenZeppelin : AccessControl, ReentrancyGuard, Pausable, SafeERC20 et EIP-712.
Adresse 0x33C6eFD7523821c2AB51d874e440Ac8A0C97f409
Prélèvement de l'abonnement · SubscriptionCollector
Code vérifiéPrélève l'abonnement vendeur en USDC avec des limites fixées sur la chaîne : le vendeur fixe un prix maximum et une période, et l'opérateur ne peut prélever que jusqu'à ce maximum, une fois par période et toujours vers la trésorerie. Changer la trésorerie prend 48 heures.
Code source vérifié sur Polygonscan (correspondance exacte, licence MIT). Il vit dans le même dépôt que le contrat de séquestre, avec le même compilateur et la même base OpenZeppelin.
Adresse 0x3860f37D6066AF02811b24FE66D0bd00F693AD21
USDC · Circle
Contrat tiersLa monnaie de tous les achats : l'USDC natif de Circle sur Polygon. Ce n'est pas un contrat de Bernuvia.
Adresse 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359
Ce que garantit le contrat de séquestre
Ces règles ne sont pas appliquées par un serveur de Bernuvia : elles sont écrites dans le contrat, et n'importe qui peut les vérifier dans le code vérifié.
L'argent ne passe jamais par Bernuvia
L'USDC va du wallet de l'acheteur directement dans le contrat. Bernuvia ne le détient à aucun moment.
Seulement deux sorties
L'argent d'un achat ne peut qu'être libéré au vendeur ou remboursé à l'acheteur. Il n'y a pas de troisième voie.
Chacun retire ce qui est à lui
Les paiements sont crédités et chaque partie les retire quand elle veut. Une adresse bloquée ne peut pas bloquer les encaissements des autres.
Le litige, avant la libération
Un litige ne peut être ouvert qu'avant l'échéance de la libération automatique : personne ne peut rouvrir un achat déjà clôturé.
Un litige ne reste pas en suspens
Si un litige reste 30 jours sans résolution, n'importe qui peut le clôturer et le contrat rembourse la totalité à l'acheteur.
La commission est plafonnée sur la chaîne
Le maximum de commission est gouverné dans le contrat, et chaque devis doit rester sous ce plafond.
Des délais bornés
La fenêtre de libération automatique est limitée dans le contrat entre 1 heure et 365 jours ; l'acheteur et le vendeur ne peuvent jamais être la même adresse.
Des devis signés et à usage unique
Chaque prix est signé en EIP-712 et ne sert qu'une fois. La revue n'a trouvé aucune voie pour voler le principal ni réutiliser une signature.
Audit
Le contrat de séquestre a passé un audit interne adversarial avant de sortir sur le réseau principal. Voici exactement ce qui a été fait et ce qui a été trouvé.
Méthode
- Trois revues adversariales indépendantes, chacune avec son angle : fonds et réentrance ; contrôle d'accès et signatures ; machine à états et griefing.
- Analyse statique avec Slither 0.11.5.
- Un invariant de conservation des fonds vérifié sur 250 opérations aléatoires.
- 18 tests Hardhat, avec un test de régression pour chaque constat.
Constats
9 constats : 1 critique, 1 élevé, 3 moyens, 2 faibles et 2 informatifs. Tous les critiques, élevés et moyens ont été corrigés avant le déploiement sur le réseau principal ; les 2 faibles ont été atténués opérationnellement.
Le contrat de prélèvement de l'abonnement a passé sa propre revue interne : 15 tests et 7 constats, tous corrigés ou acceptés avec justification.
Sécurité de la plateforme
Hors chaîne, ce qui protège ton compte et tes téléchargements.
- Vérification en deux étapes, et un code supplémentaire pour les actions sensibles : un retrait exige ta signature et un code envoyé à ton e-mail.
- Les jetons du MCP et de l'API ont des permissions limitées : ils ne peuvent jamais signer un paiement, retirer des fonds ni modifier le compte.
- La trésorerie est un wallet multisignature.
- Les sessions expirent après inactivité.
- Des en-têtes de sécurité sur chaque réponse : CSP avec nonce par requête, COOP et CORP.
- Chaque téléchargement porte sa somme de contrôle SHA-256.
Signaler une vulnérabilité
Si tu trouves une faille de sécurité, nous voulons le savoir avant tout le monde. Voici comment :
Écris-nous via le formulaire de contact
Mets « Sécurité » en objet et raconte ce que tu as trouvé, comment le reproduire et quel est l'impact.
Si tu as un compte, utilise le signalement de bug du panneau
Le bouton « Signaler un problème » du panneau arrive à la même équipe et reste lié à ton compte.
Laisse-nous le temps de corriger
Nous confirmons la réception et te disons quand c'est corrigé. Nous te demandons de ne rien publier avant.

