Back to Blog

「セーフミント」が危険に:HypeBearsセキュリティインシデントから学ぶ教訓

Code Auditing
February 3, 2022
2 min read

2月3日午前(+8時差)、当社のシステムは、HypeBears NFTコントラクトに対する攻撃トランザクション 0xfa97c3476aa8aeac662dae0cc3f0d3da48472ff4e7c55d0e305901ec37a2f704 を報告しました。調査の結果、ERC721の_safeMint関数によって引き起こされたリエントランシー攻撃であることが判明しました。

原因

このプロジェクトでは、アカウントがミントできるNFTに制限があります。基本的に、アカウントがNFTをミントしたかどうかを記録するaddressMintedというマップがあります。

NFTをミントする際、コードはOZリファレンス実装の_safeMint関数を使用しています。この関数は、受信者がERC721トークンを受け取れるかどうかをチェックするため「安全」です。これにより、ERC721トークンを処理できないコントラクトにNFTがミントされるケースを防ぐことができます。 ドキュメントによると:

to がスマートコントラクトを参照する場合、IERC721Receiver.onERC721Received を実装する必要があり、これはセーフ転送時に呼び出されます。以下のコードは、_safeMint関数のOZ実装を示しています。

しかし、この外部関数呼び出しはセキュリティ上の抜け穴を生み出します。具体的には、攻撃者はonERC721Receivedコールバック内で再入可能呼び出しを実行できます。例えば、脆弱なHypeBearsコントラクトでは、攻撃者はonERC721ReceivedコールバックでmintNFT関数を再度呼び出すことができます(addressMintedがまだ更新されていないため)。

攻撃

以下のスクリーンショットは、攻撃トランザクションを示しています。

学び

SafeMintによるリスクは、セキュリティ研究者によって議論されてきました。link1 link2。しかし、脆弱なコードと実際の攻撃を依然として目にします。QBridgeセキュリティインシデントsafeTransferで示されているように、「安全な」関数を使用しても「安全な」コントラクトが保証されるわけではありません😃。

Sign up for the latest updates
〜1800万ドルの損失:jaredFromSubway、Aztecなど|BlockSecウィークリー
Security Insights

〜1800万ドルの損失:jaredFromSubway、Aztecなど|BlockSecウィークリー

ブロックチェーンセキュリティ週次レポート(2026年6月15日〜21日):EthereumとBNB Chainで3件の重大インシデントが発生し、総損失約1830万ドル。注目のjaredFromSubway事件では、MEVボットが裁定取引のために自身の資産を未検証の第三者コントラクトに承認するという逆承認攻撃が判明。攻撃者は実イベントを発行しながら承認を消費しない偽トークンとプールを構築し、損失は約1500万ドル。またAztecでは3日間で2度目の攻撃が発生、エスケープハッチZK回路でold_data_rootの等価制約欠如を悪用し、偽マークルツリーに対するノート所有権の証明が可能となった。

Web3コンパニオン:オープンソースのセキュアなエージェント型ウォレット

Web3コンパニオン:オープンソースのセキュアなエージェント型ウォレット

BlockSecがWeb3 Companionをオープンソース化。セキュリティ優先のエージェント型ウォレットで、自社AIエージェントを非信頼として扱い、キー分離・厳格なポリシー・Passkeyでオンチェーン資産を保護する。

〜598万ドルの損失:Aztec、Raydiumなど|BlockSec週次レポート
Security Insights

〜598万ドルの損失:Aztec、Raydiumなど|BlockSec週次レポート

週次ブロックチェーンセキュリティレポート(2026年6月8日〜15日)では、EthereumとSolanaで4件の重大インシデントを分析し、総損失は約598万ドル。Aztec Connectでは入力検証の欠如によりロールアップの証明経路とL1決済が不整合に。RaydiumではレガシーAMM v3の検証不備でLPトークン償還計算が操作され4プールが流出。両脆弱性は悪用前から数年間存在。入力検証不備、整数オーバーフロー、ガバナンス乗っ取りも検証。

Best Security Auditor for Web3

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

BlockSec Audit