Back to Blog

뉴스레터 - 2026년 6월

Code Auditing
July 3, 2026
3 min read

6월 주요 보안 사고 Top 3

6월의 세 가지 대형 사고는 단일 버그에서 비롯된 것이 아니었습니다. 이 사고들은 공통된 실패를 드러냈습니다. 표면적으로는 보안 보장이 유지되는 것처럼 보였지만, 실제로는 한 번도 제대로 적용된 적이 없었습니다. MEV 봇은 허용량(allowance)이 실제로 소모되었는지 확인하지 않은 채 수익성이 있어 보이는 거래를 신뢰했습니다. 두 개의 퇴역 롤업은 형식상 유효하지만 자신이 대표한다고 주장하는 정산 상태에 실제로 바인딩되지 않은 증명을 수락했습니다. 한 지갑의 서명 코드는 보안이 의존하는 유일한 비밀 입력값을 조용히 누락시켜, 예측 불가능해야 할 값을 누구나 공개 데이터로부터 재계산할 수 있는 값으로 만들었습니다. 이 시스템들 중 어느 것도 무차별 대입 암호 분석으로 뚫린 것이 아니었습니다. 아무도 확인하지 않은 가정으로 인해 무너진 것입니다.

JaredFromSubway: 약 $15M

2026년 6월 20일, 이더리움 MEV 봇 운영자인 JaredFromSubway는 허니팟 공격으로 약 $15M의 피해를 입었습니다.

공격자는 현실적인 Swap / Sync 이벤트를 방출하는 가짜 래퍼 토큰과 가짜 Uniswap V2 방식의 풀로 구성된 가짜 거래 환경을 구축했습니다. 정상적인 흐름에서는 래퍼 컨트랙트의 wrapTo() 함수가 내부적으로 기반 실제 토큰에 대해 transferFrom()을 호출하여 봇이 이전에 부여한 허용량을 소모해야 합니다. 그러나 가짜 래퍼 토큰 컨트랙트는 이 단계를 완전히 건너뛰면서도 unwrap()을 통해 공격자가 조작한 소액의 이익을 반환했습니다. 봇이 허용량이 실제로 소모되었는지 확인하거나 잔여 승인을 취소하지 않았기 때문에, 소모되지 않은 허용량이 누적되었고 이후 withdraw()를 통해 탈취되었습니다. 피해를 입은 한 지갑은 약 1,474.58 WETH, 2,870,573 USDC, 2,035,760 USDT를 잃었습니다. JaredFromSubway는 이후 피해 지갑 전체에서 약 $15M의 총 손실을 보고했습니다.

이 사고의 교훈은 MEV 봇이 시뮬레이션상 수익성이 있어 보이더라도 알 수 없는 토큰 및 풀 코드를 적대적인 것으로 취급해야 한다는 것입니다. 자동화된 전략에는 엄격한 지출자 허용 목록(allowlist), 코드 해시 검사, 거래 후 허용량 검증, 잔여 승인 정리가 필요합니다.

Aztec 레거시 롤업 사고: 약 $4.35M

2026년 6월, 두 개의 별도 레거시 Aztec 배포가 악용되어 총 약 $4.35M의 손실이 발생했습니다. 근본 원인은 달랐지만, 두 사고 모두 증명 유효성과 정산 의미론(settlement semantics)의 경계에서 발생했습니다.

첫 번째 사고는 2026년 6월 14일 Aztec Connect의 RollupProcessorV3를 공격하여 약 $2.15M의 손실을 초래했습니다. 공격자는 numTxs1로 설정하면서 실제 입금을 나중에 디코딩되는 슬롯에 몰래 삽입하여, 증명 경로가 내부적으로 값을 인정하는 동안 L1 정산 로직이 해당하는 decreasePendingDepositBalance() 호출을 건너뛰도록 했습니다. 공격자는 이후 생성된 미담보 잔액을 정상 채널을 통해 인출했습니다.

두 번째 사고는 2026년 6월 18일 별도의 레거시 PrivateRollupBridge / RollupProcessor 배포를 공격하여 약 $2.2M의 손실을 야기했습니다. 이 배포는 여전히 escapeHatch(bytes,bytes,bytes) 경로를 노출하고 있었으며, 해당 회로는 프라이빗 조인-스플릿 멤버십 루트가 L1이 소비하는 공개 oldDataRoot와 일치하도록 제약하지 않았습니다. 이를 통해 공격자는 가짜 프라이빗 트리에서 고가치 노트의 소유권을 증명하면서 실제 L1 dataRoot를 공개 루트로 게시할 수 있었습니다. 검증자는 증명을 수락했고, L1 컨트랙트는 인출을 실행했습니다.

이 두 사고는 증명 검증만으로는 충분하지 않다는 것을 보여줍니다. 정산 경계를 관장하는 모든 값은 증명이 검증하는 정확한 공개 입력값에 바인딩되어야 하며, 모든 프라이빗 증인(witness)은 정산이 실제로 소비하는 공개 상태와 일치하도록 명시적으로 제약되어야 합니다.

SecondFi: 약 $2.4M

