🔥 Gate.ioポストアンバサダーエクスクルーシブポスティングベネフィットタスクがフルスイング中!!!
1月20日から1月26日まで、投稿品質レベルに基づいて、毎日投稿して週に$1,000の報酬を獲得しましょう!
👉 投稿の品質レベルに基づいて$1,000の報酬を投稿して共有する!
今すぐ登録: https://www.gate.io/questionnaire/5902 (1月20日16:00 UTC終了)
🎁 報酬:
1️⃣ Sレベル週間ランキング報酬:
週7日間すべての投稿を毎日完了し、全体的な投稿品質スコアが90を超えると、Sレベルを達成できます。
最高品質のコンテンツを持つトップ5のアンバサダーは、それぞれ$20ポイントと$20の先物引換券を受け取ります。
2️⃣ A/B/C レベル報酬プール
報酬は投稿数と投稿品質の評価に基づいて配布されます:
> Aレベル:週7日投稿し、品質スコアが80〜90の間で共有される$200ポイントと$160フューチャーズバウチャープール。
> B レベル: 1 週間に 5 日以上投稿し、品質スコアが 60〜80 の間で、$120 ポイントと $120 先物バウチャーを共有します。
> Cレベル:週に少なくとも3日、品質スコアが40〜60で投稿し、$80のポイントと$120の先物バウチャーを共有します。
📍 ルール:
- 報酬の対象
Web3 セキュリティ警告丨チェーン内の新しいゲーム、大規模な Rug Pull 方式の復号化
最近、**CertiK セキュリティ専門家チームは、一般にラグ プルとして知られる、同じ戦術を用いた複数の「出口詐欺」**を頻繁に検出しました。
私たちが徹底的に調査した結果、同じ手口による複数のインシデントが同じギャングを指しており、最終的には 200 件を超えるトークン出口詐欺に関連していることがわかりました。これは、「出口詐欺」を通じて資産を収集する大規模な自動ハッキング チームを発見した可能性があることを示しています。
これらの出口詐欺では、攻撃者は新しい ERC20 トークンを作成し、作成時に事前にマイニングされたトークンに一定量の WETH を加えた Uniswap V2 流動性プールを作成します。
チェーン上の新しいロボットまたはユーザーが流動性プール内の新しいトークンを一定回数購入すると、攻撃者は何もないところから生成されたトークンを使用して、流動性プール内のすべての WETH を使い果たします。
攻撃者がどこからともなく取得したトークンは、総供給量 (totalSupply) に反映されず、Transfer イベントもトリガーされないため、etherscan では見ることができず、外部から認識することが困難です。
攻撃者は隠蔽を考慮するだけでなく、基本的な技術スキルを持ち、イーサスキャンを読み取ることができるユーザーを麻痺させ、小さな問題を利用して真の目的を隠すためにゲーム内ゲームを設計しました...
より深刻な詐欺
ある事例を例に挙げて、この出国詐欺の詳細を説明しましょう。
実際に私たちが検出したのは、攻撃者が流動性プールを枯渇させて利益を得るために大量のトークン (秘密裏に鋳造) を使用したトランザクションであり、このトランザクションでは、プロジェクト当事者は合計 416,483,104,164,831 (約 416 兆) の MUMI を使用して、約 9.736 WETH が放出され、プールの流動性が枯渇しました。
ただし、このトランザクションは詐欺全体の最後のリンクにすぎず、詐欺全体を理解するには、引き続き追跡する必要があります。
トークンをデプロイする
3月6日午前7時52分(協定世界時、以下同)、攻撃者のアドレス(0x8AF8)のRug Pullは、MUMI(正式名MultiMixer AI)という名前のERC20トークン(アドレス0x4894)を展開し、4億20,690,000個(約420個)のプレマイニングを行った。百万)のトークンが割り当てられ、すべてが契約のデプロイ担当者に割り当てられました。
プレマイニングされたトークンの数は、コントラクトのソース コードに対応します。
流動性を追加する
8 時ちょうど (トークンが作成されてから 8 分後) に、攻撃者のアドレス (0x8AF8) が流動性を追加し始めました。
攻撃者のアドレス (0x8AF8) は、トークン コントラクトの openTrading 関数を呼び出し、uniswap v2 ファクトリを通じて MUMI-WETH 流動性プールを作成し、事前に採掘されたすべてのトークンと 3 ETH を流動性プールに追加し、最終的に約 1.036 LP トークンを取得します。
トランザクションの詳細から、もともと流動性を追加するために使用された 420,690,000 (約 4 億 2,000 万) トークンのうち、約 63,103,500 (約 6,300 万) トークンがトークン コントラクト (アドレス 0x4894) に返送されたことがわかります。トークン コントラクトでは転送ごとに一定の手数料がかかり、手数料を徴収するアドレスはトークン コントラクト自体 (具体的には「_transfer 関数」で実装) であることがわかりました。
**奇妙なのは、納税アドレス 0x7ffb (転送手数料を徴収するアドレス) がコントラクトに設定されているのに、最終的な料金はトークン コントラクト自体に送信されていることです。 **
したがって、流動性プールに追加される MUMI トークンの最終的な数は、税引き後 420,690,000 (約 4 億 3,000 万) ではなく、3 億 5,758 万 6,500 (約 3 億 5,000 万) になります。
流動性を確保する
8:01 (流動性プールが作成されてから 1 分後) に、攻撃者のアドレス (0x8AF8) は、流動性を追加することによって取得されたすべての 1.036 LP トークンをロックしました。
LP がロックされると、理論上、攻撃者のアドレス (0x8AF8) が所有するすべての MUMI トークンは (手数料として使用される部分を除く) 流動性プールにロックされるため、攻撃者のアドレス (0x8AF8) はそれを削除することができなくなります。流動性を通じてラグプルを実行する能力。
新しく発売されたトークンをユーザーが安心して購入できるように、多くのプロジェクト当事者はLPにロックをかけており、これはプロジェクト当事者が「私は逃げません、誰もが安心して購入できます!」と言っていることを意味しますが、本当にそうなのでしょうか? ?明らかにそうではありません。これは事実です。分析を続けましょう。
ラグプル
8:10に新たな攻撃者アドレス②(0x9DF4)が出現し、トークンコントラクトで宣言した納税者アドレス0x7ffbを展開しました。
ここで言及する価値のあるポイントは次の 3 つです。
税務アドレスが展開されるアドレスは、トークンが展開されるアドレスと同じではありません。これは、プロジェクト関係者が各操作とアドレスの間の相関関係を意図的に減らし、動作の追跡をより困難にしていることを示している可能性があります。
納税者住所の契約はオープンソースではないため、納税者住所には公開したくない隠された操作が存在する可能性があります。
税コントラクトはトークン コントラクトよりも後にデプロイされ、トークン コントラクト内の税アドレスはハードコーディングされているため、プロジェクト当事者は税コントラクトのアドレスを予測できます。CREATE 命令によって作成者のアドレスが決定されるため、コントラクトアドレスが決まっているので、プロジェクトチームは事前に作成者のアドレスを使ってコントラクトアドレスをシミュレーションしました。
**実際、多くの出国詐欺は納税者住所を通じて行われており、納税者住所の展開モードの特徴は上記のポイント 1 と 2 に準拠しています。 **
午前 11 時 (トークン作成から 3 時間後)、攻撃者のアドレス② (0x9DF4) が Rug Pull を実行しました。彼は、納税契約 (0x77fb) の「swapExactETHForTokens」メソッドを呼び出すことにより、納税者アドレス内の 416,483,104,164,831 (約 416 兆) の MUMI トークンを約 9.736 ETH と交換し、プール内の流動性を使い果たしました。
税金契約書 (0x77fb) はオープンソースではないため、そのバイトコードを逆コンパイルしました。逆コンパイルの結果は次のとおりです。
税金契約 (0x77fb) の「swapExactETHForTokens」メソッドの逆コンパイルされたコードを確認したところ、この関数の主な機能は、番号「xt」(呼び出し元が指定した) を持つ税金契約 (0x77fb) を転送することであることがわかりました。 uniswapV2 ルーター MUMI トークンは ETH と交換され、納税者住所で宣言された "_manualSwap" アドレスに送信されます。
_manualSwap アドレスのストレージアドレスは 0x0 なので、json-rpc の getStorageAt コマンドで問い合わせると、_manualSwap に対応するアドレスが納税契約書(0x77fb)の展開者:攻撃者②(0x9DF4)であることが分かります。
この Rug Pull トランザクションの入力パラメータ xt は 420,690,000,000,000,000,000,000 で、420,690,000,000,000 (約 420 兆) の MUMI トークンに対応します (MUMI トークンの 10 進数は 9)。
言い換えれば、プロジェクトは最終的に 420,690,000,000,000 (約 420 兆) MUMI を使用して流動性プールの WETH を排出し、出口詐欺全体を完了しました。
しかし、ここで重要な疑問があります。それは、納税契約書 (0x77fb) は、これほど多くの MUMI トークンからどこから来たのかということです。
前回の内容から、トークンコントラクト展開時のMUMIトークンの総供給量は420,690,000(約4億2000万)であったことが分かり、出口詐欺終了後はMUMIトークンコントラクトで問い合わせた総供給量が判明しました。まだ 420,690,000 です (下の図では 420,690,000,000,000,000 と表示されていますが、対応する小数点の 0、つまり 9 を引く必要があります) 税契約 (0x77fb) のトークンは総供給量 (420,690,000,000,000、約 420 兆) をはるかに超えています。上で述べたように、納税アドレスとしての 0x77fb は、MUMI トークンの転送プロセス中に発生する手数料を受け取るためにさえ使用されなかったことを知っておく必要があります。トークン契約。
公開されたテクニック
税金契約 (0x7ffb) のトークン ソースを調査するために、ERC20 転送イベント履歴を調べました。
0x77fb に関連する 6 つの転送イベントすべてのうち、税金コントラクト (0x7ffb) からの転送イベントのみが存在し、MUMI トークンが転送されるイベントは存在しないことが判明しました。 一見すると、税金コントラクトのトークン ( 0x7ffb) は本当にどこからともなく現れました。
したがって、税務契約 (0x7ffb) アドレスに何もないところから出現した巨大な MUMI トークンには、次の 2 つの特徴があります。
MUMI契約の総供給量には影響なし
トークンの増加によって転送イベントがトリガーされなかった
したがって、アイデアは非常に明確です。つまり、MUMI トークン コントラクトにバックドアが存在する必要があります。このバックドアは、balance 変数を直接変更し、balabce を変更する場合、totalSupply を変更せず、Transfer イベントをトリガーしません。
言い換えれば、これは非標準または悪意のある ERC20 トークンの実装であり、総供給量やイベントの変化からプロジェクト側が秘密裏にトークンを鋳造していることをユーザーは感知することができません。 **
次のステップでは、上記のアイデアを検証するために、MUMI トークン コントラクトのソース コード内でキーワード「残高」を直接検索します。
その結果、コントラクトにはプライベート型の「swapTokensForEth」関数が存在し、入力パラメータはuint256型のtokenAmountであり、関数の5行目でMUMIである_taxWalletをプロジェクト当事者が直接変更していることが分かりました。納税契約の残高 (0x7ffb) は、tokenAmount * 10**_decimals (tokenAmount の 1,000,000,000 (約 10 億) 倍) であり、MUMI の tokenAmount 金額を流動性プールから ETH に変換して保管しますトークンコントラクト (0x4894) 内。
次に、キーワード「swapTokenForEth」を検索します。
「_transfer」関数内で「swapTokenForEth」関数が呼び出されていますが、呼び出し条件をよく見ると次のようなことが分かります。
2.「swapTokenForEth」関数は、他のアドレスが流動性プール内の MUMI トークンを _preventSwapBefore (5 回) を超えて購入した場合にのみ呼び出されます。
つまり、ユーザーがプール内のWETHをMUMIトークンに5回以上交換したことをコントラクトが検出すると、納税者住所用に秘密裏に大量のトークンを鋳造し、トークンの一部をETHに変換して保管します。それらをトークンコントラクトに含めます。
**一方で、プロジェクト当事者は表向きは税金を徴収し、定期的に自動的に少額のETHと交換してトークンコントラクトに入れています。これはユーザーに見えるため、誰もがこれがプロジェクトの源であると思わせます党の利益。 **
**一方、プロジェクトチームが実際に行っていることは、ユーザーの取引回数が 5 回に達した後、口座残高を直接変更し、流動性プールをすべて排出することです。 **
「swapTokenForEth」関数を実行した後、「_transfer」関数もsendETHToFeeを実行して、トークンアドレスの徴税から取得したETHを税務コントラクト(0x77fb)に送信します。
タックスコントラクト(0x77fb)のETHは、そのコントラクトに実装されている「レスキュー」機能によって取り出すことができます。
ここで、出口詐欺全体の中で最後に利益を上げた取引の償還記録を振り返ってみましょう。
収益取引では合計 2 回の交換が行われ、1 回目は 4,164,831 (約 416 万) MUMI トークン、0.349 ETH、2 回目は 416,483,100,000,000 (約 416 兆) MUMI トークン、9.368 ETH でした。 2 番目の交換は、税務契約 (0x7ffb) の「swapExactETHForTokens」関数内で開始された交換です。この数が入力パラメータで表される 420,690,000,000,000 (約 420 兆) トークンと一致しないのは、一部のトークンが使用されているためです。以下の図に示すように、税金としてトークン コントラクト (0x4894) に送信されます。
1回目の交換は2回目の交換処理に相当し、税務コントラクト(0x7ffb)からルーターコントラクトにトークンが送信されると、トークンコントラクト内のバックドア機能のトリガー条件が満たされ、「swapTokensForEth」がトリガーされます。関数による実行は重要な操作ではありません。
上記からわかるように、展開から流動性プールの作成、MUMI トークンのラグプルまでの出口詐欺サイクル全体にかかる時間はわずか約 3 時間ですが、コストは約 6.5 ETH 未満です (3 ETH は流動性を追加するために、誘導のために流動性プールから MUMI を交換するために 3 ETH が使用され、契約の展開と取引の開始には 0.5 ETH 未満が使用されました)、最大 50% 以上の利益で 9.7 ETH を獲得しました。 **
前回の記事では触れていませんでしたが、攻撃者がETHをMUMIに交換したトランザクションは5件あり、トランザクション情報は以下の通りです。
流動性の高い状態で運用されている EOA アドレスを分析したところ、アドレスのかなりの部分がチェーン上の「新しいロボット」であることがわかりました。出入りが速いという詐欺全体の特徴と組み合わせると、** と確信できる理由があります。この詐欺全体がターゲットにしているのは、チェーン上で活発に活動するあらゆる種類の新しいロボットや新しいスクリプトです。 **
したがって、一見不必要だが複雑な契約設計、契約展開、トークンの流動性ロックプロセス、または攻撃者の関連アドレスが積極的にETHをMUMIトークンと交換する不審な動作など、攻撃者が次のことを試みていることが理解できます。チェーン上のさまざまな新しいボットの不正防止プログラムを欺こうとして行われた変装。 **
資金の流れを追跡したところ、攻撃による収益はすべて、最終的に攻撃アドレス②(0x9dF4)によってアドレス資金決済アドレス**(0xDF1a)**に送金されたことが判明しました。
実際、最近検出した多くの出国詐欺の最初の資金源と最終的な資金の宛先はこのアドレスを指しているため、このアドレスでの取引に関する大まかな分析と統計を実施しました。
最終的に、このアドレスは約 2 か月前にアクティブになり、今日の時点で 7,000 件を超えるトランザクションを開始していることが判明しました。また、このアドレスは 200 を超えるトークンとやり取りしたことが判明しました。
私たちが約 40 件のトークン取引記録を分析したところ、調べたほとんどすべてのトークンに対応する流動性プールの中で、最終的にはトークンの総供給量よりもはるかに大きな投入量の交換取引が存在することがわかりました。入力された ETH が枯渇し、出口詐欺の期間全体が短くなります。
一部のトークン(Mingyan China)の展開トランザクションは次のとおりです。
したがって、このアドレスは実際には大規模な自動「出口詐欺」ハーベスターであり、ハーベスティングのターゲットはチェーン上の新しいロボットであると結論付けることができます。
**このアドレスはまだ有効です。 **
最後に書きます
トークンが鋳造時に totalSupply を変更せず、Transfer イベントをトリガーしない場合、プロジェクト側が秘密裏にトークンを鋳造しているかどうかを検出することが困難になり、トークンが安全かどうかという問題も悪化します。プロジェクト側に完全に依存するわけではありません。意識的かどうかは現状です。
**したがって、トークン量の変化のオープン性と透明性を確保するために、既存のトークン メカニズムを改善するか、効果的な総トークン量検出ソリューションを導入することを検討する必要があるかもしれません。**現時点では、イベントでトークン ステータスの変化を捕捉するだけでは十分ではありません。
そして、私たちが注意する必要があるのは、全員の不正行為に対する意識が向上している一方で、攻撃者の不正行為対策手法も向上しているということです。これは終わりのないゲームです。これを行うには、学び、考え続ける必要があります。 . ゲームでは自分の身を守りましょう。