X-Token - REKT X2
X-token X2 - X-해커의 재림.
어떤 속편의 경우에는 다시는 작성되지 않아야 하는 것도 있습니다.
X-토큰은 다시 한번 털렸고, 플래시 론이 아직도 유행하고 있는 것 같습니다.
~$450만 가 xSNX 컨트랙트에서 도난당했습니다.
석 달 전, 이 팀은 2400만 달러를 도난당했습니다 - 같은 방법으로, 같은 토큰을 말이죠.
그 당시에 저희는 이렇게 작성했습니다;“X토큰은 수준 높은 프로토콜입니다”.
그러나 이제는 잘 모르겠습니다.
그들은 왜 또다시 해킹이 발생하도록 내버려 두었을까요?
공격 트랜잭션: 0x924e6a6...
Credit: Official Post Mortem
1: dydx에서 25,000 ETH를 플래시 론으로 대출받습니다.
2: Aave V1과 V2에서 대략 1백만 SNX를 대출 받습니다.
3: Bancor에서 6800 ETH를 51.9k SNX로 스왑합니다.
이 시점에서 해커는 대략 150만개의 SNX를 가지고 있습니다.
4: Kyber에서 150만개의 SNX를 대략 650만 USDC로 스왑하고, SNX의 가격을 폭락시킵니다.
5: 650만 USDC를 Curve에서 650만 sUSD로 스왑합니다.
6: 200만 sUSD를 xSNXADmin 컨트랙트(xSNX가 관리하는 자산을 가지고 있는 컨트랙트입니다)로 전송하여, 컨트랙트의 sUSD 부채를 상환하고 SNX의 잠금 상태를 해제합니다.
7: xSNXAdmin 컨트랙트에서 callFunction 기능을 호출하여, 남아있는 sUSD 부채를 소각하고 폭락된 가격으로 ~614k SNX를 ~811k sUSD로 스왑합니다.
해커가 callFunction 기능을 호출할 수 있었던 것이 취약점의 중요한 부분이었습니다. 이 기능은 리밸런싱을 통해 펀드의 수익률을 높일 수 있도록 dydx의 SoloMargin 플래시 론 컨트랙트만 호출할 수 있었어야 할 기능입니다.
잘못된 호출자의 요구 사항 조항은 누구나 호출할 수 있도록 허가하였습니다.
X토큰에서 require(msg.sender==soloMarginAddress) 가 사용되었어야 하는데 require(sender==address(this) 가 사용된 것입니다.
8: 컨트랙트 안에 존재한 채로 ~811k sUSD를 ~811k USDC로 스왑합니다.
9: 해커는 모든 과정을 역순으로 실행하여 ETH로 스왑하고 대출을 상환합니다.
해킹을 당하게 된 원인은, xSNX의 자금으로 SNX의 가격을 폭락시켜서 외부에서 재정거래가 가능할 수 있도록 기회를 만든 것이었습니다.
첫 번째는 실수라고 해도, 과연 두 번째도 실수일까요? X-토큰 팀은 유저에게 보상을 해주겠다고 말했으며(또다시), 그들의 xSNX 상품을 없애는 결정을 내렸습니다.
그들의 사후 분석에 따르면;
xSNX 는 저희의 상품 중 가장 복잡하며, 저희는 언제나 투자자들에게 최고의 자신감을 가지고 상품을 제시하고 싶습니다. 저희의 다른 상품들과 컨트랙트들은 최고의 자신감으로 제시할 수 있지만, 최근 xSNX 컨트랙트에 대해서는 그렇지 못하다고 결론을 내렸습니다.
비록 그들의 평판이 rekt 리더보드의 두 자리를 차지하면서 영원히 손상을 받겠지만, 이 팀은 그들의 유저들을 신경 쓰는 것으로 보이고, 더 나은 방향으로 나아가기 위해 노력하는 것으로 생각됩니다.
xSNX 상품을 내리는 결정은 현명할 수 있지만, 그러나 너무 복잡해서 감당할 수 없다고 공개적으로 선언하는 것이 그들의 평판에 더욱 손상을 가할 수도 있지 않을까요? 아마 처음부터 새로 시작하는 것이 더 올바른 것일 수 있습니다.
속편은 대부분 시리즈로 이어집니다.
과연 X-해커는 세 번째를 시도할까요?
REKT는 익명 작성자들에 의한 공공 플랫폼이며, REKT에 작성된 관점이나 내용에 대해서 그 어떤 책임도 지지 않습니다.
기부 (ETH / ERC20): 0x3C5c2F4bCeC51a36494682f91Dbc6cA7c63B514C
disclaimer:
REKT는 당사 웹 사이트의 익명의 작성자 또는 REKT에 의해 게시되거나 관련된 서비스에서 게시되는 콘텐츠에 대해 어떠한 책임도 지지 않습니다. 당사는 익명 작성자들의 행동 및 게시물에 대한 규칙을 제공하지만, 익명의 작성자가 웹 사이트 또는 서비스에 게시, 전송 혹은 공유한 내용을 통제하거나 책임지지 않으며, 귀하가 웹 사이트 또는 서비스에서 직면할 수 있는 불쾌함, 부적절함, 음란함, 불법 또는 기타 해로운 콘텐츠에 대해서도 책임을 지지 않습니다. REKT는 당사 웹 사이트 또는 서비스 사용자의 온라인 또는 오프라인 행위에 대한 책임을 지지 않습니다.
추천 기사들......
포트리스 프로토콜(Fortress Protocol) - REKT
포트리스(요새)가 오라클 조작과 악의적인 거버넌스 법안으로 300만 달러를 도난당한 이후 폐허가 되었습니다. UI는 멈췄으나, 컨트랙트는 여전히 살아있습니다. 포트리스 생태계가 자금을 잃어버린 사용자들을 구제할까요?
MM 파이낸스(MM Finance) - REKT
매드 미어캣 파이낸스(미어캣 파이낸스와 다릅니다)가 DNS공격으로 200만 달러를 잃어버렸습니다. 백엔드 공격, 프론트엔드 공격, 대체 공격의 끝은 언제일까요?
새들 파이낸스 (Saddle Finance) - REKT 2
어제 새들 파이낸스에서 1100만 달러가 도난 당했으며, BlockSec의 도움으로 380만 달러를 되찾았습니다. "사용자들의 자산은 안전합니다"라고 주장했던 새들은, 나중에 안전하다고 말했던 것은 도난 당하지 않은 금액에 한한 것이었다고 정정했습니다. rekt.news는 도난 당한 1100만 달러가 안전하지 않다는 것을 확인했습니다.