Sui 기반 DeFi 대출 프로토콜 Scallop은 공식 X 계정(@Scallop_io)에서 보안 사고 알림을 게시해, 플랫폼이 공격을 받았음을 확인했습니다. Scallop은 팀이 sSUI 스풀(spool) 보상 풀과 관련된 취약한 사이드 계약(side contract)이 악용된 것을 발견했으며, 이로 인해 약 15만 개의 SUI 손실이 발생했다고 밝혔습니다. Scallop은 영향을 받은 계약은 이미 동결되었고, 핵심 계약은 여전히 안전하며, 단지 sSUI 보상 풀이 영향을 받았을 뿐이라고 강조했습니다.
후속 업데이트에서 Scallop은 더 나아가 다음과 같이 설명했습니다: “핵심 계약은 해동되었고, 모든 작업이 복구되었습니다. 이 문제는 핵심 프로토콜과 무관하며, 폐기된 보상 계약 하나에만 한정됩니다. 사용자 예치금에는 영향이 없으며, 모든 자금은 안전하고, 출금 및 입금 기능은 정상으로 복구되었습니다.” 팀은 더 많은 세부 정보를 공유하고, 프로토콜 보안을 지속적으로 모니터링하고 강화하겠다고 약속했습니다.
전 NEAR 코어 멤버 Vadim: 문제는 17개월 전의 구형 패키지에 있다
이번 사고와 관련해 전 NEAR 코어 개발자 Vadim(@zacodil)이 X에서 심층 기술 분석을 발표하며 취약점의 세부 사항을 공개했습니다. Vadim은 공격자가 어떤 호출을 해야 하는지 이미 매우 잘 알고 있었다고 지적했습니다. “현재 실행 중인 코드도 아니고, SDK 경로도 아니며, 2023년 11월의 구형 V2 하나로, 수개월 동안 아무도 사용하지 않았습니다. 이것은 깊은 리버스 엔지니어링이었거나, 아니면 누군가가 이미 어디를 찾아야 할지 알고 있었던 것입니다. 이 취약점은 이미 17개월 동안 잠복해 있었습니다.
Vadim은 spool이 보상 배분에 따라 증가하는 index를 추적한다고 설명했습니다. 각 사용자 계정은 스테이킹 시점에 당시의 last_index를 기록해야 하며, 이렇게 계산되는 포인트 공식은 다음과 같습니다: 스테이킹 물량 × (current_index − last_index), 사용자는 합류한 시점부터만 보상을 벌 수 있습니다.
하지만 폐기된 V2 패키지에서는, 새로운 spool_account를 생성할 때 last_index가 초기화되지 않고 0으로 그대로 유지됩니다. 따라서 update_points가 실행되면 계산 결과가 이렇게 됩니다: 포인트 = 스테이킹 물량 × (current_index − 0) = 스테이킹 물량 × 전체 과거 인덱스. 사용자는 2023년 8월 spool이 생성된 이후 누적된 모든 보상이 기록됩니다.
Vadim은 구체적인 데이터를 제공했습니다: spool 인덱스는 20개월 동안 11.9억까지 성장했습니다. 공격자는 13.6만 개의 sSUI를 스테이킹해, 즉시 162조 포인트에 해당하는 누적 기록을 얻었습니다. 보상 풀은 1:1 교환 비율(분자와 분모가 모두 1)이므로, 162조 포인트는 곧바로 16.2만 개의 SUI 가치에 해당하는 보상으로 전환됩니다. 하지만 보상 풀에는 단지 15만 개의 SUI만 있었기 때문에 전부 소진되어 버렸습니다.
4월의 온체인 보안 사고는 모두 주변 시스템에서 발생
Vadim은 정상적인 사용자라면 SDK를 통해 새 패키지를 사용하며, 새 패키지는 last_index 동기화 문제를 이미 수정했다고 설명했습니다. 구형 V2 패키지가 여전히 체인에 남아 있는 이유는 Sui의 패키지 불변성 때문입니다.—한 번 배포되면, 각 구형 버전은 영원히 호출될 수 있습니다. 공유된 Spool 및 RewardsPool 객체는 어떤 버전에서든 호출을 받아들이며, 공격자는 SDK를 우회해 구형 코드 경로를 직접 타격했습니다.
Vadim은 이것을 “Sui 구형 패키지 유형 취약점”으로 분류했습니다. 그는 올바른 수정 방법은 공유 객체에 버전 필드를 추가하고, 각 함수에서 assert!(version == CURRENT_VERSION) 검사를 넣어야 한다고 지적했습니다. 이러한 메커니즘이 없으면, 과거에 배포된 모든 패키지 버전은 영원히 살아 있는 공격 표면이 됩니다.
Vadim은 또한 이번 달 대부분의 공격 이벤트가 핵심 프로토콜 코드에서 발생한 것이 아니라 주변 시스템에서 발생했다고 짚었습니다:
KelpDAO: RPC 인프라
Litecoin: MWEB 프라이버시 레이어
Aethir: 주변 게이트웨이의 접근 통제
Scallop: 잊힌 구형 패키지
이 글은 Sui 기반 DeFi 대출 프로토콜 Scallop이 해킹당했으며, 구형 계약 취약점으로 인해 15만 SUI가 도난당했다고 다룹니다. 가장 먼저 나온 곳: 체인 뉴스 ABMedia.
Related News
Aave, DeFi United Merilis Rencana Pemulihan rsETH Setelah Eksploit 18 April
Penyelamatan kerentanan Kelp DAO: Mantle meminjam-kembali Aave 3万 ETH, aliansi DeFi berkomitmen lebih dari 43.500 ETH
CoW DAO mengusulkan kompensasi kepada korban peretasan nama domain cow.fi, kompensasi maksimum hingga 100% dari kerugian
EtherFi mengusulkan penyuntikan 5000 ETH ke dalam pool penyelamatan rsETH untuk mencegah penularan piutang macet yang meluas di ekosistem DeFi
Ether.fi meluncurkan saluran penarikan aWETH, arus dana keluar Aave mencapai lebih dari 16,2 miliar dolar AS