2025년은 크립토 보안 분야에서 또 한 번 치열한 한 해였습니다. 연이어 발생한 고영향 사건들이 생태계를 뒤흔들었고, 사용자, 팀, 커뮤니티 전반에 걸쳐 실질적인 피해를 남겼습니다. 결과는 종종 고통스러웠지만, 각 사건은 친숙한 진실을 다시금 상기시켜 줍니다. 보안은 최우선 과제로 다루어져야 한다는 것입니다.
커뮤니티가 발생한 사건들로부터 교훈을 얻을 수 있도록, BlockSec은 올해 가장 주목할 만한 10개의 사건을 선정했습니다. 이 사례들은 단순히 피해 규모뿐만 아니라, 사용된 독특한 기법, 실행 과정에서의 예상치 못한 반전, 그리고 새롭게 드러나거나 충분히 탐구되지 않았던 공격 표면을 기준으로 선정되었습니다.
이 글에서는 2025년 10대 보안 사건을 조명하고, 각 사건이 주목받아야 하는 이유를 공유합니다. 또한 모든 사례에 대해 근본 원인과 전체 공격 경로를 상세히 분석하는 별도의 후속 보고서를 발행할 예정입니다.
Cetus 사건: 2025년 최대 DeFi 해킹
요약
2025년 5월 22일, Sui 블록체인의 최대 집중 유동성 DEX인 Cetus Protocol이 공격을 받아 여러 풀에서 유동성이 유출되며 약 2억 2,300만 달러의 피해가 발생했습니다. 근본 원인은 고정소수점 u256 수학의 오버플로우 방지 헬퍼 함수(checked_shlw())의 결함이었습니다. 잘못된 임계값으로 인해 안전하지 않은 << 64 좌측 시프트 연산이 실행되었고, 상위 비트가 조용히 잘려나갔습니다. 공격자는 유동성 크기와 좁은 틱 범위를 신중하게 선택하여 Cetus가 필요한 토큰 예치량을 약 1단위로 계산하게 만들면서 LP 포지션에는 엄청난 유동성이 기록되도록 했고, 이후 그 부풀려진 포지션을 제거하여 실제 준비금을 인출했습니다.
선정 이유
고정소수점 헬퍼 함수 내 단 하나의 잘못된 비교 연산이 2억 2,300만 달러를 유출시키기에 충분했습니다. 공격자는 오라클을 조작하거나 거버넌스를 악용하지 않았습니다. 전체 공격은 순수한 산술 엣지 케이스(시프트 + 잘림)에만 의존하여 거의 무비용으로 유동성을 생성하고 실제 준비금을 결정론적으로 인출했습니다. 집중 유동성 수학을 기반으로 구축된 모든 프로토콜에게, 이 사례는 저수준 고정소수점 연산의 조용한 경계 오류가 프로토콜 수준의 재앙으로 확대될 수 있다는 직접적인 경고입니다.
근본 원인 및 공격 단계에 대해 자세히 알아보세요.
Bybit: 2025년 최대 해킹 사건
요약
2025년 2월 21일, Bybit은 공격자가 소셜 엔지니어링을 통해 Safe{Wallet} 개발자의 기기를 침해한 후 약 15억 달러의 피해를 입었습니다. 해당 접근 권한을 통해 공격자는 Safe{Wallet}의 AWS S3 버킷에 악성 JavaScript를 삽입했습니다. 삽입된 코드는 Bybit의 Safe{Wallet} 트랜잭션을 특정하여 서명 과정에서 트랜잭션 내용을 변조했습니다. 변조된 트랜잭션은 Bybit의 Safe{Wallet} 컨트랙트를 악성 구현체로 업그레이드하였고, 공격자는 컨트랙트가 보유한 모든 자산을 탈취할 수 있었습니다.
선정 이유
크립토 역사상 최대 보안 침해 사건은 스마트 컨트랙트 버그에서 시작되지 않았습니다. 침해된 개발자 기기와 S3 버킷의 변조된 JavaScript 파일에서 시작되었습니다. 공격 경로는 전적으로 Web2 인프라를 통해 이루어졌습니다. 소셜 엔지니어링, 클라우드 스토리지, 그리고 프론트엔드 코드 삽입이 그것입니다. 온체인 보안에 집중하는 산업계에 Bybit은 운영 및 인프라 보안이 동등하게 중요하다는 것을 직접적으로 상기시켜 줍니다. 멀티시그는 서명자들이 신뢰하는 서명 인터페이스만큼만 안전합니다.
근본 원인 및 공격 단계에 대해 자세히 알아보세요.
Balancer V2
요약
2025년 11월 3일, Balancer V2의 Composable Stable Pool과 여러 체인에 걸친 다수의 포크 프로젝트들이 조직적인 공격을 받아 총 1억 2,500만 달러 이상의 손실이 발생했습니다. 근본 원인은 불변식 계산의 정밀도 손실이었으며, 이로 인해 BPT(Balancer Pool Token) 가격이 왜곡되었습니다. 공격자는 이 왜곡을 두 단계에 걸쳐 악용했습니다. 먼저 정교하게 설계된 배치 스왑을 통해 BPT 가격을 조작하고, 이후 별도의 트랜잭션에서 자산을 인출하여 수익을 취했습니다.
선정 이유
일반적인 오라클 조작 공격과 달리, 이번 익스플로잇은 불변식 계산 자체에서 발생했습니다. 고정소수점 수학의 미미한 정밀도 손실만으로도 BPT 가격을 왜곡하고 단일 트랜잭션 내 수익 추출을 가능하게 하기에 충분했습니다. 이 공격은 여러 체인에 걸쳐 전파되었고 Balancer와 그 포크 프로젝트 모두에 영향을 미쳤으며, 공유 코드베이스가 조합 가능한 DeFi의 시스템적 위험을 어떻게 증폭시키는지를 잘 보여줍니다. 근본 원인에 대한 커뮤니티의 논의는 종종 메커니즘을 지나치게 단순화했습니다. 전체 분석은 불변식 솔버의 정밀도 손실이 어떻게 익스플로잇 가능한 가격 차이로 이어지는지를 추적합니다.
근본 원인 및 공격 단계에 대해 자세히 알아보세요.
GMX
요약
2025년 7월 9일, Arbitrum의 GMX V1이 약 4,200만 달러 규모의 공격을 받았습니다. 공격자는 재진입 취약점을 악용하여 트랜잭션 도중 GLP 가격을 조작한 뒤, 왜곡된 가격을 이용해 예치된 가치를 훨씬 초과하는 자산을 취득했습니다. 반복적인 공격을 통해 공격자는 GMX V1의 유동성 풀에서 기초 자산을 점진적으로 탈취했습니다.
선정 이유
재진입은 가장 오래 알려진 스마트 컨트랙트 취약점 중 하나이지만, 검증된 ACL 모델을 갖춘 실전 테스트된 프로토콜을 무너뜨렸습니다. OrderBook 컨트랙트의 nonReentrant 수정자는 동일 컨트랙트 내 재진입을 방지했지만, 폴백 과정에서 Vault로의 크로스 컨트랙트 호출을 막지는 못했습니다. GMX V1은 수년간 운영되었으며, 이러한 실적이 잘못된 안도감을 줄 수 있습니다. 이 사례는 프로토콜의 성숙도가 시스템 전체의 재진입 분석을 대체할 수 없으며, 여러 컨트랙트가 가변 상태를 공유할 때 단일 컨트랙트 수준의 보호 장치만으로는 불충분함을 보여줍니다.
근본 원인 및 공격 단계에 대해 자세히 알아보세요.
Yearn Finance
요약
2025년 11월 30일, Yearn Finance의 yETH Weighted Stable Pool이 900만 달러 이상의 공격을 받았습니다. 주요 근본 원인은 불변식 솔버 _calc_supply()의 안전하지 않은 산술 연산이었으며, 내림 반올림 및 언더플로우 결함이 각각 독립적으로 약 810만 달러(손실의 90%)를 유발했습니다. 부차적인 취약점으로, add_liquidity()에서 비활성화되지 않은 부트스트랩 경로가 존재했으며, 이는 1차 익스플로잇이 풀을 이미 고갈시킨 후 추가적인 약 90만 달러의 피해를 가능하게 했습니다.
공격자는 다단계 전략을 실행했습니다. 먼저 유동성을 반복적으로 추가하고 제거하여 풀의 가상 잔액에 극단적인 불균형을 만들었고, 다음으로 산술 결함을 악용하여 곱 항을 붕괴시키고 총 공급량을 0으로 끌어내렸으며, 마지막으로 부트스트랩 초기화 경로에 재진입하여 언더플로우를 통해 약 2.35e56의 yETH를 발행하고 이를 yETH-WETH Curve 풀에서 실제 자산으로 교환했습니다.
선정 이유
재정적 손실은 2025년 기준으로 보통 수준이었지만, 익스플로잇의 기술적 복잡성은 매우 뛰어납니다. 이 공격은 수치적 엣지 케이스(나눗셈 붕괴, 불변식 솔버의 부호 반전)를 상태 머신 재진입(배포 후 풀 초기화 재촉발)과 연결하여 온체인 상태의 정밀한 다단계 조작을 필요로 합니다. 익스플로잇을 완전히 재구성하려면 저수준 산술과 광범위한 상태 전환 모두에 대한 이해가 필요합니다. 이 사례의 섬세함, 엄밀성, 그리고 교육적 깊이의 조합은 올해 가장 분석적으로 가치 있는 사건 중 하나로 만들어 줍니다.
근본 원인 및 공격 단계에 대해 자세히 알아보세요.
Cork Protocol
요약
2025년 5월 28일, 이더리움의 Cork Protocol이 공격을 받아 약 1,200만 달러의 손실이 발생했습니다. 근본 원인은 만기 시점의 HIYA 가격 조작과 Uniswap v4 훅 콜백의 접근 제어 누락이 결합된 것이었습니다. HIYA(Historical Implied Yield Average, 새로운 시장 발행 가격 산정에 사용되는 위험 프리미엄 지표)는 만기까지의 시간이 0에 가까워질수록 지수적으로 증가하기 때문에, 만기 후반 스왑이 HIYA를 부풀려 새로 초기화된 시장에서 Cover Token이 심각하게 저가 책정되도록 만들었습니다. 동시에 CorkHook.beforeSwap에는 msg.sender 인증이 없어 임의의 파라미터를 가진 임의 호출이 가능했습니다. 두 가지 결함을 모두 악용하여 공격자는 대량의 CT와 DS를 추출하고 이를 wstETH로 전환하여 프로토콜 준비금을 고갈시켰습니다.
선정 이유
만기 시점 가격 곡선도, 인증되지 않은 훅 콜백도 개별적으로는 치명적이지 않았습니다. 그 상호작용이 문제였습니다. 만기 근처의 지수적 HIYA 프리미엄이 경제적 증폭기를 만들었고, CorkHook.beforeSwap의 누락된 msg.sender 검사가 공격자에게 임의의 파라미터로 이를 촉발할 수 있는 방법을 제공했습니다. 이 사례는 단일 모듈 감사가 놓치기 쉬운 취약점의 유형을 보여줍니다. 경제 설계와 접근 제어가 상호작용하여 익스플로잇 가능한 경로를 만들어내는 크로스 모듈 가정 불일치입니다.
근본 원인 및 공격 단계에 대해 자세히 알아보세요.
Trust Wallet
요약
2025년 12월 25일, Trust Wallet이 공급망 공격을 받아 2,000개 이상의 사용자 지갑이 침해되었고 850만 달러의 손실이 발생했습니다. 공격자는 Trust Wallet의 Chrome 웹 스토어 API 키를 탈취하여 공식 채널을 통해 백도어가 삽입된 확장 프로그램(v2.68)을 게시하는 데 사용했습니다. 악성 확장 프로그램은 사용자의 시드 구문을 공격자가 제어하는 서버로 유출시켰고, 공격자는 이후 침해된 지갑에서 자금을 탈취했습니다.
선정 이유
공격자는 스마트 컨트랙트를 전혀 건드리지 않았습니다. 단 하나의 API 키를 침해함으로써 Trust Wallet의 공식 배포 채널을 통해 악성 확장 프로그램을 게시했으며, 수동 검토와 표준 릴리스 프로세스 모두를 우회했습니다. 사용자들은 업데이트를 불신할 이유가 없었습니다. 이것은 Top 10에서 유일한 지갑 공급망 공격 사례이며, 온체인 감사가 커버할 수 없는 위험의 범주를 드러냅니다. 개발자와 최종 사용자 사이의 소프트웨어 전달 파이프라인의 보안이 바로 그것입니다.
근본 원인 및 공격 단계에 대해 자세히 알아보세요.
Bunni
요약
2025년 9월 2일, Bunni V2가 이더리움의 USDC/USDT 풀과 Unichain의 weETH/ETH 풀에서 840만 달러 규모의 공격을 받았습니다. 프로토콜은 이후 2025년 10월 23일에 파산을 선언했습니다. 근본 원인은 유동성 제거 시 유휴 풀 잔액 업데이트 과정의 반올림 오류로, 컨트랙트가 자신의 총 유동성을 과소평가하게 만들었습니다.
공격자는 세 단계의 공격을 실행했습니다. 먼저 풀 가격을 조작하여 USDC의 가용 잔액을 고갈시키고 반올림 오류를 증폭시켰으며, 다음으로 일련의 소규모 출금을 실행하여 유동성 과소평가를 누적시켰고, 마지막으로 방향성 스왑을 수행하여 프로토콜이 기록한 유동성과 실제 준비금 사이의 차이를 차익 거래했습니다.
선정 이유
Bunni V2는 여러 차례의 코드 감사를 받았음에도 불구하고, 유휴 잔액 계산의 미미한 반올림 오류가 발견되지 않았습니다. 오류 자체는 트랜잭션당 무시할 수 있는 수준이었지만, 공격자는 풀 상태를 의도적으로 왜곡한 후 반복적인 소규모 출금을 통해 이를 증폭시켜 미세한 정밀도 손실을 840만 달러 규모의 피해로 전환시켰습니다. 이 사례는 단독으로는 안전해 보이는 반올림 오류가 공격자가 누적되는 시퀀스와 조건을 제어할 때 익스플로잇 가능해질 수 있음을 보여줍니다.
근본 원인 및 공격 단계에 대해 자세히 알아보세요.
1inch
요약
2025년 3월 5일, 1inch Fusion V1과 통합된 서드파티 리졸버가 _settleOrder()의 안전하지 않은 콜데이터 재구성으로 인해 500만 달러 이상의 피해를 입었습니다. 공격자가 제어하는 interactionLength가 리졸버 신원과 실행 컨텍스트를 전파하는 데 사용되는 동적 접미사의 인메모리 어셈블리를 손상시켜, 위조된 결제 데이터가 삽입될 수 있었습니다. 리졸버 컨트랙트는 msg.sender만을 기준으로 Settlement 컨트랙트가 전달한 콜데이터를 암묵적으로 신뢰했기 때문에, 위조된 컨텍스트가 모든 접근 제어 검사를 통과하여 무단 자산 탈취로 이어졌습니다.
선정 이유
이 익스플로잇은 스마트 컨트랙트 취약점과 전통적인 바이너리 익스플로잇 사이의 경계를 흐립니다. 경제적 가정이나 고수준 비즈니스 로직을 악용하는 대신, 이 공격은 포인터 산술, 검사되지 않은 길이 필드, ABI 메모리 레이아웃 가정에 의존합니다. 이는 버퍼 오버플로우나 정수 언더플로우 같은 네이티브 소프트웨어 익스플로잇에서 더 흔히 볼 수 있는 패턴입니다. 이 사례는 저수준 콜데이터 및 메모리 조작이 온체인 시스템에 고전적인 익스플로잇 기법을 재도입할 수 있음을 보여주며, 특히 컨트랙트 간 암묵적 신뢰 체인과 결합될 때 더욱 그러합니다.
근본 원인 및 공격 단계에 대해 자세히 알아보세요.
Panoptic
요약
2025년 8월 25일, Cantina와 Seal911의 지원을 받아 Panoptic은 위험에 처한 약 40만 달러의 자금을 확보하는 화이트햇 구조 작전을 수행했습니다. 근본 원인은 컨트랙트의 s_positionsHash 구성 방식의 결함이었습니다. Keccak256 해시 결과를 집계하는 데 XOR을 사용한 것이 문제였습니다. 단일 해시 함수는 충돌 저항성을 유지하지만, XOR의 수학적 선형성으로 인해 전체 지문(해시의 XOR 합)이 불안전해져 서로 다른 포지션 집합이 동일한 해시를 생성할 수 있게 됩니다.
선정 이유
이 목록의 대부분의 사건들은 산술 버그나 접근 제어 누락으로 거슬러 올라갑니다. Panoptic의 취약점은 다릅니다. 이는 데이터 구조 수준의 암호화 설계 결함입니다. 프로토콜은 XOR을 사용하여 포지션 지문을 합성하면서 그 결과가 기반 Keccak256 해시의 충돌 저항성을 상속할 것이라고 가정했습니다. 그렇지 않습니다. XOR의 선형성은 공격자가 동일한 s_positionsHash 값을 생성하는 서로 다른 포지션 집합을 구성할 수 있게 하여 회계 불변식을 우회할 수 있게 합니다. 성공적인 화이트햇 구조로 손실을 막았지만, 근본적인 결함은 해시 합성이 해시 함수 자체와 동일한 주의를 필요로 한다는 유용한 교훈을 남깁니다.
근본 원인 및 공격 단계에 대해 자세히 알아보세요.



