Back to Blog

TransitSwap(およびBabySwap)の盗難資金回収方法

Code Auditing
October 10, 2022

10月1日、BSC上のBabySwapとTransitSwapが攻撃を受けました。一部の攻撃トランザクションは、Botによってフロントランされました。興味深いことに、このBotはprofanityツール脆弱性に対して脆弱であり、私たちはその秘密鍵を正常に回収しました。また、Botコントラクトをリバースエンジニアリングし、Botコントラクトから安全なアカウントに資金を引き出すことに成功しました。資金はTransitSwapに送金済みで、現在BabySwapとの連携を進めている段階です。

BabySwapへの攻撃の検知

2022年10月1日 14:47 (UTC) に、当社の内部システムが攻撃トランザクションを報告しました。その後の分析により、これはスマートルーターコントラクト内の制御されたファクトリーが原因であることが判明しました。しかし、プロジェクトがまだ脆弱であったため、当時は詳細を公開しませんでした。Twitter DMとTGを通じてBabySwapに連絡しましたが、返答はありませんでした。

調査中、このトランザクションはBotアカウントによって発行されたものであり、元の攻撃トランザクションをフロントランしていたことが判明しました。また、このアカウントは8つのゼロで始まるパターンを持っており、profanityツールによって生成されたように見え、profanityツール脆弱性に対して脆弱です。

Botの秘密鍵の回収

2022年10月1日 16:10 (UTC) に、当社のツールは約20分でこのBotの秘密鍵を正常に回収しました。回収した秘密鍵については、資金を安全なアカウントに送金しました(これが当社の救済における典型的なプロセスです)。そうでなければ、秘密鍵を回収した他の者がアカウントを乗っ取り、アカウント内の資金が危険にさらされる可能性があります。

Botからの資金の引き出し

課題は、資金がBotのEOAアカウント自体ではなく、Botがデプロイしたコントラクト内にあることです。資金をどのように引き出すかが課題でした。

コントラクトを逆コンパイルしたところ、コントラクト内に(以下の図に示すように)withdraw関数があることがわかりました。

この関数は、コントラクト内の資金を引き出すために利用できます。最初の引数はトークンアドレス、2番目の引数はゼロであるべきです。

トランザクションを送信し、コントラクトからBotへ正常に資金を引き出し、その後安全なアカウントへ資金を移動しました。

さらなる攻撃が発生!

数時間後、当社のシステムはTransSwapに対する別の攻撃を報告しました。異なるアドレスからの複数の攻撃トランザクションがあり、1つのトランザクションは再びこのBotによってフロントランされました!しかし、Botがデプロイしたコントラクトは異なるものであるため、資金を引き出すための関数も異なります。

資金の返還

内部で協議した結果、以下の理由により、Botではなく攻撃されたプロジェクトに資金を返還することを決定しました。

  • 第一に、資金はBotが脆弱なコントラクトへの攻撃によって取得したものです。Botは攻撃トランザクションをフロントランした(最初に攻撃を開始したわけではない)ものの、攻撃トランザクションのフロントランも攻撃であると考えています。
  • 第二に、資金は攻撃の被害者、すなわち影響を受けたDeFiプロトコルのユーザーに属します。ユーザーはDeFiプロトコルの脆弱性により多大な被害を受けました。彼らは攻撃者からの資金を受け取るべきです。

資金をTransitFinanceの公式資金受取アドレスに送金し、BabySwapに連絡しています

救済のアップデート

私たちはまだ脆弱なアドレスの救済プロセスを進めています。課題は、秘密鍵を回収するまでアドレスが脆弱かどうかを判断できないことです。最適化されたアルゴリズムがあっても、計算能力の限界から、救済を完了するにはまだ時間がかかります。後日、プロセス全体について詳細なレポートを公開し、以下の質問に回答します。

  • 脆弱なアドレスはいくつありますか?
  • 脆弱性の影響はどの程度ですか?つまり、脆弱性によりどれだけの資産がリスクにさらされていますか?
  • この脆弱性に対する攻撃の全体的な状況はどうなっていますか?

続報にご期待ください。安全にお過ごしください。

BlockSecについて

BlockSecは、2021年に世界的に著名なセキュリティ専門家グループによって設立された、先駆的なブロックチェーンセキュリティ企業です。当社は、Web3の世界のセキュリティとユーザビリティを向上させ、その大規模な普及を促進することに専念しています。この目的のため、BlockSecはスマートコントラクトおよびEVMチェーンのセキュリティ監査サービス、セキュリティ開発と脅威のプロアクティブなブロックのためのPhalconプラットフォーム、資金追跡と調査のためのMetaSleuthプラットフォーム、およびWeb3ビルダーが効率的に仮想通貨の世界をサーフィンするためのMetaSuites拡張機能を提供しています。

今日まで、当社はMetaMask、Uniswap Foundation、Compound、Forta、PancakeSwapなど300社以上の著名なクライアントにサービスを提供し、Matrix Partners、Vitalbridge Capital、Fenbushi Capitalなどの著名な投資家から2回の資金調達で数千万米ドルを受け取っています。

公式ウェブサイト: https://blocksec.com/

公式Twitterアカウント: https://twitter.com/BlockSecTeam

Sign up for the latest updates
〜80万ドルの損失:HinkalのDouble-Spend攻撃 | BlockSec週次レポート
Security Insights

〜80万ドルの損失:HinkalのDouble-Spend攻撃 | BlockSec週次レポート

2026年6月29日〜7月5日の週次セキュリティレポートでは、Ethereumで約80万ドルの損失をもたらした1件の重大インシデントを取り上げます。Hinkalのシールドプールプロトコルが二重支払い攻撃により流出。旧ノート形式の欠陥を悪用し、単一デポジットから複数のnullifierを導出したと見られます。回路レベルの脆弱性、攻撃フロー、nullifierベースのプライバシープロトコルへの影響を分析します。

ニュースレター - 2026年6月
Security Insights

ニュースレター - 2026年6月

本月報は2026年6月の主要セキュリティインシデント3件を対象とし、確認済み損失総額は約2,200万ドルです。高度なハニーポット攻撃がトークン許可の未検証を悪用し、JaredFromSubwayのMEVボットから約1,500万ドルを流出。旧型Aztecロールアップ2件はプルーフ決済の境界ギャップにより約435万ドルを損失。SecondFiのEd25519実装欠陥により374ウォレットの秘密鍵が露出し約240万ドルが流出。3件に共通するのは、表面上は保たれているように見えたセキュリティ保証が実際には機能していなかった点です。

約400万ドルの損失:TaikoとSecondFiのエクスプロイト|BlockSec週次レポート
Security Insights

約400万ドルの損失:TaikoとSecondFiのエクスプロイト|BlockSec週次レポート

2026年6月22〜28日のブロックチェーンセキュリティ報告:EthereumとCardanoで約410万ドルの損失を確認。Taikoブリッジ攻撃はSGX署名鍵の露出と不完全なアテステーションポリシーを悪用し、悪意のあるプルーバー登録とL2状態証明の偽造を可能にした。SecondFiはEd25519ナンス導出の欠陥により、公開Cardanoトランザクションから秘密鍵の復元が可能となった。

Best Security Auditor for Web3

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

BlockSec Audit