크립토 지갑이 스팸메일함이 된 이유

크립토 지갑이 스팸메일함이 된 이유
  • 블록체인 지갑은 자산을 담아두는 금고라기보다, 누구나 우편물을 넣을 수 있는 투명한 공개 우편함에 가깝습니다.
  • 출처를 알 수 없는 토큰과 NFT는 광고, 피싱, 더스팅, 주소 포이즈닝 등을 목적으로 전송될 수 있습니다.
  • 지갑에 표시된 수량은 해당 자산의 진위, 유동성, 시장가치를 보장하지 않습니다.
  • 낯선 자산이 들어온 것만으로 지갑이 해킹된 것은 아닙니다. 대부분의 위험은 링크를 열거나, 지갑을 연결하거나, 거래에 서명하는 순간부터 발생합니다.

개요

어느 날 지갑을 열었는데 처음 보는 토큰이 수십만 개 들어와 있습니다. 구매한 적 없는 NFT에는 ‘보상을 받으려면 특정 사이트에 접속하라’는 문구가 적혀 있습니다. 거래 내역에는 기억나지 않는 소액 입금도 남아 있습니다.

누군가 내 지갑에 침입한 것일까요?

그렇지 않습니다. 지갑 주소는 공개되어 있고, 주소를 아는 사람은 소유자의 허락을 받지 않고도 토큰이나 NFT를 보낼 수 있기 때문입니다. 문제는 낯선 자산이 들어왔다는 사실보다, 그것을 본 사용자가 어떤 행동을 하느냐에 있습니다.

블록체인 지갑을 이해하는 가장 쉬운 비유는 공개 우편함입니다. 누구나 우편물을 넣을 수 있고 우편함에 무엇이 들어 있는지도 확인할 수 있지만, 개인키를 가진 사람만 그 안의 자산을 이동할 수 있습니다. 다만 악성 우편물에 적힌 링크를 따라가 스스로 열쇠를 건네면 이야기가 달라집니다.

누구나 토큰을 보낼 수 있다

블록체인 지갑 안에 토큰 파일이 실제로 저장되는 것은 아닙니다. 지갑은 개인키를 관리하면서 블록체인에 기록된 잔액과 거래를 보여주고, 사용자가 거래에 서명할 수 있게 해주는 도구입니다. 이더리움 공식 문서 역시 계정 주소를 이메일 수신함의 주소에 비유하고 있습니다.

지갑 주소는 공개 정보입니다. 거래소나 다른 지갑에서 자산을 전송했거나, 탈중앙화 애플리케이션에 접속했거나, NFT를 거래했다면 해당 주소와 활동 내역은 블록체인 탐색기에서 확인할 수 있습니다.

이더리움 계열의 ERC-20 토큰을 예로 들면, 보내는 사람은 토큰 컨트랙트의 전송 기능에 수신 주소와 수량을 입력합니다. 이 과정에는 수신자의 동의나 서명이 필요하지 않습니다. ERC-20 표준 자체가 토큰을 다른 주소로 전송할 수 있도록 설계되어 있기 때문입니다.

블록체인은 해당 거래가 규칙에 맞게 서명되었는지만 확인합니다. 광고인지, 선물인지, 사기성 스팸인지는 판단하지 않습니다.

지갑 서비스가 의심스러운 토큰을 숨기거나 경고할 수는 있지만, 이미 블록체인에 기록된 전송 자체를 삭제할 수는 없습니다. 이메일 서비스에는 스팸함이 있지만, 블록체인에는 모든 참여자가 따르는 중앙 스팸 차단 관리자가 없는 셈입니다.

스팸 토큰은 왜 보내는 걸까

모든 무작위 에어드랍이 반드시 공격인 것은 아닙니다. 새로운 프로젝트가 홍보 목적으로 토큰을 배포하거나, 기존 이용자에게 보상을 지급하는 경우도 있습니다.

그러나 출처가 불분명한 토큰과 NFT는 대체로 네 가지 목적 중 하나를 가집니다.

광고

불특정 다수의 지갑에 토큰을 전송해 프로젝트 이름을 노출합니다. 토큰 이름이나 심볼 자체를 웹사이트 주소처럼 만들기도 합니다.

피싱

