프라이빗키 유출 없이 거래내역과 지갑 UI를 속여 수십억~수천억 원대 자산을 탈취하는 어드레스 포이즈닝 사기가 잇따르고 있다.
전문가들은 최근 거래내역 주소 복사 습관을 중단하고 주소록·화이트리스트 활용, 지갑의 스팸 필터·유사 주소 경고 기능 도입이 시급하다고 지적한다.
7,231억 원 한 번에 증발… 프라이빗키 멀쩡한데 털리는 '주소 독극물' 사기 확산 / TokenPost.ai
주소 독을 노린 ‘어드레스 포이즈닝(address poisoning)’ 사기가 지갑 ‘프라이빗키’ 보안과는 무관하게 막대한 피해를 내고 있다. 공격자는 블록체인 구조나 암호 기술을 뚫지 않는다. 단지 거래내역을 교묘하게 조작해 사용자가 스스로 ‘눈에 익은 주소’라고 착각한 악성 주소로 송금하게 만드는 방식이다.
2025년에는 한 사용자가 잘못 복사한 주소로 테더(USDt) 5,000만 달러(약 7,231억 5,000만 원)를 보내는 사고가 발생했다. 2026년 2월에는 팬텀(Phantom) 지갑의 채팅 기능을 노린 피싱 캠페인에서 어드레스 포이즈닝 기법이 활용돼 래핑된 비트코인 wBTC 약 3.5개, 당시 시세 기준 26만 4,000달러(약 38억 1,800만 원) 상당이 유출됐다. 단순한 ‘인터페이스 속임수’만으로도 수십억~수천억 원대 손실이 발생할 수 있다는 점이 여실히 드러난 셈이다.
이 같은 사건이 잇따르자 바이낸스 공동창업자 창펑 자오(Changpeng Zhao, CZ) 등 업계 인사들은 지갑 서비스에 보다 강력한 보호장치를 도입해야 한다고 공개적으로 요구하고 있다. 문제의 핵심은 프라이빗키 유출이 아니라, 사용자 행동 패턴과 지갑 화면 설계에 있다는 인식이 확산되고 있다.
프라이빗키는 건드리지 않는다…‘거래내역 조작’이 전부
어드레스 포이즈닝은 전통적인 해킹과 달리 프라이빗키 탈취나 스마트컨트랙트 취약점 공략을 시도하지 않는다. 공격자는 블록체인 상에 공개된 정보와 사용자의 습관만 노린다. 일반적인 공격 흐름은 다음과 같다.
먼저, 스캐머는 온체인 데이터를 분석해 고액 자산을 보유한 지갑 주소를 추려낸다. 이후 피해자가 자주 송금하는 상대 주소를 파악한 뒤, 그 주소와 매우 비슷한 새 지갑을 만든다. 예를 들어 이더리움(ETH) 계열 주소는 ‘0x’로 시작하는 42자 영문·숫자 조합인데, 실제 사용자 인터페이스(UI)에는 보통 ‘처음 몇 글자 + … + 마지막 몇 글자’만 잘려서 보인다. 공격자는 이 점을 이용해 ‘앞자리와 뒷자리는 같지만 중간이 다른’ 주소를 의도적으로 만든다.
그 다음 단계는 ‘더스트(dust, 극소량 토큰) 전송’이다. 공격자는 이 가짜 주소에서 피해자 지갑으로 극히 적은 양의 토큰을 보내거나, 심지어 0 값 거래를 발생시킨다. 이렇게 하면 지갑의 ‘최근 거래내역’에 이 가짜 주소가 자연스럽게 등장한다. 시간만 지나면 사용자는 과거 거래내역에서 주소를 복사할 때, 자신이 원래 쓰던 주소와 헷갈려 가짜 주소를 그대로 송금창에 붙여넣게 된다.
이 과정에서 피해자의 지갑이나 프라이빗키는 전혀 손대지 않는다. 블록체인의 암호 기술도 무사하다. 공격은 오로지 사용자의 실수, 그리고 ‘늘 보던 패턴이니 안전하겠지’라는 심리를 노려 성사된다.
에더리움 레이어2 확장 솔루션이 급성장하면서 이 수법이 더 기승을 부리고 있다는 분석도 나온다. 거래 수수료가 크게 낮아지면서 공격자가 수천, 수만 개의 더스트 거래를 뿌려도 비용 부담이 크지 않기 때문이다.
지갑 UI를 파고드는 ‘주소 위장’의 기술
어드레스 포이즈닝의 핵심은 사람 눈에 ‘익숙해 보이게’ 만드는 데 있다. 이더리움 호환 체인에서 지갑 주소는 보통 42자짜리 16진수 문자열이다. 사용자가 매번 이 모든 문자를 확인하는 것은 현실적으로 어렵다. 그래서 대부분의 지갑은 ‘0x85c…4b7’처럼 앞·뒤 일부만 보여준다. 바로 이 ‘축약 표시’가 공격자에게 틈을 제공한다.
예를 들어 다음과 같은 정상 주소가 있다고 가정하자.
0x742d35Cc6634C0532925a3b844Bc454e4438f44e
공격자는 이를 흉내낸 다음과 같은 주소를 만들어낸다.
0x742d35Cc6634C0532925a3b844Bc454e4438f4Ae
앞부분과 뒷부분은 동일하게 보이지만, 가운데 일부와 마지막 몇 글자가 살짝 다르다. 축약된 UI 상에서는 사실상 구분이 쉽지 않다. 이처럼 ‘헷갈리게 비슷한 주소’를 대량으로 뽑아내기 위해 스캐머들은 GPU 기반 ‘베니티 주소 생성기’ 툴을 활용한다. 특정 패턴을 포함하는 주소를 자동으로 찾아주는 도구라, 수천 개의 유사 주소를 몇 분 안에 만들어낼 수 있다.
블록 탐색기 가운데 일부는 이미 이러한 더스트 거래를 자동으로 감지해 ‘스팸’ 혹은 ‘의심 거래’로 표시하는 기능을 도입하고 있다. 다만 사용자가 직접 탐색기를 열어 하나하나 확인하지 않으면, 지갑 앱 내 최근 거래내역 화면에서는 여전히 정상 거래처럼 보이는 것이 현실이다.
왜 이렇게 잘 먹힐까…사람과 UX의 한계
어드레스 포이즈닝이 특히 위험한 이유는 기술적인 난도가 낮은 데 비해 성공률이 높기 때문이다. 여기에 여러 심리·디자인 요소가 겹친다.
우선 인간의 한계다. 긴 16진수 문자열을 매번 전부 확인하는 것은 대부분의 사용자에게 불가능에 가깝다. 사람은 자연스럽게 앞부분과 뒷부분 몇 글자만 대조하고 ‘대충 맞는 것 같다’고 판단한다. 공격자는 바로 이 ‘대충 확인’ 습관을 겨냥한다.
두 번째는 편의 기능의 역설이다. 많은 지갑이 최근 거래 상대 옆에 ‘복사 버튼’을 제공한다. 반복 거래에 편리한 기능이지만, 여기에 스팸 거래가 한 줄 끼어들면 상황이 완전히 달라진다. 온체인 분석가 잭스비티(ZachXBT) 등은 실제 피해 사례 조사에서 피해자 상당수가 이 ‘최근 거래내역의 복사’ 기능을 통해 악성 주소를 그대로 가져다 쓴 정황을 확인했다고 지적한다.
세 번째는 블록체인의 특성이다. 퍼미션리스(permissionless) 구조에서 누구나 누구에게나 토큰을 보낼 수 있고, 대부분의 지갑은 모든 입금·거래 내역을 필터 없이 보여준다. 사용자는 ‘내 지갑에 찍힌 기록’이라는 이유만으로 해당 주소를 신뢰하는 경향이 있다. 기술적인 취약점이 아니라 사용자의 행동과 UI 설계가 공격 표면이 되는 셈이다.
결국 이 사기의 본질은 ‘키 관리’가 아니라 ‘상대 주소 확인 과정’에 있다. 프라이빗키는 오직 ‘내가 이 거래를 승인했는지’를 증명할 뿐, ‘내가 누구에게 보내는지’의 옳고 그름은 판단하지 않는다. 한 번 서명된 거래는 되돌릴 수 없고, 블록체인은 그 기록을 영구 보존한다. 시스템은 설계대로 정확히 작동하지만, 사람의 판단이 잘못되면 그 결과는 그대로 온체인에 박힌다.
사용자와 지갑 개발자가 취할 수 있는 예방 조치
어드레스 포이즈닝은 기술적 취약점이 아닌 ‘행동 패턴의 취약점’을 파고드는 만큼, 작은 습관 변화만으로도 피해 가능성을 크게 낮출 수 있다. 고급 기술 지식이 없어도 실천할 수 있는 몇 가지 수칙이 제시된다.
먼저 사용자 측면에서 가장 중요한 것은 ‘주소 관리’다. 자주 송금하는 상대는 별도의 ‘주소록’이나 화이트리스트로 저장해 두고, 이 목록에서만 선택해 송금하는 습관을 들이는 것이 좋다. 송금 직전에는 가능하면 전체 주소를 처음부터 끝까지 확인하거나, 최소한 별도의 검증 도구를 사용해 한 글자씩 대조하는 과정이 필요하다.
또한 ‘최근 거래내역에서 주소를 복사하는 행위’는 피하는 편이 안전하다. 편리하긴 하지만, 바로 그 지점이 어드레스 포이즈닝의 주 공격 경로이기 때문이다. 기억나지 않는 극소량 입금, 0 값 전송 등 정체불명의 거래가 찍혔다면 이를 ‘잠재적 사기 신호’로 간주하고 무시하거나 신고하는 편이 바람직하다.
지갑 개발자에게도 할 수 있는 일은 많다. 대표적으로는 극소량·0 값 거래를 자동으로 숨기거나 별도 ‘스팸’ 탭으로 분리하는 필터링 기능이 있다. 또 사용자가 과거 저장한 주소와 유사한 새 주소로 송금하려 할 때, 두 주소 간 문자열 유사도를 계산해 ‘유사 주소 경고’를 띄우는 기능도 도입이 가능하다.
거래 서명 전 ‘시뮬레이션’을 실행해 예상 수신 주소와 과거 신뢰된 주소 목록을 비교하고, 이상 징후가 있으면 경고를 보여주는 방식도 하나의 해법이다. 온체인 탐지 서비스나 공유 블랙리스트와 연동해, 이미 알려진 포이즈닝 주소에 대해 실시간 경고를 주는 기능 역시 고려할 만하다.
어드레스 포이즈닝은 블록체인의 투명성과 개방성, 그리고 사용자의 편의를 위해 만들어진 UI 요소들이 뒤섞이며 생긴 ‘그늘’에 가깝다. 프라이빗키만 지키면 안전하다는 기존 통념이 더 이상 통하지 않는 사례가 늘어나고 있는 만큼, 사용자와 서비스 제공자 모두가 ‘주소 확인’이라는 기본 절차를 다시 점검할 필요가 있다. 결국 이 사기는 암호 기술을 깨뜨리지 못하는 대신, 사람과 인터페이스의 허점을 집요하게 파고드는 수법이라는 점을 잊지 말아야 한다.
