Sherlock AI は、@40acresFinance プロトコルに重大な脆弱性を報告しました。 40エーカーのチームは、他の人が調査結果から学ぶことができるように、詳細を公に共有することを惜しみなく許可してくれました。 この脆弱性の仕組みは次のとおりです。 まず、veNFT は、毎週の報酬を獲得できる特別なタイプの投票エスクロー ERC721 トークンです。 40acres により、veNFT 保有者は veNFT の将来の収益に基づいてローンに即座にアクセスできます。 各借り手の veNFT は、ダイヤモンド プロキシ パターンを使用してモジュール式の「ファセット」を介して機能をルーティングする個人の PortfolioAccount 内にあります。 このエクスプロイトにより、攻撃者はローンを返済せずにポートフォリオアカウントから担保 (veNFT) を取り戻すことができます。 以下のaerodromeVote()関数を確認してください。40acres には、借り手が 40 エーカーに担保として保有されている veNFT を使用して投票できる非常に優れた機能があります。 この関数には、loanContract アドレスが検証されないため、悪意のあるユーザーが任意のコントラクトを指定できるという問題があります。このコントラクトは、PortfolioAccount 内の veNFT を制御することが承認され、悪意のある loanContract での vote() 呼び出し中に転送できるようになります。 攻撃手順 1) 攻撃者は、transferFrom/safeTransferFrom を呼び出して承認された veNFT を転送することを実装する悪意のあるコントラクトをデプロイします。 2) 攻撃者はportfolioAccount.aerodromeVote(maliciousContract, tokenId)を呼び出します。ポートフォリオ フォールバックは、入力検証が欠けているファセットに委任し、ローンが返済されていないにもかかわらず、veNFT を呼び出して攻撃者に転送します。 注: バグが繰り返されると、融資プールが枯渇します - 一度行うと、ローンを組んで veNFT を盗み返すだけです。 インパクト システム全体の無担保ローン。借り手はローンの途中で自分の担保を回収することができ、融資プールの完全な破産につながります。 確認 この記事を手伝ってくれた@defsec_、@vinica_boy、@onthehunt11_に感謝します。 重要なお知らせ: 40acres チームはバグを発見し、リリース前に修正を適用しました シャーロックAIによって検出される 次のツイートで、Sherlock AI によって生成された元の問題を確認できます。 走行は最初から最後まで3時間59分かかった。 Sherlock AI は開発プロセスにセキュリティをもたらし、コミットと呼び出しパスを早期にスキャンし、影響の大きい欠陥を迅速に明らかにし、監査人が複雑なシステムをより明確に可視化できるようにします。実際には、このような問題は、監査、報奨金、または展開のずっと前に発見して解決できることを意味します。 今すぐあなたのプロトコルに Sherlock AI をお試しください。
Sherlock AI によって生成された元の問題: Sherlock AI によって生成された元の問題: 今すぐチームのために Sherlock AI をお試しください。
24.62K