2026년 6월 23일, EMURGO가 개발한 브라우저 지갑 익스텐션인 SecondFi(구 Yoroi)는 v10.0.3부터 v10.0.6 버전에 영향을 미치는 Ed25519 서명 구현의 심각한 결함을 공개했습니다.

취약한 코드는 공개 트랜잭션 메시지만을 기반으로 서명 논스(nonce)를 도출하여, 필수적인 비밀 논스 접두사를 생략했습니다. 이로 인해 서명 방정식이 단일 미지수로 변환되어, 누구든 공개 온체인 데이터로부터 지갑의 개인 키를 직접 복원할 수 있게 되었습니다. 두 명의 공격자가 독립적으로 이 결함을 악용하여 EMURGO가 추가로 1억 2,900만 ADA를 구제하기 전에 374개의 지갑에서 약 $2.4M(1,600만 ADA)을 탈취했습니다.

이 사고의 교훈은 지갑 서명 코드가 프로토콜 수준의 암호화와 동일한 수준의 검토가 필요하다는 것입니다. 사소해 보이는 단일 비밀 입력값을 생략하더라도 개인 키가 완전히 노출될 수 있으므로, 커스텀 Ed25519 구현은 표준 라이브러리처럼 신뢰하기보다 독립적인 감사를 거쳐야 합니다.

명예 언급: Zcash Orchard 건전성(soundness) 버그

확인된 악용 사례가 없어 Top 3에는 포함되지 않았지만, Zcash의 Orchard 건전성 버그는 6월의 가장 중요한 공개 사례 중 하나였습니다. 2026년 6월 4일 공개된 이 버그는 Orchard 실드 풀 회로에서 동일한 실드 노트가 서로 다른 널리파이어(nullifier)를 생성하여 두 번 이상 사용될 수 있도록 허용할 수 있는 누락된 동등 제약 조건이었습니다. 이 결함은 2022년 5월 Orchard 활성화 이후 존재해 왔으며, NU6.2 긴급 업그레이드를 통해 패치되었습니다.

이 사고는 Aztec 사례의 더 깊은 교훈을 재확인시켜 줍니다. ZK 시스템에서 보안은 주변 프로토콜이 회로가 제약한다고 가정하는 것이 아니라, 회로가 실제로 제약하는 것에 달려 있습니다.

Zcash Orchard 버그 분석 읽기

위 정보는 2026년 7월 1일 00:00 UTC 기준 데이터를 바탕으로 합니다.

이것으로 2월 보안 사고 브리핑을 마칩니다.

보안 사고 라이브러리에서 더 자세한 내용을 확인하실 수 있습니다.

항상 정보를 숙지하고 안전하게 지내세요!

Sign up for the latest updates
~$160만 손실: Moke 토큰, LpdFi 익스플로잇 | BlockSec 위클리
Security Insights

~$160만 손실: Moke 토큰, LpdFi 익스플로잇 | BlockSec 위클리

2026년 8월 3~9일, BNB 체인에서 2건의 보안 사고가 발생해 총 약 160만 달러의 손실이 발생했으며, 모두 가격 조작이 원인이었습니다. LpdFi(약 69.7만 달러)는 PancakeSwap 유동성 풀을 주문 평가와 이자 정산에 동시 사용해 공격자가 원금을 부풀리고 과도한 이자를 탈취했습니다. Moke Token(약 90.6만 달러)은 조작 가능한 현물 가격과 중복 LP 배당 회계를 결합해 MOKE를 부풀려 BNB 배당을 반복 수령했습니다.

COLDCARD 사건: 지갑의 "무작위" 시드가 무작위가 아니었을 때
Security Insights

COLDCARD 사건: 지갑의 "무작위" 시드가 무작위가 아니었을 때

COLDCARD 펌웨어의 빌드 통합 버그로 비트코인 시드 생성이 취약한 소프트웨어 RNG로 라우팅되어 지갑 시드가 오프라인 복구 가능해졌습니다. 시드 자체의 취약점이므로 펌웨어 업데이트로 해결 불가하며, 2026년 8월 7일 기준 확인된 피해는 1,405 BTC(~9,100만 달러), 비공개 추정치는 최대 2,055 BTC입니다.

~$88M 손실: COLDCARD 및 LULA 익스플로잇 | BlockSec 위클리
Security Insights

~$88M 손실: COLDCARD 및 LULA 익스플로잇 | BlockSec 위클리

2026년 7월 27일~8월 2일, 비트코인과 BNB 체인에서 약 8,800만 달러 손실을 유발한 두 건의 보안 사고가 발생했습니다. COLDCARD 사고는 하드웨어 지갑 펌웨어의 엔트로피 오류로, RNG 매크로 활성화 여부 미확인으로 결정론적 폴백이 실행되어 약 1,370 BTC(~8,800만 달러)가 탈취됐습니다. BNB 체인의 LULA 토큰은 비즈니스 로직 취약점으로 `recycle()` 함수가 악용되어 PancakeSwap V2 유동성에서 약 57만 8천 달러가 유출됐습니다.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit