# Poolzプロジェクトが算術オーバーフロー攻撃事件に遭遇し、約66.5万ドルの損失が発生最近、多チェーンプロジェクトPoolzに対するセキュリティ事件が業界の注目を集めました。ブロックチェーン監視データによると、攻撃者はスマートコントラクト内の算術オーバーフローの脆弱性を利用し、Ethereum、BNB Chain、Polygonネットワーク上のPoolzプロジェクトから大量のトークンを盗み出し、総価値は約66.5万ドルに達しました。! [Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました! ](https://img-cdn.gateio.im/social/moments-974bc1b1f017458e935bb53bf55cef3e)攻撃は、世界協定時刻2023年3月15日午前3時16分頃に発生しました。盗まれた資産には、MEE、ESNC、DON、ASW、KMON、POOLZなどのさまざまなERC-20トークンが含まれています。攻撃者はその後、一部のトークンをBNBに換えましたが、現在これらの資金はまだ移動されていません。! [Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました! ](https://img-cdn.gateio.im/social/moments-7726863222e36bd3db4e3408503ba81c)今回の攻撃の核心的な問題は、PoolzプロジェクトのCreateMassPools関数にあります。この関数は本来、流動性プールをバッチで作成し、初期流動性を提供するために使用されますが、その中のgetArraySum関数に整数オーバーフローの脆弱性があります。攻撃者は巧妙に構築された入力パラメータを用いて、累積結果がuint256の範囲を超えるようにし、関数の戻り値を1にしました。! [Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました! ](https://img-cdn.gateio.im/social/moments-207e83ef73f5ece4adee71f4f42674f3)しかし、CreatePool関数はプールの属性を記録する際に、実際に転入されたトークンの数量ではなく、元の_StartAmountパラメータを使用しました。これにより、攻撃者は1つのトークンを転入するだけで、実際の数量よりもはるかに大きな初期流動性を記録できるようになりました。その後、攻撃者はwithdraw関数を呼び出して出金操作を完了し、攻撃の目的を達成しました。! [Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました! ](https://img-cdn.gateio.im/social/moments-915eae1e1853f3d04d16dbac2b8c504a)このような問題が再発しないように、開発者には新しいバージョンのSolidityを使用してコンパイルし、その内蔵のオーバーフローチェック機能を利用することをお勧めします。古いバージョンのSolidityを使用しているプロジェクトには、整数オーバーフローの問題を解決するためにOpenZeppelinのSafeMathライブラリを導入することを検討してください。この事件は再び、スマートコントラクトの開発における安全性とコード監査の重要性を無視してはならないことを私たちに思い出させます。見た目には小さな算術エラーでさえ、攻撃者によって悪用され、巨額の経済的損失を引き起こす可能性があります。
Poolzは算術オーバーフロー攻撃を受け、66.5万ドルの損失を被りました。
Poolzプロジェクトが算術オーバーフロー攻撃事件に遭遇し、約66.5万ドルの損失が発生
最近、多チェーンプロジェクトPoolzに対するセキュリティ事件が業界の注目を集めました。ブロックチェーン監視データによると、攻撃者はスマートコントラクト内の算術オーバーフローの脆弱性を利用し、Ethereum、BNB Chain、Polygonネットワーク上のPoolzプロジェクトから大量のトークンを盗み出し、総価値は約66.5万ドルに達しました。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!
攻撃は、世界協定時刻2023年3月15日午前3時16分頃に発生しました。盗まれた資産には、MEE、ESNC、DON、ASW、KMON、POOLZなどのさまざまなERC-20トークンが含まれています。攻撃者はその後、一部のトークンをBNBに換えましたが、現在これらの資金はまだ移動されていません。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!
今回の攻撃の核心的な問題は、PoolzプロジェクトのCreateMassPools関数にあります。この関数は本来、流動性プールをバッチで作成し、初期流動性を提供するために使用されますが、その中のgetArraySum関数に整数オーバーフローの脆弱性があります。攻撃者は巧妙に構築された入力パラメータを用いて、累積結果がuint256の範囲を超えるようにし、関数の戻り値を1にしました。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!
しかし、CreatePool関数はプールの属性を記録する際に、実際に転入されたトークンの数量ではなく、元の_StartAmountパラメータを使用しました。これにより、攻撃者は1つのトークンを転入するだけで、実際の数量よりもはるかに大きな初期流動性を記録できるようになりました。その後、攻撃者はwithdraw関数を呼び出して出金操作を完了し、攻撃の目的を達成しました。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!
このような問題が再発しないように、開発者には新しいバージョンのSolidityを使用してコンパイルし、その内蔵のオーバーフローチェック機能を利用することをお勧めします。古いバージョンのSolidityを使用しているプロジェクトには、整数オーバーフローの問題を解決するためにOpenZeppelinのSafeMathライブラリを導入することを検討してください。
この事件は再び、スマートコントラクトの開発における安全性とコード監査の重要性を無視してはならないことを私たちに思い出させます。見た目には小さな算術エラーでさえ、攻撃者によって悪用され、巨額の経済的損失を引き起こす可能性があります。