Back to Blog

Telcoinセキュリティインシデントの事後分析と詳細解説

Code Auditing
January 10, 2024
8 min read

2023年12月25日、当社の監視システムはTelcoinを標的とした一連の悪意あるアクティビティを検出しました。当社はTelcoinチームのウォレットコントラクトの不適切な初期化が根本原因であることを特定するのを支援しました。これは、ウォレットの実際のインプリメンテーションとその対応するプロキシとの間の不整合から生じました。本レポートは、インシデントを完全に理解するための徹底的な分析を提供することを目的としています。

0x0:基本設計

脆弱性を調べる前に、まず関連するスマートコントラクト間の関係を理解することが重要です。本質的に、これらはCloneFactory、CloneableProxy、BeaconProxyパターンの組み合わせに抽象化でき、次の図に示されています。

0x1:脆弱性分析

脆弱性はウォレットコントラクトの不適切な初期化に起因しており、これはウォレットの実際のインプリメンテーションとその対応するプロキシとの間の不一致によるものです。具体的には、初期化プロセス中に、プロキシはストレージ場所の最下位ビットに書き込むことにより、ストレージスロット0をゼロ以外の状態に初期化しました。その後、ウォレットコードもストレージスロット0に書き込み、最下位ビットのプロキシの初期値を上書きしました。この問題は、スマートコントラクトのいずれかの固有の脆弱性に起因するものではなく、むしろ両者の相互作用によるものです。

以下に、提供されているトランザクショントレースに基づいて詳細を説明します。

具体的には、CloneableProxy:Proxy.initialize()関数内で、Wallet.initialize()関数を呼び出すdelegatecallがあります。この呼び出しは、CloneableProxy:Implementation.initialize()関数へのdelegatecallを介して行われます。その結果、Wallet.initialize()関数によって行われたストレージへのあらゆる変更は、CloneableProxy:Proxyコントラクトのストレージに反映されます。

その影響を完全に理解するには、CloneableProxy:Proxyコントラクトのストレージレイアウトを調べる必要があります。このコントラクトの定義は次のように概説されています。

ProxyもERC1967Upgradeもストレージ変数を持っていないため、スロット0はInitializableコントラクトから継承された2つのストレージ変数、_initializedと_initializingの両方に使用されます。

次に、Walletコントラクトを調べましょう。Wallet.initialize()関数内では、スロット0xaaが初期化フラグとして使用されていることは明らかです。これは、行3-4および11-12の次のコードスニペットによって強調されています。

行21に示すように、スロット0は、関数セレクタの後のcalldataから次の32バイトを格納する_stateに割り当てられています。詳細については、Walletコントラクトの冒頭のコメントを参照してください。

スロット0の使用に関して、明確な不一致があります。CloneableProxy:Proxyコントラクトはそれを初期化フラグとして解釈しますが、Wallet:initialize()関数はそれをウォレットの状態として扱います。

その結果、初期化プロセスの後、スロット0の最下位2バイトはゼロにリセットされます。これにより、_initializedと_initializingの両方がゼロに設定されます。その結果、CloneableProxy:Proxyコントラクトは、initializer修飾子の保護を回避できるため、initialize()関数を介した再初期化に対して脆弱になります。

明らかに、悪用の可能性はウォレットの状態に依存します。ゼロ以外の値に更新されると、ウォレットの状態はこれ以上のコントラクトの再初期化を防ぎます。初期化後、ウォレットの状態はトランザクションごとに更新されるため、スロット0の最下位2バイトがゼロ以外になる可能性が高まり、これによりウォレットは再初期化から効果的に保護されます。これが、脆弱なウォレットの大部分がトランザクション履歴がほとんどないかまったくないため、攻撃にさらされていた理由を説明しています。

0x2:攻撃分析

攻撃者は、脆弱なCloneableProxy:Proxyコントラクトを再初期化してBeaconコントラクトのアドレスを変更することから始めました。その後、攻撃者は以下に詳述するように、CloneableProxy:Proxyコントラクトに含まれる資産を転送しました。

