
2022년 3월 17일 베이징 시간, 우리 시스템은 APE 코인과 관련된 의심스러운 거래를 모니터링했습니다.트위터 사용자 Will Sheehan의 보고서에 따르면 차익 거래 로봇은 번개 대출을 통해 60,000개 이상의 APE 코인(각 $8 상당)을 획득했습니다. .
분석 결과 APE 코인 에어드롭 메커니즘의 허점과 관련이 있음을 발견했습니다. 구체적으로 APE 코인의 에어드랍 여부는 특정 사용자가 BYAC NFT의 순간 상태를 보유하고 있는지 여부에 달려 있으며, 이 순간 상태는 플래시론을 빌린 후 BYAC NFT를 얻기 위해 상환하는 공격자에 의해 조작될 수 있습니다. 공격자는 먼저 플래시 론을 통해 BYAC 토큰을 빌린 다음 이를 상환하여 BYAC NFT를 얻습니다. 그런 다음 이 NFT를 사용하여 에어드랍된 APE를 청구하고 마지막으로 BYAC NFT 발행을 사용하여 BYAC 토큰을 가져와 플래시 대출을 반환합니다. 우리는 이 모델이 플래시 론에 기반한 가격 조작 공격과 매우 유사하다고 생각합니다(계약은 자산의 순간 가격을 사용하여 다른 자산의 가격을 책정하며 이 순간 가격은 조작될 수 있습니다).
다음으로 공격 트랜잭션(https://versatile.blocksecteam.com/tx/eth/0xeb8c3bebed11e2e4fcd30cbfc2fb3c55c4ca166003c7f7d319e78eaab9747098) 전체 프로세스를 간략하게 설명합니다.
1단계: 공격 준비
공격자는 BYAC NFT 번호 1060을 구입하여 공격 계약으로 옮겼습니다. 이 NFT는 공개 시장에서 공격자가 106 ETH에 구입했습니다.
2단계: 플래시 론을 빌려 BYAC NFT로 상환
공격자는 플래시론을 통해 대량의 BYAC 토큰을 빌렸습니다. 이 과정에서 공격자는 BYAC 토큰 교환을 통해 5개의 BYAC NFT(번호 7594, 8214, 9915, 8167, 4755)를 획득했습니다.
3단계: BYAC NFT를 통해 에어드랍 보상 받기
이 과정에서 공격자는 6개의 NFT를 사용하여 에어드랍을 청구했습니다. 1060은 구매이고 나머지 5는 이전 단계에서 얻습니다. 에어드랍을 통해 공격자는 총 60,564개의 APE 토큰을 보상으로 받았습니다.
4단계: Mint BYAC NFT는 BYAC 토큰을 얻습니다.
공격자는 빌린 BYAC 토큰을 반환해야 합니다. 따라서 BYAC 토큰을 얻기 위해 BYAC NFT 민트를 얻을 것입니다. 이 과정에서 그는 또한 1060 NFT라는 자신의 번호를 주조했습니다. 이는 플래시론에 대한 수수료를 지불하기 위해 추가로 BYAC 토큰이 필요하기 때문입니다. 그런 다음 서비스 수수료를 지불한 후 BYAC 토큰을 판매하여 14 ETH를 얻습니다.
이익
공격자는 미화 500,000달러 상당의 60,564개의 APE 토큰을 획득했습니다. 공격 비용은 1060 NFT(106ETH)에서 BYAC 토큰 판매로 얻은 14ETH를 뺀 값입니다.
Lessons
문제의 근원은 APE의 에어드롭이 순간적인 상태(특정 순간에 특정 사용자가 NFT를 보유하고 있는지 여부)만을 고려한다는 점에 있다고 생각합니다. 그리고 이 가정은 매우 취약하며 공격자가 쉽게 조작할 수 있습니다. 상태를 조작하는 공격자의 비용이 획득한 APE 에어드롭의 보상보다 적으면 실제 공격 기회가 생성됩니다.