Sécurité : l'analyse post-mortem d'un incident révèle ce qui a dérapé

Le 1er mai 2026, Bisq v1 a subi un incident de sécurité visant son protocole de trading. L’attaque, menée à l’aide d’un client modifié, a touché des échanges d’altcoins et causé des pertes pour 10 utilisateurs, pour un total de 11.59104 BTC. Bisq précise que Bisq 2 et le protocole Bisq Easy n’ont pas été affectés.

Sécurité : l'analyse post-mortem d'un incident révèle ce qui a dérapé

L’équipe indique que l’exploit reposait sur des contrôles de validation insuffisants dans certaines parties du protocole. Le trading a été interrompu via un mécanisme d’exécution forcée d’une version de trading inexistante, afin d’empêcher toute exploitation supplémentaire.

Des échanges d’altcoins ciblés

Selon le post-mortem, l’attaque semble avoir commencé au cours des premières heures du 1er mai 2026. L’attaquant a ciblé des offres ouvertes et manipulé des transactions à l’aide d’un client modifié, tandis que les utilisateurs de transactions fiat restaient protégés par le système de signature account age witness. Les fonds stockés dans les portefeuilles Bisq n’ont pas été directement compromis.

Bisq souligne que le périmètre de l’incident est resté limité par rapport aux scénarios les plus graves envisagés au début de l’enquête. Au total, trois traders concentrent la grande majorité des pertes.

La cause principale identifiée tient à l’absence de validation négative sur une valeur liée aux frais de mineur. Dans le protocole, le preneur définit ce paramètre et le transmet au maker ; cette valeur n’était pas vérifiée face à des nombres négatifs, ce qui a permis à l’attaquant de provoquer un calcul incorrect de la sortie multisig. L’enquête a aussi mis au jour d’autres faiblesses et cas limites, corrigés depuis, sans qu’un autre chemin d’exploit capable de voler directement des fonds ait été identifié.

Corrections et durcissement

Le projet a finalement intégré les correctifs dans la branche principale, qui contenait déjà des travaux préparés pour la version 1.9.23, devenue ensuite 1.10.0. Cette version apporte un ensemble de mesures de sécurité, dont des validations de protocole étendues, des vérifications supplémentaires des transactions et des données de trading, ainsi qu’un renforcement de la chaîne d’approvisionnement via la vérification des signatures des dépendances.

Bisq a aussi revu la sécurité de son environnement de build, mis à jour plusieurs dépendances — dont Java, JavaFX, Tor et bitcoinj — et ajouté une nouvelle infrastructure de test Docker pour le DAO et les échanges de bout en bout. Par ailleurs, des limites de précaution ont été introduites, notamment une taille maximale de trade réduite à 0.125 Bitcoin, une déviation de prix plafonnée à 25% et la désactivation de l’auto-confirmation XMR.

Enfin, une proposition de remboursement a été soumise au DAO afin de rembourser intégralement les utilisateurs touchés en Bitcoin, sous réserve d’approbation du DAO et de la confirmation d’éligibilité par les arbitres. Le texte évoque un groupe anonyme de « Refund Angels » chargé d’avancer les fonds.