2024년 7월 12일, Dough Finance는 익스플로잇을 경험하여 약 180만 달러의 손실을 입었습니다. ConnectorDeleverageParaswap 계약의 설계 결함으로 인해 공격자는 DoughDsa가 아베(AAVE) 에서 담보를 인출하여 공격자에게 전송할 수 있었습니다.
개요
공격자:
https://etherscan.io/address/0x67104175fc5fabbdb5a1876c3914e04b94c71741
취약한 계약:
https://etherscan.io/address/0x9f54e8eAa9658316Bb8006E03FFF1cb191AafBE6
거래 공격:
https://etherscan.io/tx/0x92cdcc732eebf47200ea56123716e337f6ef7d5ad714a2295794fdc6031ebb2e
익스플로잇 분석
거래 이후 공격자는 아베(AAVE) 에서 Vault 의 부채 잔액을 확인하고 Vault를 상환하기 위해 Balancer 에서 USDC를 플래시론했습니다.
그런 다음 트랜잭션은 ConnectorDeleverageParaswap을 호출하여 swapData의 특정 작업으로 flashloan 요청을 트리거했습니다.
커넥터는 풀에서 flashloan을 시작하고 excuteOperation 함수에서 응답을 처리했습니다.
ConnectorDeleverage 계약의 ExecutionOperation 함수에 대해 자세히 살펴보겠습니다.
이 루프에는 두 개의 임의 호출( vault.executeAction 및 weth.transferFrom) 이 있습니다. 첫 번째 작업에서 Vault는 다음을 수행합니다.
볼트 계약은 ConnectorDeleverageParaswap 지침에 따라 아베(AAVE) 호출하고 596 WETH (담보로 사용되는 스테이킹 잔액)를 인출합니다.
근본 원인:
교훈
또한 스마트 계약, 백엔드, 지갑, 탈중앙화 애플리케이션(DAPPS) (디앱(DApp)) 등 모든 프로젝트에 대해 포괄적인 보안 감사를 수행하는 것이 좋습니다.