複数の脆弱なコントラクトが単一のトランザクションで侵害され、攻撃者はこの戦略を繰り返し実行したことに注意してください。

0x3:攻撃の概要

6つの異なるアカウントによって実行された合計4,958件の攻撃が観察されました。

0x4:修正と推奨事項

当社の調査により、中心的な問題はストレージスロット0の一貫性のない使用に起因し、脆弱なコントラクトの再初期化の可能性につながることが明らかになりました。明らかに、修正にはストレージ割り当ての慎重な管理が含まれます。

このインシデントから、いくつかの重要な洞察を得ました。

  • インラインアセンブリでストレージスロットを操作する際は、細心の注意を払ってください。エラーは重大な脆弱性につながる可能性があります。

  • コントラクトのステータスを注意深く監視してください。迅速に対応できるかどうかは、タイムリーなアラートの受信にかかっています。

  • コントラクト内に一時停止メカニズムを実装し、侵害が検出された場合にアクティビティを即座に停止できるようにします。

さらに、このインシデントにはさまざまなウォレットコントラクトを標的とした複数の攻撃トランザクションが関与していたという事実は、Phalconのような脅威監視および攻撃ブロックソリューションの差し迫った必要性を浮き彫りにしています。このようなツールは、将来のリスクを軽減し、潜在的な損失から保護するために不可欠です。

0x5:イベントのタイムライン

午前9時23分(太平洋標準時)、12月25日:当社のシステムは、Polygonネットワークで最初のエラートランザクションを検出しました。

午前10時28分(太平洋標準時)、12月25日:Telcoinサポートチームが内部コミュニケーションチャネルでインシデントを報告しました。

午前10時32分〜午前10時37分(太平洋標準時)、12月25日:TelcoinチームメンバーがTelcoin Discordコミュニティに通知し、関連する主要チームメンバー全員との緊急電話会議を作成しました。

午前10時45分(太平洋標準時)、12月25日:Webアプリケーションファイアウォールルールが実装され、Telcoinインフラストラクチャへのすべてのアクセスが制限されました。

午前11時02分(太平洋標準時)、12月25日:TelcoinチームはSeal 911との交渉を開始しました。

午前11時11分(太平洋標準時)、12月25日:Telcoinチームと他のセキュリティメンバーによって、根本原因を特定し、攻撃をブロックするための潜在的なソリューションを議論するためのウォー・ルームが設置されました。

午後1時14分(太平洋標準時)、12月25日:TelcoinチームはX(Twitter)を通じてユーザーにアラートを公開しました。

午後3時39分(太平洋標準時)、12月25日:TelcoinはChainalysis & Slowmistに連絡し、盗難された資金の調査に協力し、盗難されたウォレットとアドレスを特定して取引所に共有しました。

午後10時35分(太平洋標準時)、12月25日:Telcoinチームからの招待を受けて、当社はウォー・ルームに参加し、分析を共有して根本原因を特定しました。

午後11時00分(太平洋標準時)、12月25日〜午前2時06分(太平洋標準時)、12月26日:根本原因を特定した後、Telcoinチームは、安全に実装された新しいビーコンと一致するようにウォレットプロキシを再初期化することによって、緩和戦略を策定しました。このエクスプロイトは一度きりの機会であったため、Telcoinはウォレット構成を事前に更新でき、攻撃者がこれらの脆弱性をさらに悪用する能力を無効にできます。

午前2時07分(太平洋標準時)、12月26日〜午前2時14分(太平洋標準時)、12月26日:Telcoinチームは、包括的なカバレッジを確保するために、以前に侵害されていなかったすべてのウォレットに緩和プロセスを実装しました。迅速かつ効率的な展開のために、プロセスは厳密に定義された時間枠内でバッチで実行されました。その後、Telcoinは、影響を受けたすべてのウォレットの完全な復旧とすべてのウォレットの永続的な修正のための修復計画の準備と内部テストを開始しました。

