We find there exist 두 가지 심각한 논리적 취약점이 @AkuDreams 컨트랙트에 존재한다는 것을 발견했습니다. 첫 번째 취약점은 DoS 공격을 유발할 수 있으며, 두 번째 취약점은 프로젝트 자금(3,400만 달러 이상)을 영구적으로 잠기게 만들 것입니다.
취약점 I

첫 번째 취약점은 processRefunds 함수에 존재합니다. 이 함수에는 각 입찰 사용자의 자금을 환불하는 루프가 있습니다. 그러나 입찰자는 트랜잭션을 되돌리는 악의적인 컨트랙트일 수 있습니다. 이로 인해 processRefunds 호출이 되돌려질 수 있으며, 어떤 사용자도 환불을 성공적으로 받을 수 없게 됩니다. 다행히도, 이 취약점은 아직 악용되지 않았습니다.
우리는 컨트랙트가 사용자에게 환불하기 위해 다음과 같은 조치를 취할 것을 제안합니다.
- EOA만 입찰할 수 있도록 보장
- ETH 대신 ERC20 토큰(예: WETH) 사용
- 사용자가 직접 환불을 받을 수 있는 함수 구현
취약점 II

두 번째 취약점은 소프트웨어 버그입니다. claimProjectFunds 함수에서 프로젝트 소유자는 컨트랙트의 이더를 청구할 수 있습니다. 그러나 require 구문 require(refundProgress >= totalBids, "Refunds not yet processed");에 버그가 있으며, refundProgress를 totalBids 대신 _bidIndex와 비교해야 합니다. 이 취약점으로 인해 조건이 절대 충족되지 않으며, 컨트랙트 내의 이더(11,539.5 이더)가 영구적으로 잠길 수 있습니다.
요약
우리는 (어제 NBA NFT 사례 이후) 주목받는 프로젝트가 기본적인 소프트웨어 보안 관행을 어떻게 소홀히 할 수 있는지 다시 한번 놀랐습니다. 최소한 프로젝트는 충분한 테스트 케이스를 작성해야 합니다. 안타깝게도, 우리는 해당 프로젝트들이 테스트 케이스를 작성하기에 너무 바빠서 3,400만 달러를 영구적으로 잃게 되었다고 생각합니다.
BlockSec 소개
BlockSec은 2021년 전 세계적으로 著名한 보안 전문가 그룹에 의해 설립된 선구적인 블록체인 보안 회사입니다. 이 회사는 대중적인 채택을 촉진하기 위해 새롭게 부상하는 Web3 세계의 보안과 사용성을 향상시키는 데 전념하고 있습니다. 이를 위해 BlockSec은 스마트 컨트랙트 및 EVM 체인 보안 감사 서비스, 보안 개발 및 위협 사전 차단을 위한 Phalcon 플랫폼, 자금 추적 및 조사를 위한 MetaSleuth 플랫폼, 그리고 크립토 세계를 효율적으로 탐색하는 Web3 빌더를 위한 MetaDock 확장 프로그램을 제공합니다.
현재까지 회사는 MetaMask, Uniswap Foundation, Compound, Forta, PancakeSwap 등 300개 이상의 저명한 고객사에 서비스를 제공했으며, Matrix Partners, Vitalbridge Capital, Fenbushi Capital을 포함한 著名한 투자자들로부터 두 차례의 투자 라운드에서 수천만 달러를 유치했습니다.
공식 웹사이트: https://blocksec.com/
공식 트위터 계정: https://twitter.com/BlockSecTeam