NFT 이미지나 설명에 ‘무료 보상’, ‘에어드랍 수령’, ‘쿠폰 교환’과 같은 문구와 웹사이트 주소를 넣습니다. 사용자가 해당 사이트에 접속해 복구 구문을 입력하거나 악성 거래에 서명하도록 유도하는 방식입니다. MetaMask도 요청하지 않은 NFT가 특정 웹사이트 접속과 서명을 요구한다면 상호작용하지 말 것을 안내하고 있습니다.

지갑 활동 추적

매우 작은 금액을 여러 주소에 보낸 뒤 해당 자산이 이후 어떻게 이동하는지 관찰합니다. 이를 일반적으로 더스팅 공격이라고 부릅니다.

주소 포이즈닝

사용자가 자주 거래한 주소와 비슷하게 생긴 가짜 주소를 거래 내역에 심어둡니다. 이후 사용자가 과거 거래 내역에서 주소를 복사할 때 공격자의 주소를 잘못 선택하도록 노립니다.

스팸 자산의 경제적 가치는 거의 없어도 상관없습니다. 공격자가 원하는 것은 토큰의 가격이 아니라 사용자의 관심과 행동이기 때문입니다.

더스팅과 스팸 에어드랍의 차이

더스팅은 원래 먼지처럼 작은 양의 가상자산을 여러 주소에 보내는 행위를 의미합니다.

특히 비트코인과 같은 UTXO 기반 블록체인에서는 사용자가 이후 더스트를 다른 자산과 함께 전송할 때 거래 관계를 분석해 여러 주소가 동일한 사람에게 속했는지 추정할 수 있습니다. 즉, 전통적인 더스팅 공격의 주요 목적은 자산 탈취보다 지갑 활동의 연결과 신원 추적에 가깝습니다.

반면 스팸 에어드랍은 사용자의 클릭을 유도하는 경우가 많습니다.

  • 더스팅: 이 주소의 주인이 누구인지 알아내려는 시도
  • 스팸 에어드랍: 이 주소의 주인을 가짜 사이트로 유인하려는 시도
  • 주소 포이즈닝: 이 주소의 주인이 잘못된 수신처로 송금하게 만들려는 시도

실제 지갑에서는 이 방식들이 함께 사용되기도 합니다. 아주 적은 토큰을 보낸 뒤 거래 내역에 가짜 주소를 남기고, 토큰 이름이나 NFT 이미지에는 피싱 사이트 주소를 표시하는 식입니다.

거래 내역을 오염시키는 주소 포이즈닝

가상자산 지갑 주소는 길고 복잡합니다. 예를 들어 다음 두 주소를 비교해 보겠습니다.

  • 정상 주소: 0x7A3B4F82········91C2
  • 공격자 주소: 0x7A3BB711········91C2

전체 주소는 다르지만, 지갑 화면이 앞부분과 뒷부분만 축약해서 보여주면 둘 다 0x7A3B…91C2처럼 보일 수 있습니다.

공격자는 사용자의 과거 거래를 살펴본 뒤, 자주 이용한 수신 주소와 앞뒤 문자가 비슷한 주소를 생성합니다. 이후 0원 또는 극소량의 거래를 보내 해당 주소를 사용자의 거래 내역에 노출합니다.

사용자가 나중에 다음과 같이 행동하면 피해가 발생합니다.

  1. 이전에 송금했던 주소를 다시 사용하려고 거래 내역을 엽니다.
  2. 앞뒤 문자가 익숙해 보이는 주소를 복사합니다.
  3. 실제로는 공격자의 주소인데도 정상 주소로 착각합니다.
  4. 상당한 금액을 공격자에게 전송합니다.

이것이 주소 포이즈닝, 또는 주소 포이즈닝입니다. 공격자가 지갑을 해킹한 것이 아니라 사용자의 거래 내역을 가짜 주소로 오염시켜 복사·붙여넣기 습관을 공격한 것입니다.

토큰 이름도 비슷한 착각을 유도할 수 있습니다. ERC-20 토큰의 이름과 심볼은 고유 식별자가 아닙니다. 누구든 기존 자산과 동일하거나 유사한 이름의 토큰을 만들 수 있습니다. 토큰의 실제 신원을 구별하는 기준은 이름이나 로고가 아니라 컨트랙트 주소입니다.

따라서 지갑에 USDT, ETH처럼 익숙한 이름이 표시된다고 해서 실제 공식 자산이라고 단정해서는 안 됩니다.

스팸 토큰의 가치는?

지갑에 토큰 100만 개가 표시되어 있다면, 얼핏 큰 자산을 받은 것처럼 보일 수 있습니다. 하지만 이는 대개 특정 토큰 컨트랙트가 해당 주소의 잔액을 100만 개로 기록했다는 의미에 불과합니다.

토큰이 실질적인 가치를 가지려면 별도의 조건이 필요합니다.

  • 공식 프로젝트가 발행한 진짜 토큰인지
  • 자유롭게 전송하거나 거래할 수 있는지
  • 실제 거래시장과 유동성이 존재하는지
  • 해당 가격에 매수하려는 상대방이 있는지
  • 토큰 컨트랙트에 비정상적인 수수료나 제한이 없는지

공격자는 토큰을 거의 무제한으로 발행해 수십만 개씩 뿌릴 수 있습니다. 숫자가 크다는 이유만으로 가치가 생기지는 않습니다.

일부 토큰은 지갑에는 표시되지만 전송이나 판매가 불가능하도록 설계되어 있습니다. 사용자가 판매를 시도하면 거래가 계속 실패하거나, 특정 웹사이트에서만 교환할 수 있다는 안내가 나타날 수 있습니다. 이는 사용자를 별도의 피싱 사이트로 유도하기 위한 장치일 수 있습니다.

지갑 화면은 모든 자산의 진위를 보증하는 공인 명세서가 아닙니다. 블록체인에 기록된 데이터를 읽어 보여주는 데이터 뷰어에 더 가깝습니다.

스팸 토큰의 위험성

낯선 토큰이나 NFT가 지갑에 들어온 것만으로 개인키가 노출되거나 기존 자산이 자동으로 빠져나가지는 않습니다.

위험은 대체로 다음 단계에서 시작됩니다.

낯선 자산이 요구하는 행동에 응하는 것이 위험합니다.

외부 링크를 여는 경우

토큰 이름, NFT 이미지, 설명란에 포함된 주소를 통해 가짜 에어드랍 사이트나 가짜 거래소에 접속할 수 있습니다.

지갑을 연결하는 경우

지갑 연결만으로 자산 이동 권한이 자동으로 넘어가는 것은 아닙니다. 일반적인 연결은 사이트가 사용자의 공개 주소와 잔액을 확인할 수 있게 하는 단계입니다. 그러나 연결 이후 나타나는 서명과 승인 요청이 실제 공격으로 이어질 수 있습니다.

거래나 메시지에 서명하는 경우

사용자는 단순한 로그인이나 보상 수령으로 생각하지만, 실제로는 토큰 사용 권한이나 NFT 전체 관리 권한을 넘기는 서명일 수 있습니다.

토큰 판매를 시도하는 경우

스팸 토큰에 표시된 사이트에서 판매를 시도하면 ‘판매’가 아니라 사용자가 보유한 다른 자산에 대한 무제한 사용 승인을 요구할 수 있습니다. 악성 토큰 승인은 컨트랙트가 사용자의 토큰을 대신 이동할 수 있게 만드는 대표적인 공격 경로입니다.

따라서 “모르는 토큰은 클릭만 해도 해킹된다”는 설명은 정확하지 않습니다. 신뢰할 수 있는 지갑 앱 안에서 토큰의 존재를 확인하는 행위 자체와, 토큰이 안내하는 외부 사이트에 접속해 서명하는 행위는 구분해야 합니다.

지갑 스팸에 대응법

낯선 토큰이나 NFT가 들어왔다면

가장 안전한 대응은 반응하지 않는 것입니다.

  • 지갑의 숨김 또는 스팸 신고 기능을 사용합니다.
  • 토큰이나 NFT에 적힌 링크와 QR 코드를 열지 않습니다.
  • 보상을 받기 위해 수수료를 보내거나 복구 구문을 입력하지 않습니다.
  • 토큰을 없애기 위해 반송하거나 별도 주소로 보낼 필요도 없습니다.
  • 공식 프로젝트인지 확인해야 한다면 토큰 내부 링크가 아니라 프로젝트의 공식 채널에서 컨트랙트 주소를 확인합니다.

자산을 전송할 때

거래 내역에서 주소를 그대로 복사하는 습관은 피하는 것이 좋습니다.

  • 자주 사용하는 주소는 검증 후 주소록이나 화이트리스트에 저장합니다.
  • 상대방에게 받은 주소는 별도의 연락 수단으로 다시 확인합니다.
  • 주소의 첫 네 자리와 마지막 네 자리만 보지 말고 중간 구간도 함께 비교합니다.
  • 하드웨어 지갑을 사용한다면 기기 화면에 표시된 수신 주소를 확인합니다.
  • 큰 금액을 전송하기 전에는 소액 테스트 전송을 먼저 진행합니다.