午後4時52分(太平洋標準時)、12月26日:Telcoinと当社チームは、次のトピックについて協議を開始しました。

  • インシデントの概要

  • イベントのタイムライン:インシデントの経緯を時系列で記録したもの。

  • 根本原因分析:インシデントの根本原因の詳細な分析。

  • 改善のための推奨事項

  • コード監査

午後12時27分(太平洋標準時)、12月29日:数回の協議の後、当社はTelcoinチームと協力して、事後分析レポートの作成と修復の監査を開始しました。

2024年1月3日:事後分析のドラフトが提供されました。

2024年1月4日:特定された問題と推奨事項を含む当社の監査結果が提示されました。

1月4日~1月10日:当社はTelcoinチームと協力して事後分析を最終決定し、修正を確認しました。

また、12月25日から現在に至るまで、Telcoinはインシデントに関してブロックチェーン調査会社および法執行機関と緊密に連携して積極的に取り組んできたことも注目に値します。

BlockSecについて

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

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

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

X(Twitter):@BlockSec @Phalcon

Sign up for the latest updates
~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly
Security Insights

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly

This BlockSec weekly security report covers eight attack incidents detected between April 20 and April 26, 2026, across Ethereum, Avalanche, Sui, Base, HyperLiquid, and MegaETH, with total estimated losses of approximately $7.04M. The highlighted incident is the $1.3M GiddyDefi exploit, where the attacker did not break any cryptography or use a flash loan but simply replayed an existing on-chain EIP-712 signature with the unsigned `aggregator` and `fromToken` fields swapped out for a malicious contract, demonstrating how partial signature coverage turns any historical signature into a generic permit. Other incidents include a $3.5M Volo Vault operator key compromise on Sui, a $1.5M Purrlend privileged-role takeover, a $413K SingularityFinance oracle misconfiguration, a $142.7K Scallop cross-pool index injection, a $72.35K Kipseli Router decimal mismatch, a $50.7K REVLoans (Juicebox) accounting pollution, and a $64K Custom Rebalancer arbitrary-call exploit.

The Decentralization Dilemma: Cascading Risk and Emergency Power in the KelpDAO Crisis
Security Insights

The Decentralization Dilemma: Cascading Risk and Emergency Power in the KelpDAO Crisis

This BlockSec deep-dive analyzes the KelpDAO $290M rsETH cross-chain bridge exploit (April 18, 2026), attributed to the Lazarus Group, tracing a causal chain across three layers: how a single-point DVN dependency enabled the attack, how DeFi composability cascaded the damage through Aave V3 lending markets to freeze WETH liquidity exceeding $6.7B across Ethereum, Arbitrum, Base, Mantle, and Linea, and how the crisis forced decentralized governance to exercise centralized emergency powers. The article examines three parameters that shaped the cascade's severity (LTV, pool depth, and cross-chain deployment count) and provides an exclusive technical breakdown of Arbitrum Security Council's forced state transition, an atomic contract upgrade that moved 30,766 ETH without the holder's signature.

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026

This BlockSec weekly security report covers four attack incidents detected between April 13 and April 19, 2026, across multiple chains such as Ethereum, Unichain, Arbitrum, and NEAR, with total estimated losses of approximately $310M. The highlighted incident is the $290M KelpDAO rsETH bridge exploit, where an attacker poisoned the RPC infrastructure of the sole LayerZero DVN to fabricate a cross-chain message, triggering a cascading WETH freeze across five chains and an Arbitrum Security Council forced state transition that raises questions about the actual trust boundaries of decentralized systems. Other incidents include a $242K MMR proof forgery on Hyperbridge, a $1.5M signed integer abuse on Dango, and an $18.4M circular swap path exploit on Rhea Finance's Burrowland protocol.

Best Security Auditor for Web3

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

BlockSec Audit