배경
four.meme은 pump.fun과 유사하게 Binance Academy에서 육성한 미메코인 런치패드입니다. 해당 플랫폼은 해커 공격을 받았습니다. 손실액은 약 18만 달러였습니다. 공격 거래는 다음과 같습니다.
한국어: https://bscscan.com/tx/0xd9177f643e29fea98a609a9a82cd97bb843f914e3eddf4fbaa6f0da7b5824f3d
공격 및 사고 분석
배경 지식에 대해서는 이전 분석에서 자세히 설명했으며, 구체적인 내용은 이전 기사에서 볼 수 있습니다.
공격 1단계:
공격 거래 해시는 다음과 같습니다.
한국어: https://bscscan.com/tx/0x5a3abc55b60fbf73f186e153293325feaf06945f9033b7a11f07da6ff72554e4
1단계에서 공격자는 buyTokenAMAP을 사용하여 지정된 토큰을 아직 생성되지 않은 PancakeSwap Pair WBNB-MubaraKing으로 전송합니다. buyTokenAMAP에 대한 설명은 다음과 같습니다.
보시다시피, 이 기능은 BNB와 BEP20 토큰을 사용하여 지정된 주소로 밈 코인을 구매할 수 있습니다. 공격자가 buyTokenAMAP을 사용한 이유는 주로 토큰이 내부 시장에서 거래될 때 이체를 통해 자유롭게 전송될 수 없기 때문입니다. 게다가 PancakeSwap Pair의 주소는 예측 가능하므로 공격자는 PancakeSwap Pair WBNB-MubaraKing의 주소를 미리 계산했습니다. 결과적으로 공격자는 프로젝트가 DEX로 마이그레이션되기 전에 밈 코인을 Pair로 이전하는 것을 완료했습니다.
이 거래가 위치한 블록은 47556809이고, 블록 시간은 2025-03-17 22:54:53(UTC)입니다.
공격 2단계:
공격 거래 해시는 다음과 같습니다.
https://bscscan.com/tx/0xf5d95531a1dd612f5e1c65b513d227360a66287e35f67e6e04a97321d3faae14
한국어: https://bscscan.com/tx/0xd9177f643e29fea98a609a9a82cd97bb843f914e3eddf4fbaa6f0da7b5824f3d
토큰이 내부 디스크에서 거래 목표를 완료하면, 즉 본딩 커브 프로세스가 100%에 도달하면 내부 디스크는 외부 디스크인 PancakeSwap으로 마이그레이션됩니다. 공격자는 MEV를 사용하여 샌드위치 공격을 수행하여 마이그레이션 거래를 중간에 끼우고 해당 페어에 유동성을 추가한 후 공식 웹사이트에서 유동성을 추가한 후 유동성을 인출한 다음 보유 중인 MubaraKing을 WBNB로 교환하여 막대한 이익을 얻었습니다.
공격 트랜잭션 1에서 공격자는 PancakeSwap Factory를 통해 PancakeSwap Pair WBNBMubaraKing을 생성했습니다. MubaraKing이 공격 단계 1에서 buyTokenAMAP을 사용하여 이 Pair로 전송되었으므로 Pair의 MubaraKing 잔액은 4,620,000,000,000입니다.
이후 공격자는 87.9 WBNB를 이체하고 mint를 사용하여 LP 토큰을 확보하여 사전에 유동성을 추가했습니다.
공격 거래 2에서 공격자는 먼저 자신이 추가한 유동성을 인출하기 위해 burn을 이용해 87.9 WBNB와 157,784,147,190,821,450,996,866,034 MubaraKing을 획득했습니다.
이후 그는 팬케이크 스왑을 사용해 손에 들고 있던 무바라킹을 20 WBNB와 교환했고, 마침내 공격을 완료했습니다.
이 거래의 블록 번호는 47561733이고 블록 시간은 2025-03-18 03:01:05(UTC)입니다.
요약하다
이 취약점의 원인은 다음과 같습니다.
1. 내부 시장에서 거래할 때 buyTokenAMAP을 사용하면 거래를 시작할 수 없는 주소로 자금을 이체하여 내부 거래를 이체할 수 없다는 제한을 우회하여 사전에 유동성을 추가할 수 있습니다.
2. Four.meme의 내부 시장에서의 본딩 커브 프로세스는 100%입니다. DEX로 마이그레이션할 때 사전에 유동성을 추가한 상황은 고려되지 않습니다. 결과적으로 공격자는 마이그레이션 이후 먼저 사전에 추가한 유동성을 인출한 다음, 손에 들고 있던 미메코인을 이용해 풀에 있는 WBNB를 비워서 공격을 완료했습니다. 프로젝트 당사자는 경제 모델과 코드 운영 로직을 설계할 때 다자간 검증을 실시하고, 온라인으로 계약을 감사하기 전에 교차 감사를 위해 여러 감사 회사를 선택하는 것이 좋습니다.