Florent のホワイトハットが HongCoin ICO の 200 万ドルを解凍し、ハッカーは契約を 9 年間見落としていた

ETH-0.96%

HongCoin ICO資金解凍

安全研究員のFlorent氏は5月31日、The Blockでの確認を通じて、同氏が約1,003枚のETH(約200万ドル)を取り戻すのに協力したことを明らかにした。これらのETHは2016年のHongCoin ICOコントラクトに長期間(9年もの間)ロックされていた。報道時点ではすでに2名の投資家が合計96.5枚のETHを受け取り、白帽の報奨としてFlorent氏に自発的に支払っている。

整数オーバーフローの脆弱性が発生する技術的な原因と解決策

Florent氏はThe Blockでの確認として、HongCoinコントラクトは旧バージョンのSolidityでデプロイされており、整数オーバーフローを防ぐ保護策が欠けていたこと(後にSafeMathライブラリによって修正された)を挙げた。返金機能は、グローバルのカウンタを超えるトークン残高を持つ保有者を拒否する。長年にわたる部分的な返金によりカウンタが356まで下がってしまった結果、返金上限は3.56 ETH(約7,000ドル)にしかならず、多くの保有者の残高はこの値をはるかに上回っていた。

Florent氏の確認する解決策は、HongCoinチームの管理機能を利用することだ。この機能は本来、賞金トークンの鋳造に用いられていたが、特定の入力値で呼び出すと、オーバーフロー保護がないため保有者残高が1にリセットされ、返金の検査がすぐに通る。その結果、ロックされていたETHが解放される。

片面的な攻撃ではない:HongCoinチームが自ら署名して解錠取引を実行

Florent氏は、これが一方的なハッキングではないことを確認した。同氏はまずHongCoinチームに電子メールを送付し、Foundryのメインネット分岐上で操作シーケンス(序数)を検証した。その後、HongCoinチーム自身が解錠取引に署名した。最初のメールを送ってから一連の完了まで、約1週間を要した。残高のリセットが必要な保有者は41名で、これは約1,000枚の実際に凍結されていたETHに相当する。残りの7名は直接返金できる。チームは合計で41件の取引に署名した。

Florent氏は、ハッカーが以前この契約を無視していた理由は「契約内に、ハッカーが資金を盗み取れるような所有権の脆弱性が存在しないためであり、いかなる攻撃の結果もイーサリアムが元の投資家に返されるだけだ」という点だと確認している。つまり、ハッカーにとっては利益を得る余地がない。

確認の方法論:スキャナーとClaude Codeの既知の限界

Florent氏は、自身で管理するイーサリアムノードを立て、スキャナーを動かして、100枚超のETHを保有しているコントラクトをマークし、その後に1つずつ絞り込んだことを確認した。Florent氏はClaude Codeを使ってコントラクトの並べ替えとクラスタリングを加速したが、AIには具体的なスマートコントラクトの脆弱性を分析する際の限界があるとしている。引用すると、「AIはしばしば、これまでそのコントラクトがまだ解読(クラック)されていないという事実の影響を受けるため、『これは解読できない』と何も考えずにデフォルトで判断してしまいがちで、それは往々にして誤りだ」という。

5月24日の確認

Florent氏は5月24日に、さらに以前から2つの古いコントラクトから19.329枚のETH(約40,590ドル)を回収していたことも確認した。これには2018年に失敗したICOコントラクトや、2024年にLiqualityがアプリを停止した後のユーザー資金が含まれている。

よくある質問

HongCoinコントラクトの整数オーバーフローの脆弱性は、なぜ資金が9年もの間ロックされる原因になったのか?

Florent氏の確認によると、返金関数は保有者のトークン残高がグローバルなカウンタを超えないことを要求していた。長年にわたる部分的な返金によってカウンタが356まで下がり、最大返金額も3.56 ETHにまで引き下げられた。一方で大多数の保有者の残高はこの値を大きく上回っていた。旧版のSolidityには整数オーバーフローの保護がなく、これが根本的な技術原因であり、SafeMathライブラリによって後にこの問題が修正された。

なぜ先にハッカーは、この大量のETHを保有しているコントラクトを攻撃しなかったのか?

Florent氏の確認によると、攻撃者が資金を盗み取るための所有権の脆弱性は契約内に存在しない。いかなる攻撃をしてもETHが元の投資家に返還されることが唯一の結果であり、ハッカー側に利益を得る余地がないため、攻撃動機がなかった。

今回のホワイトハット活動でClaude Codeはどのように使われ、AIにはどんな限界があるのか?

Florent氏はClaude Codeを使ってコントラクトの並べ替えとクラスタリングを加速したことを確認している。一方で、AIはスマートコントラクトの脆弱性の分析において限界があり、「そのコントラクトがこれまで解読されていない」という事実の影響を受けて『解読できない』と誤ってデフォルトで判断してしまいがちだと指摘している。

免責事項:本ページの情報には第三者提供の内容が含まれる場合があり、参考目的のみで提供されています。これらはGateの見解や意見を示すものではなく、金融、投資、または法律上の助言を構成するものでもありません。暗号資産取引には高いリスクが伴います。意思決定を行う際には、本ページの情報のみに依存しないでください。詳細については、免責事項をご確認ください。
コメント
0/400
コメントなし