주소 포이즈닝 공격자는 앞부분과 뒷부분이 비슷한 주소를 의도적으로 만들기 때문에, 축약된 주소가 익숙해 보인다는 것만으로는 충분하지 않습니다.

탈중앙화 애플리케이션을 사용할 때

장기 보관용 지갑과 외부 서비스 이용용 지갑을 분리하는 것이 좋습니다.

보관용 지갑은 검증된 주소와의 자산 이동에만 사용하고, 에어드랍·NFT·디파이 서비스는 소액만 보관한 별도 지갑으로 이용하면 한 번의 잘못된 서명이 전체 자산 피해로 이어지는 것을 줄일 수 있습니다.

토큰 사용 승인이 필요한 경우에는 가능한 범위에서 필요한 수량만 승인하고, 사용하지 않는 승인은 주기적으로 정리하는 편이 안전합니다.

이미 링크를 눌렀거나 서명했다면?

상황에 따라 대응이 달라집니다.

지갑에서 토큰이나 NFT를 확인만 했다면

일반적으로 별도의 조치는 필요하지 않습니다. 숨김 또는 스팸 신고 처리하면 됩니다.

사이트에 접속하거나 지갑만 연결했다면

사이트 연결을 해제하고, 이후 별도의 서명이나 거래 승인을 했는지 확인합니다. 단순 연결과 자산 이동 승인은 서로 다른 단계입니다.

토큰 승인이나 의심스러운 서명을 했다면

해당 네트워크에서 부여한 토큰 승인과 NFT 권한을 즉시 확인하고 철회해야 합니다. 지갑을 사이트에서 연결 해제하는 것만으로는 기존의 온체인 승인이 취소되지 않습니다. 승인을 철회하려면 별도의 온체인 거래가 필요할 수 있습니다.

복구 구문이나 개인키를 입력했다면

기존 지갑은 더 이상 안전하다고 볼 수 없습니다. 복구 구문이나 개인키를 아는 사람은 해당 지갑의 자산을 직접 이동할 수 있기 때문입니다. 깨끗한 환경에서 새로운 지갑을 생성하고, 남아 있는 자산을 새 주소로 옮기는 조치가 필요합니다.

마무리

퍼블릭 블록체인의 장점은 누구나 허가 없이 참여하고 거래할 수 있다는 점입니다. 그러나 같은 개방성 때문에 누구나 다른 사람의 주소로 원하지 않는 토큰과 NFT를 보낼 수도 있습니다.

지갑은 아무나 들어올 수 없는 금고가 아닙니다. 더 정확히는 누구나 우편물을 넣고 내부 기록도 확인할 수 있지만, 개인키를 가진 사람만 자산을 움직일 수 있는 투명한 공개 우편함입니다.

따라서 낯선 토큰이 들어왔다고 바로 당황할 필요는 없습니다. 중요한 것은 그 토큰의 수량이나 이름이 아니라, 그것이 사용자에게 어떤 행동을 요구하는지 확인하는 것입니다.


면책 고지: 본 콘텐츠는 일반 정보 제공 및 교육 목적만을 위해 "있는 그대로" 제공되며, 어떠한 종류의 진술이나 보증도 포함하지 않습니다. 본 콘텐츠는 금융, 법률 또는 기타 전문 자문으로 해석되어서는 안 되며, 특정 상품이나 서비스의 구매를 권유하기 위한 목적도 아닙니다. 필요할 경우 적절한 전문 자문가로부터 별도의 조언을 구하시기 바랍니다. 본 콘텐츠가 제3자 기고자에 의해 제공된 경우, 해당 견해는 제3자 기고자의 의견이며 고팍스의 견해를 반드시 반영하는 것은 아닙니다. 가상자산 가격은 변동성이 클 수 있습니다. 투자금의 가치는 하락하거나 상승할 수 있으며, 투자 원금을 회수하지 못할 수도 있습니다. 투자 결정에 대한 책임은 전적으로 본인에게 있으며, 고팍스 아카데미는 귀하에게 발생할 수 있는 어떠한 손실에 대해서도 책임을 지지 않습니다.