Beosin:sDAO コントラクトのビジネスロジックに脆弱性が存在し、攻撃者は 1.3 万 BUSD 以上の利益を得た。
ChainCatcher メッセージによると、ブロックチェーンセキュリティ監査会社 Beosin の Beosin EagleEye セキュリティリスク監視、警告および遮断プラットフォームの監視結果により、BNB Chain 上の sDAO プロジェクトが脆弱性攻撃を受けたことが示されています。Beosin の分析によれば、sDAO コントラクトのビジネスロジックに誤りがあり、getReward 関数はコントラクトが保有する LP トークンとユーザーが追加した LP トークンをパラメータとして計算されます。計算された報酬はユーザーが追加した LP トークンの数量に正比例し、コントラクトが保有する総 LP トークンの数量に負比例しますが、コントラクトは withdrawTeam というメソッドを提供しており、コントラクトが保有する BNB および指定トークンをすべてコントラクトの指定アドレスに送信することができます。この関数は誰でも呼び出すことができます。今回の攻撃者は、LP トークンを追加した後、withdrawTeam 関数を呼び出して LP トークンをすべて指定アドレスに送信し、すぐにコントラクトにごく少量の LP トークンを転送しました。その結果、攻撃者がその後 getReward を呼び出して報酬を取得する際に使用するコントラクトが保有する総 LP トークンの数量はごく小さな値となり、報酬が異常に増幅されました。最終的に攻撃者はこの脆弱性を利用して約 13662 枚の BUSD を得ました。