Back to Blog

Wenn „SafeTransfer“ unsicher wird: Lehren aus dem QBridge-Sicherheitsvorfall

Code Auditing
28. Januar 2022
2 min read

Am 28. Januar wurde die QBridge angegriffen und Vermögenswerte im Wert von etwa 80 Millionen USD wurden gestohlen. Nach der Analyse stellten wir fest, dass die Ursache im Code die Implementierung der Funktion safeTransfer (und safeTransferFrom) ist.

Die Ursache

Erstens verwendet das Projekt nicht die bekannte OpenZeppelin SafeERC20-Bibliothek für den Token-Transfer. Stattdessen implementierten sie eine Bibliothek namens SafeToken.

Zweitens prüft die Implementierung nicht, ob das Ziel ein gültiger Vertrag ist (oder ob es sich um eine Null-Adresse handelt).

Drittens gibt der Low-Level-Aufruf der EVM nicht "false" zurück, wenn der Zielvertrag Null ist. Dies widerspricht dem gesunden Menschenverstand der Entwickler.

Natürlich gibt es für den Vorfall auch andere Gründe, z. B. dass die Null-Adresse in die Whitelist aufgenommen wurde. Wenn der Code jedoch diesen Spezialfall ordnungsgemäß behandeln würde, wäre er nicht anfällig.

Übrigens: Es gibt andere Projekte, die ähnlichen Code verwenden. Diese könnten für das gleiche Problem anfällig sein.

Experiment

Um den dritten Grund zu bestätigen, dass die VM nicht "false" zurückgibt, wenn der Zielvertrag Null ist, haben wir einen Testvertrag entwickelt, wie unten dargestellt.

Die Ausführung von TestSafeTransfer.test() wird nicht zurückgesetzt (revert).

Lektionen und wie man das Risiko mindert

Wir schlagen vor:

  • Verwenden Sie etablierte Bibliotheken, anstatt das Rad neu zu erfinden, es sei denn, Sie haben einen sehr, sehr guten Grund dafür.
  • Überprüfen Sie den Kontostand vor und nach dem Asset-Transfer, um sicherzustellen, dass die Anzahl der übertragenen Assets den Erwartungen entspricht. Dies kann auch Probleme mit Deflations- und Inflationstokens vermeiden.

Über BlockSec

BlockSec ist ein bahnbrechendes Blockchain-Sicherheitsunternehmen, das 2021 von einer Gruppe weltweit anerkannter Sicherheitsexperten gegründet wurde. Das Unternehmen engagiert sich dafür, die Sicherheit und Benutzerfreundlichkeit für die aufstrebende Web3-Welt zu verbessern, um deren Masseneinführung zu erleichtern. Zu diesem Zweck bietet BlockSec Sicherheitsaudit-Dienste für Smart Contracts und EVM-Chains, die Phalcon-Plattform für die Sicherheitsentwicklung und proaktive Bedrohungsabwehr, die MetaSleuth-Plattform für die Nachverfolgung und Untersuchung von Geldern sowie die MetaDock-Erweiterung für Web3-Entwickler an, um effizient in der Kryptowelt zu navigieren.

Bis heute hat das Unternehmen über 300 geschätzte Kunden wie MetaMask, Uniswap Foundation, Compound, Forta und PancakeSwap betreut und zweistellige Millionenbeträge in USD in zwei Finanzierungsrunden von namhaften Investoren erhalten, darunter Matrix Partners, Vitalbridge Capital und Fenbushi Capital.

Offizielle Website: https://blocksec.com/

Offizieller Twitter-Account: https://twitter.com/BlockSecTeam

Sign up for the latest updates
Verluste von rund 3,87 Millionen USD: Hacks bei Autheo Network und UNCX | BlockSec Weekly
Security Insights

Verluste von rund 3,87 Millionen USD: Hacks bei Autheo Network und UNCX | BlockSec Weekly

Dieser Wochenbericht behandelt 3 Sicherheitsvorfälle im Zeitraum 12.10.2026–18.10.2026 mit einem geschätzten Gesamtschaden von etwa 3,87 Millionen USD. Bei Autheo Network wurde ein privater Schlüssel kompromittiert; der Schaden betrug rund 1,76 Millionen USD. Qubic Wallet verlor aufgrund einer schwachen Seed-Generierung rund 1,30 Millionen USD. Bei den Smart Token Vesting V2-Verträgen von UNCX Network führte ein Buchführungsfehler auf Ethereum, BNB Chain, Base und Robinhood Chain zu einem Schaden von rund 807 Tausend USD. Die hervorgehobene Analyse zu UNCX erklärt, wie eine fehlerhafte Berechnung der Gesamtanteile Vesting-Tranchen zusammenführte, die mit unterschiedlichen Token-zu-Anteil-Verhältnissen erstellt worden waren, und dadurch überhöhte Entnahmen aus gemeinsamen Pools ermöglichte.

Rund 542.000 $ verloren: MakerDaoBot-Exploit | BlockSec Wochenrückblick
Security Insights

Rund 542.000 $ verloren: MakerDaoBot-Exploit | BlockSec Wochenrückblick

Ethereum, 5.–11.10.2026: 1 Vorfall, ca. 542.000 $ Verlust. Über eine ungeschützte MakerDaoBot-Funktion erhielt ein bösartiger Adapter Zugriff auf Bot-Guthaben, wickelte 4 ETH-A-Auktionen ab und tauschte 200 ETH-A in WETH; 200 ETH gingen an den Angreifer.

~418 Mio. $ verloren: Bitget- und NEAR-Intents-Exploits | BlockSec Weekly
Security Insights

~418 Mio. $ verloren: Bitget- und NEAR-Intents-Exploits | BlockSec Weekly

Dieser 14-tägige Sicherheitsbericht (21.9.–4.10.26) erfasst 8 Vorfälle mit ca. 418,4 Mio. USD Verlust auf Ethereum, BNB Chain, Solana u.a. Bitget: 387,5 Mio. USD Lücke in Drittprodukt. NEAR Intents: 3,87 Mio. USD Rückerstattungsfehler, fehlender Rollback

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit