大規模なラグプル手法の詳細な分析

トークンのセキュリティが完全にプロジェクトの自己認識に依存する現在の状況。これを解決するためには、トークンメカニズムを改善したり、トークン供給の監視を効果的に導入して、数量の透明性を確保する必要があります。詐欺への認識が高まっている一方で、攻撃者の対詐欺技術も絶えず進化しているため、私たちも警戒する必要があります。これは継続的なゲームであり、私たちは自らの利益を守るために学び続け、考え続ける必要があります。

フォワード・ザ・オリジナル・タイトル'技術詳解 | チェーン上での新しい局面、大規模ラグプル手法の解読'

最近、CertiKのセキュリティ専門家は、一般にラグプルとして知られる同じ出口詐欺の手口の複数のインスタンスを頻繁に検出しています。さらに調査したところ、同じ方法の複数のインスタンスが同じグループを指しており、最終的に200件以上のトークン出口詐欺に関連していることがわかりました。これは、出口詐欺を通じて資産を収穫する大規模な自動ハッカーグループを発見した可能性があることを示唆しています。これらの出口詐欺では、攻撃者は新しいERC20トークンを作成し、事前にマイニングされたトークンと一定量のWETHを使用して、Uniswap V2流動性プールを作成します。チェーン上のボットまたはユーザーが流動性プールから新しいトークンを一定回数購入すると、攻撃者は何もないところから生成されたトークンでプール内のすべてのWETHを使い果たします。攻撃者が何もないところから入手したトークンは、総供給量に反映されず、Transferイベントをトリガーしないため、etherscanには表示されず、部外者による検出が困難になります。攻撃者は隠蔽を考えるだけでなく、エーテルスキャンをチェックする基本的な技術スキルを持つユーザーを欺くための偽装を設計し、マイナーな問題を使用して彼らの本当の意図を隠します...

詐欺に飛び込む

デプススキャム

1つのケースを例に取ると、この出口詐欺の詳細について掘り下げてみましょう。私たちが検出したのは、攻撃者が大量のトークン(静かに鋳造された)を使用して流動性プールを消耗し、利益を上げた取引でした。この取引では、プロジェクトチームが約416,483,104,164,831(約416クアドリリオン)のMUMIトークンを約9.736 WETHに交換し、プールの流動性を消耗しました。ただし、この取引は全体の詐欺の最終部分に過ぎません。全体の詐欺を理解するには、さらに追跡を続ける必要があります。

トークンを展開する

3月6日午前7時52分(UTC時刻、以下同じ)に、攻撃者のアドレス(0x8AF8)がERC20トークン「MUMI」(フルネームMultiMixer AI)をアドレス0x4894に展開し、420,690,000(約4億2000万)トークンをプリマイニングしました。すべてのトークンは契約デプロイヤーに割り当てられています。

プリマインされたトークンの数は契約のソースコードに対応しています。

流動性を追加する

8時ちょうど(トークンが作成されてから8分後)、攻撃者のアドレス(0x8AF8)が流動性を追加し始めました。攻撃者のアドレス(0x8AF8)は、トークン契約でopenTrading関数を呼び出し、uniswap v2ファクトリーを介してMUMI-WETH流動性プールを作成し、すべてのプリマインドトークンと3 ETHを流動性プールに追加し、最終的に約1.036 LPトークンを取得しました。


トランザクションの詳細から、流動性を追加するために元々使用された4億2,069万トークンのうち、約6,310万トークンがトークン契約(アドレス0x4894)に送り返されたことが分かります。契約のソースコードを見ると、トークン契約は各転送に対して一定の取引手数料を請求し、取引手数料の収集アドレスはトークン契約自体です(具体的には「_transfer function」で実装されています)。

奇妙なのは、税金のアドレス0x7ffb(移転手数料の収集アドレス)が契約に設定されているのに、最終手数料がトークン契約自体に送信されたことです。

したがって、税金を支払った後の流動性プールに追加されるMUMIトークンの最終数は357,586,500(約3億5,000万)であり、420,690,000(約4億3,000万)ではありません。

流動性をロックする

8:01(流動性プールが作成されてから1分後)、攻撃者アドレス(0x8AF8)は流動性を追加して獲得した1.036 LP トークンをすべてロックしました。

LPがロックされた後、理論的には、攻撃者のアドレス(0x8AF8)が所有するMUMIトークンは、流動性プールにロックされます(手数料として使用される部分を除く)、したがって、攻撃者のアドレス(0x8AF8)はRug Pullを行うための流動性を持っていません。新しく発売されたトークンを自信を持って購入できるようにするために、多くのプロジェクトがLPをロックし、プロジェクト側が「逃げないで、皆が安心して購入できるように!」と言っていることを意味しますが、本当にそうでしょうか?明らかにそうではない、これが実際の状況です、分析を続けましょう。

ラグプル

8:10に、新しい攻撃者のアドレス②(0x9DF4)が現れ、トークン契約で宣言された税金アドレス0x7ffbを展開しました。

ここで言及する価値のある3つのポイントがあります:1.税務住所が展開されている住所とトークンが展開されている住所が同じではありません。これは、プロジェクト パーティが各操作とアドレスの間の相関関係を意図的に減らし、動作の追跡をより困難にしていることを示している可能性があります。2.税務住所の契約はオープンソースではないため、税務住所に公開されたくない隠された操作がある可能性があります。3. 租税契約はトークン契約よりも後に展開され、トークン契約の納税者住所はハードコードされているため、プロジェクトチームは事前に税務契約の住所を予測できます。作成者アドレスと nonce は CREATE 命令で決定されるため、配布コントラクトのアドレスが決定されます。そのため、プロジェクトチームは作成者の住所を使用して、事前に契約住所をシミュレートして計算しました。実際、多くの出国詐欺は税務アドレスを介して行われており、税務アドレスの展開モードの特性は上記のポイント 1 と 2 に準拠しています。午前 11 時 (トークンが作成されてから 3 時間後)、攻撃者のアドレス (2) (0x9DF4) がラグ プルを実行しました。タックスコントラクト(0x77fb)の「swapExactETHForTokens」メソッドを呼び出すことで、タックスアドレスの416,483,104,164,831(約416兆)のMUNIトークンを約9.736ETHで交換し、プールの流動性を使い果たしました。

税金契約(0x77fb)はオープンソースではないため、そのバイトコードを逆コンパイルし、逆コンパイル結果は以下のとおりです:

https://app.dedaub.com/decompile?md5=01e2888c7691219bb7ea8c6b6befe11c

税収収集契約(0x77fb)の「swapExactETHForTokens」メソッドを逆コンパイルした後、この機能が行う主な機能は、呼び出し元によって指定された量のMUMIトークン(税収収集契約(0x77fb)が所有する)をUniswapV2ルーターを使用してETHに交換し、その後税アドレスで「_manualSwap」と宣言されたアドレスに送信することがわかりました。


_manualSwapアドレスのストレージアドレスは0x0です。json-rpcのgetStorageAtコマンドでクエリを実行した後、_manualSwapに対応するアドレスは、税契約のデプロイヤーである0x77fb: attacker ② (0x9DF4)であることがわかりました。

このラグプルトランザクションの入力パラメータxtは、420,690,000,000,000,000,000,000に対応し、MUMIトークン(MUMIトークンの小数点は9)の約420兆に相当します。

言い換えれば、最終的に、プロジェクトは420,690,000,000,000(約420兆)のMUMIを使用して、流動性プールのWETHを枯渇させ、出口詐欺全体を完成させました。しかし、ここで重要な疑問があります:徴税契約(0x77fb)はどこでこれほど多くのMUNIトークンを手に入れたのでしょうか?前回の内容から、デプロイ時のMUNIトークンのトークン供給量は4億2,069万(約4億2,000万)であることがわかりました。しかし、ラグプルスキームの終了後、MUNIトークンコントラクトのトークン総供給量を照会すると、420,690,000のままでした(下の図に示すように、420,690,000,000,000,000と表示され、小数に対応する末尾のゼロを引く必要があります(小数は9)。総供給量(420,690,000,000,000,000、約420兆円)をはるかに超える徴税契約(0x77fb)のトークンは、何もないところから現れたようです。前述したように、税務上の住所として機能するアドレス0x77fbは、MUNIトークンの転送プロセス中に発生する取引手数料を受け取るためにさえ使用されていないことは注目に値します。税金はトークンコントラクト自体によって受け取られました。

テクニックを明らかにする

  • 税契約はどこから来たのですか?

税金契約(0x7ffb)のトークンソースを探るために、そのERC20転送イベント履歴を調査しました。

その結果、0x77fbを含む6つの転送イベントのうち、税収コレクション契約(0x7ffb)からトークンが転送されたイベントのみが観察され、MUMIトークンが転送されたイベントはありませんでした。一見すると、税収コレクション契約(0x7ffb)のトークンが空中から現れたように見えます。したがって、税収コレクション契約(0x7ffb)に空中から現れたMUMIトークンの数は、次の2つの特徴を持っています:1. MUMI契約のtotalSupplyに影響を与えませんでした。2. トークンの増加はTransferイベントを発生させませんでした。これを考慮すると、MUMIトークン契約にはバックドアがあることが明らかになります。つまり、totalSupplyの変更やTransferイベントの対応する変更なしにバランス変数を直接変更するMUMIトークン契約の非標準的または悪意のある実装です。つまり、ユーザーは合計供給量またはイベントの変化からプロジェクトチームによるトークンの隠れた鋳造を感知できないERC20トークンの非標準的または悪意のある実装です。次のステップは、MUMIトークン契約のソースコードで「バランス」というキーワードを直接検索して、この考えを検証することです。

その結果、契約にはプライベートタイプの「swapTokensForEth」という関数があり、入力パラメーターはuint256タイプのtokenAmountです。関数の5行目では、プロジェクト側が直接_taxWalletを修正しています。これはtax契約(0x7ffb)のMUMI残高に対するtokenAmountです。10*_decimals、つまりtokenAmountの1,000,000,000倍(約10億)で、その後、MUMIのtokenAmount量を流動性プールからETHに変換し、トークン契約(0x4894)に格納します。次に「swapTokenForEth」というキーワードを検索します。

「swapTokenForEth」関数は、「_transfer」関数内で呼び出されます。呼び出し条件を詳しく調べると、以下が観察されます:1. 転送の受信者アドレス(宛先)がMUMI-WETH流動性プールである場合。2. 「swapTokenForEth」関数は、流動性プール内の他のアドレスによって購入されたMUMIトークンの数量が「_preventSwapBefore」(5回)を超えた場合にのみ呼び出されます。3. 関数に渡される「tokenAmount」パラメータは、トークンアドレスが所有するMUMIトークン残高と「_maxTaxSwap」の最小値です。



つまり、契約がユーザーがプールで5回以上WETHをMUMIトークンと交換したことを検出したとき、秘密裏に大量のトークンを税金のアドレスのために鋳造し、一部のトークンをETHに換えてトークン契約に保管します。一方で、プロジェクト側は税金を取るふりをして定期的に少額のETHに交換し、それをトークン契約に入れています。これはユーザーに示され、皆がこれがプロジェクト側の利益の源であると考えるようになります。一方で、プロジェクトチームが本当にやっていることは、ユーザー取引回数が5回に達した後に、口座残高を直接修正し、流動性プールをすべて排出することです。

  • 利益を得る方法

「swapTokenForEth」機能を実行した後、「_transfer」機能は、税金徴収から得られたETHをトークンアドレスから税金契約(0x77fb)に送信するためにsendETHToFeeも実行します。

税金契約(0x77fb)のETHは、その契約に実装された「救助」機能によって取り出すことができます。

今、出口詐欺全体の最後の収益取引の償還記録を振り返ってください。

利益を生む取引において、合計2回の取引が行われました。最初の取引は、0.349 ETHで約4.16百万のMUMIトークンを4,164,831回取引し、2回目の取引は、9.368 ETHで約416兆のMUMIトークンを416,483,100,000,000回取引しました。2回目の取引は、税金契約(0x7ffb)内の「swapExactETHForTokens」関数で開始された取引です。入力パラメータで表される420兆のトークンと一致しない理由は、いくつかのトークンが図に示されるように、トークン契約(0x4894)に送られる税金として使用されているためです。

最初の取引は、2番目の取引プロセスに対応しています。トークンが税金契約(0x7ffb)からルーター契約に送信されると、トークン契約内のバックドア機能トリガー条件が満たされ、"swapTokensForEth" がトリガーされます。この機能によって開始された取引は、重要な操作ではありません。

  • 詐欺の背後にいるハーベスター

前のコンテンツから明らかなように、MUMIトークンの全サイクルは、デプロイメントから流動性プールの作成、そしてラグプルまで、わずか約3時間しかかかりませんでした。それにもかかわらず、それは約6.5 ETH未満のコストで50%以上の利益を上げることに成功しました(流動性を追加するための3 ETH、ルアーとして流動性プールからMUMIをスワップするための3 ETH、契約の展開とトランザクションの開始に0.5 ETH未満)。結果として9.7 ETHになりました。攻撃者はETHとMUMIを交換する5つのトランザクションを行いましたが、これは以前言及されていませんでした。トランザクションの詳細は次のとおりです:

流動性内で運営されているEOA(外部所有アカウント)を分析した結果、アドレスの大部分がオンチェーンの「ボット」運営に属していることが判明しました。全体的な詐欺の迅速な進行を考慮すると、この詐欺のターゲットは、チェーン上のさまざまなアクティブな「ボット」とスクリプトであると推定されます。したがって、必要のないように見えるが複雑な契約設計、契約の展開、流動性ロックプロセス、または攻撃者がETHをMUMIトークンに中途で交換する際の疑わしい行動など、すべては、攻撃者によるさまざまなオンチェーンボットの詐欺防止メカニズムを欺く試みとして理解される可能性があります。資金の流れを追跡することで、攻撃から得られたすべての利益が最終的に攻撃アドレス②(0x9dF4)からアドレス0xDF1aに送金されたことがわかりました。

実際、最近の複数の出口詐欺の初期資金源と最終目的地がこのアドレスを指している。そのため、このアドレスの取引のおおまかな分析と統計が行われました。このアドレスは約2か月前にアクティブになり、現在までに7,000件以上の取引を開始し、200以上のトークンとやり取りしています。約40件の分析されたトークン取引記録の中で、ほとんどのトークンは対応する流動性プールで表示される際に、流動性プール内のすべてのETHを消費する単一の大きな取引があり、出口詐欺のサイクル全体は短いことがわかりました。以下はいくつかのトークン(例: 中国のたばこなど)のデプロイメント取引です。

https://etherscan.io/tx/0x324d7c133f079a2318c892ee49a2bcf1cbe9b20a2f5a1f36948641a902a83e17

https://etherscan.io/tx/0x0ca861513dc68eaef3017e7118e7538d999f9b4a53e1b477f1f1ce07d982dc3f

したがって、このアドレスは実際には大規模な自動化された「出口詐欺」ハーベスターであり、オンチェーンボットの運用をターゲットにしています。このアドレスはまだアクティブです。

結論として、トークンの発行プロセスがtotalSupplyの変更やTransferイベントのトリガーに対応していない場合、プロジェクトチームがトークンを密かに発行しているかどうかを把握するのは難しいです。これは、トークンのセキュリティが完全にプロジェクトチームの意識に依存している現状を悪化させます。そのため、トークン数量の変化の透明性を確保するために、既存のトークンメカニズムの改善や効果的なトークン総発行量監視スキームの導入を検討する必要があるかもしれません。トークンの状態変化を捉えるためにイベントだけに頼ることは十分ではありません。さらに、詐欺防止への意識が高まっている一方で、攻撃者の対詐欺技術も進化していることを認識する必要があります。これは終わりのないゲームであり、自身を守るためには学び続け、考え続ける必要があります。

  • この記事で使用されるツール

基本取引情報を表示する:https://etherscan.io/

契約の逆コンパイル: app.dedaub.com/decompilejson-rpc: https://www.quicknode.com/docs/ethereum/eth_getStorageAt

免責事項:

  1. この記事は[から転載されていますサーティケー]Forward the Original Title‘技术详解 | 链上打新局中局,大规模Rug Pull手法解密’.All copyrights belong to the original author [ CertiK]. もしこの転載に異議がある場合は、お問い合わせください。ゲートラーンチームが迅速に対応します。
  2. 責任の免除: この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 記事の翻訳はGate Learnチームによって行われます。特に言及がない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

大規模なラグプル手法の詳細な分析

中級3/26/2024, 4:10:49 AM
トークンのセキュリティが完全にプロジェクトの自己認識に依存する現在の状況。これを解決するためには、トークンメカニズムを改善したり、トークン供給の監視を効果的に導入して、数量の透明性を確保する必要があります。詐欺への認識が高まっている一方で、攻撃者の対詐欺技術も絶えず進化しているため、私たちも警戒する必要があります。これは継続的なゲームであり、私たちは自らの利益を守るために学び続け、考え続ける必要があります。

フォワード・ザ・オリジナル・タイトル'技術詳解 | チェーン上での新しい局面、大規模ラグプル手法の解読'

最近、CertiKのセキュリティ専門家は、一般にラグプルとして知られる同じ出口詐欺の手口の複数のインスタンスを頻繁に検出しています。さらに調査したところ、同じ方法の複数のインスタンスが同じグループを指しており、最終的に200件以上のトークン出口詐欺に関連していることがわかりました。これは、出口詐欺を通じて資産を収穫する大規模な自動ハッカーグループを発見した可能性があることを示唆しています。これらの出口詐欺では、攻撃者は新しいERC20トークンを作成し、事前にマイニングされたトークンと一定量のWETHを使用して、Uniswap V2流動性プールを作成します。チェーン上のボットまたはユーザーが流動性プールから新しいトークンを一定回数購入すると、攻撃者は何もないところから生成されたトークンでプール内のすべてのWETHを使い果たします。攻撃者が何もないところから入手したトークンは、総供給量に反映されず、Transferイベントをトリガーしないため、etherscanには表示されず、部外者による検出が困難になります。攻撃者は隠蔽を考えるだけでなく、エーテルスキャンをチェックする基本的な技術スキルを持つユーザーを欺くための偽装を設計し、マイナーな問題を使用して彼らの本当の意図を隠します...

詐欺に飛び込む

デプススキャム

1つのケースを例に取ると、この出口詐欺の詳細について掘り下げてみましょう。私たちが検出したのは、攻撃者が大量のトークン(静かに鋳造された)を使用して流動性プールを消耗し、利益を上げた取引でした。この取引では、プロジェクトチームが約416,483,104,164,831(約416クアドリリオン)のMUMIトークンを約9.736 WETHに交換し、プールの流動性を消耗しました。ただし、この取引は全体の詐欺の最終部分に過ぎません。全体の詐欺を理解するには、さらに追跡を続ける必要があります。

トークンを展開する

3月6日午前7時52分(UTC時刻、以下同じ)に、攻撃者のアドレス(0x8AF8)がERC20トークン「MUMI」(フルネームMultiMixer AI)をアドレス0x4894に展開し、420,690,000(約4億2000万)トークンをプリマイニングしました。すべてのトークンは契約デプロイヤーに割り当てられています。

プリマインされたトークンの数は契約のソースコードに対応しています。

流動性を追加する

8時ちょうど(トークンが作成されてから8分後)、攻撃者のアドレス(0x8AF8)が流動性を追加し始めました。攻撃者のアドレス(0x8AF8)は、トークン契約でopenTrading関数を呼び出し、uniswap v2ファクトリーを介してMUMI-WETH流動性プールを作成し、すべてのプリマインドトークンと3 ETHを流動性プールに追加し、最終的に約1.036 LPトークンを取得しました。


トランザクションの詳細から、流動性を追加するために元々使用された4億2,069万トークンのうち、約6,310万トークンがトークン契約(アドレス0x4894)に送り返されたことが分かります。契約のソースコードを見ると、トークン契約は各転送に対して一定の取引手数料を請求し、取引手数料の収集アドレスはトークン契約自体です(具体的には「_transfer function」で実装されています)。

奇妙なのは、税金のアドレス0x7ffb(移転手数料の収集アドレス)が契約に設定されているのに、最終手数料がトークン契約自体に送信されたことです。

したがって、税金を支払った後の流動性プールに追加されるMUMIトークンの最終数は357,586,500(約3億5,000万)であり、420,690,000(約4億3,000万)ではありません。

流動性をロックする

8:01(流動性プールが作成されてから1分後)、攻撃者アドレス(0x8AF8)は流動性を追加して獲得した1.036 LP トークンをすべてロックしました。

LPがロックされた後、理論的には、攻撃者のアドレス(0x8AF8)が所有するMUMIトークンは、流動性プールにロックされます(手数料として使用される部分を除く)、したがって、攻撃者のアドレス(0x8AF8)はRug Pullを行うための流動性を持っていません。新しく発売されたトークンを自信を持って購入できるようにするために、多くのプロジェクトがLPをロックし、プロジェクト側が「逃げないで、皆が安心して購入できるように!」と言っていることを意味しますが、本当にそうでしょうか?明らかにそうではない、これが実際の状況です、分析を続けましょう。

ラグプル

8:10に、新しい攻撃者のアドレス②(0x9DF4)が現れ、トークン契約で宣言された税金アドレス0x7ffbを展開しました。

ここで言及する価値のある3つのポイントがあります:1.税務住所が展開されている住所とトークンが展開されている住所が同じではありません。これは、プロジェクト パーティが各操作とアドレスの間の相関関係を意図的に減らし、動作の追跡をより困難にしていることを示している可能性があります。2.税務住所の契約はオープンソースではないため、税務住所に公開されたくない隠された操作がある可能性があります。3. 租税契約はトークン契約よりも後に展開され、トークン契約の納税者住所はハードコードされているため、プロジェクトチームは事前に税務契約の住所を予測できます。作成者アドレスと nonce は CREATE 命令で決定されるため、配布コントラクトのアドレスが決定されます。そのため、プロジェクトチームは作成者の住所を使用して、事前に契約住所をシミュレートして計算しました。実際、多くの出国詐欺は税務アドレスを介して行われており、税務アドレスの展開モードの特性は上記のポイント 1 と 2 に準拠しています。午前 11 時 (トークンが作成されてから 3 時間後)、攻撃者のアドレス (2) (0x9DF4) がラグ プルを実行しました。タックスコントラクト(0x77fb)の「swapExactETHForTokens」メソッドを呼び出すことで、タックスアドレスの416,483,104,164,831(約416兆)のMUNIトークンを約9.736ETHで交換し、プールの流動性を使い果たしました。

税金契約(0x77fb)はオープンソースではないため、そのバイトコードを逆コンパイルし、逆コンパイル結果は以下のとおりです:

https://app.dedaub.com/decompile?md5=01e2888c7691219bb7ea8c6b6befe11c

税収収集契約(0x77fb)の「swapExactETHForTokens」メソッドを逆コンパイルした後、この機能が行う主な機能は、呼び出し元によって指定された量のMUMIトークン(税収収集契約(0x77fb)が所有する)をUniswapV2ルーターを使用してETHに交換し、その後税アドレスで「_manualSwap」と宣言されたアドレスに送信することがわかりました。


_manualSwapアドレスのストレージアドレスは0x0です。json-rpcのgetStorageAtコマンドでクエリを実行した後、_manualSwapに対応するアドレスは、税契約のデプロイヤーである0x77fb: attacker ② (0x9DF4)であることがわかりました。

このラグプルトランザクションの入力パラメータxtは、420,690,000,000,000,000,000,000に対応し、MUMIトークン(MUMIトークンの小数点は9)の約420兆に相当します。

言い換えれば、最終的に、プロジェクトは420,690,000,000,000(約420兆)のMUMIを使用して、流動性プールのWETHを枯渇させ、出口詐欺全体を完成させました。しかし、ここで重要な疑問があります:徴税契約(0x77fb)はどこでこれほど多くのMUNIトークンを手に入れたのでしょうか?前回の内容から、デプロイ時のMUNIトークンのトークン供給量は4億2,069万(約4億2,000万)であることがわかりました。しかし、ラグプルスキームの終了後、MUNIトークンコントラクトのトークン総供給量を照会すると、420,690,000のままでした(下の図に示すように、420,690,000,000,000,000と表示され、小数に対応する末尾のゼロを引く必要があります(小数は9)。総供給量(420,690,000,000,000,000、約420兆円)をはるかに超える徴税契約(0x77fb)のトークンは、何もないところから現れたようです。前述したように、税務上の住所として機能するアドレス0x77fbは、MUNIトークンの転送プロセス中に発生する取引手数料を受け取るためにさえ使用されていないことは注目に値します。税金はトークンコントラクト自体によって受け取られました。

テクニックを明らかにする

  • 税契約はどこから来たのですか?

税金契約(0x7ffb)のトークンソースを探るために、そのERC20転送イベント履歴を調査しました。

その結果、0x77fbを含む6つの転送イベントのうち、税収コレクション契約(0x7ffb)からトークンが転送されたイベントのみが観察され、MUMIトークンが転送されたイベントはありませんでした。一見すると、税収コレクション契約(0x7ffb)のトークンが空中から現れたように見えます。したがって、税収コレクション契約(0x7ffb)に空中から現れたMUMIトークンの数は、次の2つの特徴を持っています:1. MUMI契約のtotalSupplyに影響を与えませんでした。2. トークンの増加はTransferイベントを発生させませんでした。これを考慮すると、MUMIトークン契約にはバックドアがあることが明らかになります。つまり、totalSupplyの変更やTransferイベントの対応する変更なしにバランス変数を直接変更するMUMIトークン契約の非標準的または悪意のある実装です。つまり、ユーザーは合計供給量またはイベントの変化からプロジェクトチームによるトークンの隠れた鋳造を感知できないERC20トークンの非標準的または悪意のある実装です。次のステップは、MUMIトークン契約のソースコードで「バランス」というキーワードを直接検索して、この考えを検証することです。

その結果、契約にはプライベートタイプの「swapTokensForEth」という関数があり、入力パラメーターはuint256タイプのtokenAmountです。関数の5行目では、プロジェクト側が直接_taxWalletを修正しています。これはtax契約(0x7ffb)のMUMI残高に対するtokenAmountです。10*_decimals、つまりtokenAmountの1,000,000,000倍(約10億)で、その後、MUMIのtokenAmount量を流動性プールからETHに変換し、トークン契約(0x4894)に格納します。次に「swapTokenForEth」というキーワードを検索します。

「swapTokenForEth」関数は、「_transfer」関数内で呼び出されます。呼び出し条件を詳しく調べると、以下が観察されます:1. 転送の受信者アドレス(宛先)がMUMI-WETH流動性プールである場合。2. 「swapTokenForEth」関数は、流動性プール内の他のアドレスによって購入されたMUMIトークンの数量が「_preventSwapBefore」(5回)を超えた場合にのみ呼び出されます。3. 関数に渡される「tokenAmount」パラメータは、トークンアドレスが所有するMUMIトークン残高と「_maxTaxSwap」の最小値です。



つまり、契約がユーザーがプールで5回以上WETHをMUMIトークンと交換したことを検出したとき、秘密裏に大量のトークンを税金のアドレスのために鋳造し、一部のトークンをETHに換えてトークン契約に保管します。一方で、プロジェクト側は税金を取るふりをして定期的に少額のETHに交換し、それをトークン契約に入れています。これはユーザーに示され、皆がこれがプロジェクト側の利益の源であると考えるようになります。一方で、プロジェクトチームが本当にやっていることは、ユーザー取引回数が5回に達した後に、口座残高を直接修正し、流動性プールをすべて排出することです。

  • 利益を得る方法

「swapTokenForEth」機能を実行した後、「_transfer」機能は、税金徴収から得られたETHをトークンアドレスから税金契約(0x77fb)に送信するためにsendETHToFeeも実行します。

税金契約(0x77fb)のETHは、その契約に実装された「救助」機能によって取り出すことができます。

今、出口詐欺全体の最後の収益取引の償還記録を振り返ってください。

利益を生む取引において、合計2回の取引が行われました。最初の取引は、0.349 ETHで約4.16百万のMUMIトークンを4,164,831回取引し、2回目の取引は、9.368 ETHで約416兆のMUMIトークンを416,483,100,000,000回取引しました。2回目の取引は、税金契約(0x7ffb)内の「swapExactETHForTokens」関数で開始された取引です。入力パラメータで表される420兆のトークンと一致しない理由は、いくつかのトークンが図に示されるように、トークン契約(0x4894)に送られる税金として使用されているためです。

最初の取引は、2番目の取引プロセスに対応しています。トークンが税金契約(0x7ffb)からルーター契約に送信されると、トークン契約内のバックドア機能トリガー条件が満たされ、"swapTokensForEth" がトリガーされます。この機能によって開始された取引は、重要な操作ではありません。

  • 詐欺の背後にいるハーベスター

前のコンテンツから明らかなように、MUMIトークンの全サイクルは、デプロイメントから流動性プールの作成、そしてラグプルまで、わずか約3時間しかかかりませんでした。それにもかかわらず、それは約6.5 ETH未満のコストで50%以上の利益を上げることに成功しました(流動性を追加するための3 ETH、ルアーとして流動性プールからMUMIをスワップするための3 ETH、契約の展開とトランザクションの開始に0.5 ETH未満)。結果として9.7 ETHになりました。攻撃者はETHとMUMIを交換する5つのトランザクションを行いましたが、これは以前言及されていませんでした。トランザクションの詳細は次のとおりです:

流動性内で運営されているEOA(外部所有アカウント)を分析した結果、アドレスの大部分がオンチェーンの「ボット」運営に属していることが判明しました。全体的な詐欺の迅速な進行を考慮すると、この詐欺のターゲットは、チェーン上のさまざまなアクティブな「ボット」とスクリプトであると推定されます。したがって、必要のないように見えるが複雑な契約設計、契約の展開、流動性ロックプロセス、または攻撃者がETHをMUMIトークンに中途で交換する際の疑わしい行動など、すべては、攻撃者によるさまざまなオンチェーンボットの詐欺防止メカニズムを欺く試みとして理解される可能性があります。資金の流れを追跡することで、攻撃から得られたすべての利益が最終的に攻撃アドレス②(0x9dF4)からアドレス0xDF1aに送金されたことがわかりました。

実際、最近の複数の出口詐欺の初期資金源と最終目的地がこのアドレスを指している。そのため、このアドレスの取引のおおまかな分析と統計が行われました。このアドレスは約2か月前にアクティブになり、現在までに7,000件以上の取引を開始し、200以上のトークンとやり取りしています。約40件の分析されたトークン取引記録の中で、ほとんどのトークンは対応する流動性プールで表示される際に、流動性プール内のすべてのETHを消費する単一の大きな取引があり、出口詐欺のサイクル全体は短いことがわかりました。以下はいくつかのトークン(例: 中国のたばこなど)のデプロイメント取引です。

https://etherscan.io/tx/0x324d7c133f079a2318c892ee49a2bcf1cbe9b20a2f5a1f36948641a902a83e17

https://etherscan.io/tx/0x0ca861513dc68eaef3017e7118e7538d999f9b4a53e1b477f1f1ce07d982dc3f

したがって、このアドレスは実際には大規模な自動化された「出口詐欺」ハーベスターであり、オンチェーンボットの運用をターゲットにしています。このアドレスはまだアクティブです。

結論として、トークンの発行プロセスがtotalSupplyの変更やTransferイベントのトリガーに対応していない場合、プロジェクトチームがトークンを密かに発行しているかどうかを把握するのは難しいです。これは、トークンのセキュリティが完全にプロジェクトチームの意識に依存している現状を悪化させます。そのため、トークン数量の変化の透明性を確保するために、既存のトークンメカニズムの改善や効果的なトークン総発行量監視スキームの導入を検討する必要があるかもしれません。トークンの状態変化を捉えるためにイベントだけに頼ることは十分ではありません。さらに、詐欺防止への意識が高まっている一方で、攻撃者の対詐欺技術も進化していることを認識する必要があります。これは終わりのないゲームであり、自身を守るためには学び続け、考え続ける必要があります。

  • この記事で使用されるツール

基本取引情報を表示する:https://etherscan.io/

契約の逆コンパイル: app.dedaub.com/decompilejson-rpc: https://www.quicknode.com/docs/ethereum/eth_getStorageAt

免責事項:

  1. この記事は[から転載されていますサーティケー]Forward the Original Title‘技术详解 | 链上打新局中局,大规模Rug Pull手法解密’.All copyrights belong to the original author [ CertiK]. もしこの転載に異議がある場合は、お問い合わせください。ゲートラーンチームが迅速に対応します。
  2. 責任の免除: この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 記事の翻訳はGate Learnチームによって行われます。特に言及がない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!