
피에이뉴스(PANews) 4월 22일 소식에 따르면, 웹3 보안 회사 GoPlus가 X 플랫폼에서 밝힌 바에 의하면, 4월 16일 이더리움 상의 디파이 프로젝트 R0AR(@th3r0ar)이 계약 백도어로 인해 약 78만 달러가 도난당했으며, 프로젝트 측은 오늘 사건 보고서를 발표했다(보고서에서는 자금이 회수되었다고 명시했지만, 주소와 해시는 아직 공개하지 않았다). 이는 전형적인 계약 백도어 사건으로, 사용자들에게 백도어 계약(0xBD2Cd7)과의 상호작용을 주의하라고 경고한다.
계약(R0ARStaking)은 배포 시점부터 백도어를 남겨두었으며, 악의적 주소(0x8149f)는 처음부터 대량의 $1R0R을 클레임할 수 있도록 내장되어 있었다. 악의적 주소는 먼저 소액의 deposit()과 harvest()를 수행하고, 악의적 EmergencyWithdraw()를 실행할 준비를 했다. 계약 코드 로직에 따르면, rewardAmount가 r0arTokenBalance(계약 잔액)보다 크기 때문에 rewardAmount는 계약 내 토큰 잔액으로 설정되었고, 이후 계약 내 모든 토큰을 악의적 주소(0x8149f)로 전송했다. 마찬가지로 LP 토큰 계약의 모든 lpToken도 악의적 주소로 전송했다. 마지막으로 userInfo.amount를 0으로 설정했다. 계약 내 userInfo는 매핑 구조로, 주소는 userInfo의 키(uid와 msg.sender)의 해시를 통해 계산된 동적 주소이며, 이를 통해 이번 백도어는 계약 배포 전 악의적 주소로 미리 계산되었음을 추론할 수 있다.


