TechFlow 소식에 따르면, SlowMist 보안팀의 정보에 따라 이더리움 체인 상의 Numbers Protocol(NUM) 토큰 프로젝트가 공격을 당했으며, 공격자는 약 13,836달러의 수익을 얻었다. 아래는 SlowMist 보안팀이 메신저를 통해 공유한 내용이다.
1. 공격자는 악성 anyToken 토큰(즉, 공격용 컨트랙트 0xa68cce)을 생성하였으며, 해당 악성 토큰 컨트랙트의 기본 토큰(base token)이 NUM 토큰 주소를 가리키도록 설정하였다.
2. 이후 Multichain 크로스체인 브릿지의 Router 컨트랙트 내 anySwapOutUnderlyingWithPermit 함수를 호출한다. 이 함수는 anyToken을 입력받아 기본 토큰의 permit 함수를 호출하여 서명 승인을 수행한 후, 승인된 사용자의 기본 토큰을 지정된 주소로 교환해주는 기능을 한다. 그러나 NUM 토큰은 permit 함수를 포함하지 않으면서도 콜백(callback) 기능을 가지고 있기 때문에, 공격자가 위조된 서명을 입력하더라도 정상적으로 리턴되어 트랜잭션이 실패하지 않는다. 이로 인해 피해자의 주소에 있던 NUM 토큰이 최종적으로 공격자가 지정한 공격용 컨트랙트로 전송될 수 있게 되었다.
3. 이후 공격자는 획득한 NUM 토큰을 Uniswap을 통해 USDC로, 그리고 다시 ETH로 교환하여 수익을 실현하였다.
이번 공격의 주요 원인은 NUM 토큰이 permit 함수를 갖추고 있지 않음에도 불구하고 콜백 기능을 지원함으로써, 위조된 서명을 삽입해 크로스체인 브릿지를 속이고 사용자 자산을 의도치 않게 전송하도록 유도할 수 있었기 때문이다.
참고 공격 트랜잭션: https://etherscan.io/tx/0x8a8145ab28b5d2a2e61d74c02c12350731f479b3175893de2014124f998bff32




