이더리움 계열 블록체인에서 스마트컨트랙트가 맡은 일은 하나야. 정해진 조건이 충족되면, 정해진 대로 자금을 움직이는 것. 그런데 그 조건이 충족됐다는 확인이 가짜였다면 어떻게 될까.

7월 22일, Arbitrum 위에서 USDC로 결제하는 탈중앙 무기한선물 거래소 AFX Trade가 이 질문의 답을 실제로 보여줬어. 컨트랙트는 시키는 대로 다 했는데, 약 2415만 달러(2400만 USDC)가 통째로 빠져나갔지.1

무슨 일이 있었나

AFX Trade는 다른 체인과 자금을 오가기 위해 자체 브리지를 운영하고 있었어. 이 브리지는 검증자(validator)들의 서명을 모아 인출을 승인하는 구조야. 공격자는 이 검증자들의 오프체인 개인키, 즉 서명을 만들어내는 열쇠 자체를 탈취했어.1

인출을 승인하려면 전체 검증자의 약 3분의 2가 서명해야 하는데, 공격자는 탈취한 키로 다섯 개의 서명을 모아 그 쿼럼을 채웠어. 컨트랙트 입장에서는 정당한 요청이 들어온 것처럼 보였고, 200초의 이의제기 기간이 지나자 2415만 USDC를 그대로 내줬지.1 보안업체 Blockaid는 온체인 로직이 우회되지 않았다고 확인했어 — 코드는 설계대로 작동했고, 뚫린 건 그 코드에 서명을 넣는 열쇠였다는 뜻이야.1

확인된 것과 아닌 것

Arbitrum 개발사 Offchain Labs의 공동창업자 Steven Goldfeder는 Arbitrum 자체의 네이티브 브리지는 “어떤 식으로도 해킹되거나 악용되지 않았다”고 밝혔어. 이번 탈취는 Arbitrum 위에서 AFX가 자체 운영하는 제3자 브리지에서 일어난 사고라는 거지.2 체인 전체의 보안이 뚫린 것과, 그 위에서 도는 한 프로토콜의 운영 키가 뚫린 것은 무게가 다른 사고야.

공격자는 탈취한 USDC를 이더리움으로 옮긴 뒤 약 12,467 ETH(약 2400만 달러 상당)로 바꿨고, 온체인 추적에 따르면 이 자금은 현재 지갑 하나에 모여 있어.1 이번에 빠진 2400만 달러는 AFX 프로토콜에 예치된 총액(TVL)의 거의 전부였어 — 공격자는 금고가 가장 찼을 때를 노린 셈이야.1 실제로 공격 직전 AFX의 일일 거래량은 7월 중순 들어 수개월래 최고치로 치솟고 있었어.1

왜 낯설지 않은 패턴인가

이번 사고는 지난 4월 있었던 약 2억 8500만 달러 규모의 Drift Protocol 손실과 닮았어. 두 사건 모두 컨트랙트를 깨뜨린 게 아니라, 공격자가 수개월에 걸쳐 특권 접근 권한에 다가간 결과였지.1 일주일 앞서서는 같은 Arbitrum 위의 RWA 플랫폼 Ostium이 오라클 익스플로잇으로 1800만 달러를 잃기도 했어.1 스마트컨트랙트 자체의 결함보다, 그 컨트랙트를 움직이는 오프체인 권한 — 키, 오라클, 검증자 — 쪽이 계속 뚫리고 있는 흐름이야.

Blockaid는 이번 익스플로잇을 7월 22일 21시 30분(UTC)에 처음 탐지했다고 밝혔어.3 탈취된 자금이 실제로 회수되는지, 아니면 이번에도 단일 지갑에 묶인 채 남는지가 다음에 볼 지점이야.

각주

  1. CoinDesk, 「Arbitrum-based AFX Trade drained of $24 million after bridge keys compromised」(2026-07-23) 원문 ↩︎ ↩︎2 ↩︎3 ↩︎4 ↩︎5 ↩︎6 ↩︎7 ↩︎8 ↩︎9

  2. Steven Goldfeder(Offchain Labs) 발언, CoinDesk, 「Arbitrum-based AFX Trade drained of $24 million after bridge keys compromised」(2026-07-23) 원문 ↩︎

  3. Blockaid(@blockaid_) 발표, CoinDesk, 「Arbitrum-based AFX Trade drained of $24 million after bridge keys compromised」(2026-07-23) 원문 ↩︎