크립토 주소 포이즈닝: 송금 전 지갑 주소를 검증하는 방법
주소 포이즈닝은 거래 내역에 닮은 지갑 주소를 심는 사기예요. 작동 원리와 안전한 전체 주소 검증 체크리스트를 알아보세요.
최종 업데이트
최근 거래 내역에서 익숙한 주소를 복사하면 빠르고 편해 보여요. 하지만 공격자는 바로 그 습관을 기다립니다. **크립토 주소 포이즈닝(Address Poisoning)**은 정상 거래 옆에 닮은 주소를 끼워 넣어 잘못된 수신자에게 송금하게 만드는 사기예요. 이 글에서는 크립토 지갑 보안의 실전 원칙을 바탕으로, 송금 전 목적지를 검증하는 절차를 정리합니다.
Important
이 글은 교육 목적이며 투자 조언이 아닙니다(NFA). 온체인 송금은 되돌리기 어렵고 어떤 체크리스트도 안전을 보장하지 않아요. 최신 안내를 직접 확인하고, 잃어도 되는 금액만 사용하며 스스로 조사하세요(DYOR).
크립토 주소 포이즈닝이란?
주소 오염 또는 주소 스푸핑(Address Spoofing)이라고도 불리는 이 공격은 복사·붙여넣기 습관을 노린 사회공학 사기예요. 공격자는 자주 쓰는 주소와 비슷한 주소를 만든 다음, 그 주소가 지갑이나 블록 탐색기의 거래 내역에 보이게 합니다. 나중에 사용자가 검증된 원본 대신 가짜 주소를 복사하도록 유도하는 거죠.
영수증 더미 사이에 가짜 연락처 카드를 끼워 넣는 상황을 떠올려 보세요. 영수증은 어떤 사건이 있었다는 기록이지만, 거기에 적힌 연락처가 내가 돈을 보내려던 사람의 것이라는 보증은 아닙니다.
이더리움 계정 공식 문서에 따르면 외부 소유 계정(EOA) 주소는 0x와 40개의 16진수 문자로 구성돼요. 화면은 주소 중간을 줄여 표시하곤 합니다. 공격자는 개인키를 훔치거나 완전히 같은 주소를 만들 필요가 없어요. 화면에 보이는 앞뒤 일부만 닮게 만들어도 성급한 확인 습관을 노릴 수 있습니다.
EIP-55 체크섬 주소는 우발적인 문자나 대소문자 오류를 많이 감지할 수 있지만 수신자 신원을 인증하지는 않아요. 공격자의 유사 주소도 자체적으로 유효한 체크섬을 가질 수 있으므로, 독립된 출처의 전체 값을 비교해야 합니다.
거래 내역은 어떻게 오염될까?
일반적인 흐름은 네 단계예요.
- 관찰: 공격자가 공개 온체인 기록을 보고 자주 쓰는 주소를 찾습니다.
- 모방: 프로그램으로 앞부분이나 뒷부분이 정상 주소와 닮은 새 주소를 생성해요. 가운데 문자는 다릅니다.
- 심기: 아주 적은 금액, 0원 토큰 이벤트 또는 눈에 띄는 상호작용을 유사 주소로 발생시켜요. 표시 방식은 체인·토큰·탐색기·지갑마다 다를 수 있습니다.
- 오송금 유도: 다음 송금 때 사용자가 오염된 내역을 복사하면, 정상적으로 서명된 자금이 공격자에게 갑니다.
Chainalysis가 2024년 10월 23일 공개한 분석은 유사 주소를 거래 내역에 심는 구조를 온체인 사례로 설명해요. Trezor의 최신 주소 포이즈닝 지원 문서도 거래 내역이나 블록 탐색기에서 목적지를 복사하지 말라고 권고합니다.
핵심은 마지막 단계예요. 사용자가 잘못된 수신자에게 보내는 유효한 거래에 직접 서명합니다. 네트워크가 두 주소를 혼동하는 게 아니에요. 이더리움 거래 공식 문서가 설명하듯 수신 to 주소는 서명하는 명령의 일부이고, 네트워크는 승인된 목적지를 처리합니다.
개인키 탈취·더스팅과 무엇이 다를까?
| 위협 | 공격자의 목표 | 보이는 현상 | 핵심 방어 |
|---|---|---|---|
| 주소 포이즈닝 | 유사 주소로 오송금 유도 | 오염된 거래 내역 | 독립된 출처에서 목적지를 가져와 전체 검증 |
| 시드 문구 피싱 | 계정 통제권 탈취 | 복구 문구 입력 요청 | 비밀정보를 절대 공개하지 않기 |
| 악성 승인 | 토큰 지출 권한 획득 | 허용량·권한 서명 요청 | 사용 주체, 범위, 금액, 만료 확인 |
| 더스팅·스팸 토큰 | 추적 또는 상호작용 유도 | 원치 않는 자산·거래 | 무시하고 링크나 토큰과 상호작용하지 않기 |
낯선 입금이 보인다고 개인키가 유출된 것은 아닙니다. 공개 주소는 원래 자산을 받을 수 있어요. Coinbase의 공개 주소 안내는 공유 가능한 수신 주소와 자금을 통제하는 개인키를 구분합니다.
지갑을 '청소'하겠다며 받은 금액을 돌려보내지 마세요. 토큰 이름에 들어간 URL도 방문하지 않습니다. 해당 기록을 신뢰할 수 없는 데이터로 취급하세요.
더 안전한 주소 검증 절차
1. 거래 내역이 아니라 신뢰할 수 있는 출처에서 시작해요
미리 검증한 주소록, 수신자의 인증된 계정, 즐겨찾기로 직접 연 공식 입출금 화면에서 목적지를 가져오세요. 거래 목록은 일어난 일을 보여 주는 기록일 뿐, 신뢰할 수 있는 연락처 목록이 아닙니다.
큰 금액이라면 가능할 때 두 번째 채널로 확인하세요. 이메일로 주소를 받았다면 같은 메일에 답장하는 대신, 이미 알고 있는 전화번호나 기존 암호화 메신저에서 재확인합니다. 이메일 계정 자체가 탈취됐을 수 있어요.
2. 줄임 주소가 아니라 전체 문자를 비교해요
앞뒤 네 글자만 맞는다고 승인하면 안 됩니다. 주소를 펼쳐 신뢰할 수 있는 원본과 모든 문자를 비교하세요. 지갑에서 전체 목적지를 보여 주지 않는다면 멈추고 전체 값을 확인할 수 있는 인터페이스를 사용합니다.
네트워크와 자산도 확인하세요. 같은 형태의 EVM 주소를 여러 네트워크에서 쓸 수 있어도, 수신자가 선택한 체인이나 토큰을 지원한다는 뜻은 아닙니다.
3. 서명 기기에서 다시 검증해요
하드웨어 지갑을 쓴다면 컴퓨터 화면과 클립보드를 최종 기준으로 삼지 마세요. 신뢰할 수 있는 기기 화면의 전체 목적지를 비교합니다. 클립보드 치환 악성코드는 다른 공격이지만 같은 기기 확인 절차로 두 위험을 줄일 수 있어요.
이 과정은 클리어 사이닝의 실전 적용이기도 합니다. 실제로 승인할 수신자, 자산, 금액, 네트워크, 행동을 확인하세요. 읽기 쉬운 화면은 도움이 되지만 독립 검증을 대신하지 않습니다.
4. 검증된 주소록이나 허용 목록을 사용해요
반복 송금하는 곳은 별도 채널로 확인한 뒤 주소를 저장하고 이름을 붙이세요. 거래소가 출금 주소 허용 목록(Allowlist)과 신규 주소 등록 지연을 제공한다면 사용을 고려할 수 있습니다. 주소록 변경에는 강한 인증을 적용하고, 기존 주소를 바꿔 달라는 예상 밖의 요청은 고위험 변경으로 취급하세요.
5. 소액 테스트 후 같은 주소를 다시 확인해요
소액 테스트는 수신자가 해당 주소를 통제하고 경로가 작동하는지 확인하는 데 도움이 됩니다. 하지만 나중에 거래 내역에서 주소를 새로 복사하면 안전하지 않아요. 처음 검증한 목적지를 그대로 사용하고, 본 송금 전 다시 비교하며, 수신자에게 테스트 입금을 확인받으세요. Trezor도 큰 금액 전 소액 테스트를 권하면서 추가 수수료가 들 수 있다고 설명합니다.
지갑 경고가 할 수 있는 것과 없는 것
지갑은 의심스러운 주소나 거래 내역을 점점 더 적극적으로 표시해요. MetaMask는 2026년 6월 17일 주소 포이즈닝 탐지 기능을 발표했고, Trezor는 의심 활동을 흐리게 표시하는 필터를 안내합니다.
하지만 안전을 증명하지는 않습니다. 탐지 범위는 지갑, 네트워크, 거래 유형, 위협 정보에 따라 달라요. 새 공격 주소는 평판 정보가 없을 수 있습니다. MetaMask의 보안 경고 문서도 신뢰 신호는 정보 제공용이며 안전 보장이 아니라고 명시해요. 경고가 나오면 멈추고, 경고가 없어도 평소 검증 절차를 실행하세요.
흔한 실수와 남는 위험
- 줄여 표시된 문자만 확인: 공격자는 화면이 보여 주는 앞뒤 문자를 의도적으로 닮게 만들어요.
- 테스트 후 주소 연속성을 잃음: 테스트는 한 목적지만 검증합니다. 다음 거래 내역까지 검증하지 않아요.
- 하드웨어 지갑이 수신자 신원을 안다고 생각: 기기는 키와 데이터를 보호하지만 의도한 사람은 사용자가 확인해야 합니다.
- 원치 않는 기록을 지우려 함: 공개 체인에서는 누구나 활동을 만들 수 있고, 상호작용은 위험을 더할 수 있어요.
- 시뮬레이션만 신뢰: 트랜잭션 시뮬레이션은 잘못된 주소로 보내는 정상 송금도 보여 줄 수 있어요. 실행 결과를 미리 볼 뿐 사람의 신원은 검증하지 않습니다.
- 운영 채널 탈취를 무시: 검증 주소도 해킹된 이메일, 청구서, 웹사이트, 거래소 계정, 클립보드에서 바뀔 수 있어요.
송금 전 빠른 체크리스트
- 최근 거래 내역이 아니라 신뢰할 수 있는 출처에서 목적지를 가져왔나요?
- 앞뒤 일부가 아니라 모든 문자를 비교했나요?
- 서명 기기에서 네트워크, 자산, 금액, 목적지를 확인했나요?
- 새 수신자나 변경된 주소라면 두 번째 신뢰 채널로 재확인했나요?
- 테스트를 보냈다면 수신 확인을 받았고 같은 주소를 사용하나요?
- 시간 압박 없이 침착하게 요청을 검토하고 있나요?
하나라도 아니라고 답했다면 아직 서명하지 마세요.
자주 묻는 질문(FAQ)
주소 포이즈닝 입금만으로 지갑이 털릴 수 있나요?
일반적인 핵심 공격은 그렇지 않아요. 나중에 유사 주소를 복사해 직접 송금해야 피해가 발생합니다. 다만 별도의 피싱이나 악성 승인 공격과 결합될 수 있으니 원치 않는 토큰이나 링크에는 상호작용하지 마세요.
낯선 입금이 보이면 지갑이 해킹된 건가요?
반드시 그렇지는 않습니다. 누구나 공개 주소로 활동을 보낼 수 있어요. 내가 승인하지 않은 출금이나 권한이 있는지 점검하되, 낯선 입금 하나만으로 키 유출을 단정하지 마세요.
소액 테스트로 주소 포이즈닝을 막을 수 있나요?
첫 실수의 피해를 줄이고 경로를 확인할 수 있지만, 테스트한 목적지를 보존하고 다시 검증해야 해요. 본 송금 때 새 거래 내역을 복사하면 공격이 다시 들어올 수 있습니다.
지갑 경고가 없으면 안전한 주소인가요?
아니요. 경고와 인증 표시는 유용한 신호일 뿐 보장이 아닙니다. 신규 공격, 탐지 범위의 빈틈, 정상 채널 탈취 가능성은 남아 있어요.
목적지 검증을 습관으로 만드세요
주소 포이즈닝은 가짜 주소를 익숙해 보이게 만들어 성공합니다. 오래가는 방어법은 절차예요. 목적지를 독립된 출처에서 가져오고, 전체 값을 비교하고, 서명 기기에서 확인하며, 중요한 변경은 두 번째 채널로 검증하세요. 평범해 보이는 송금일수록 잠깐 멈추는 습관이 필요합니다.
이 글은 투자 조언이 아닙니다. 크립토 송금과 시장에는 큰 위험이 있으므로 최신 지갑 안내를 확인하고, 잃어도 되는 금액만 사용하며 스스로 조사하세요(DYOR).
함께 읽으면 좋은 글

크립토 사기 예방 완전 가이드 2026: 수법·단계별 예방·피해 대응
크립토 사기 피해는 2025년 기준 $17B. 피싱·러그풀·피그 부처링 등 10가지 수법, 단계별 예방 실전 수칙, 체크리스트, 피해 발생 시 즉시 해야 할 행동까지 한 곳에 정리했습니다.

클리어 사이닝 vs 블라인드 사이닝: 지갑 서명창 읽는 법
클리어 사이닝은 지갑 요청을 읽을 수 있게 보여줘요. 블라인드 사이닝과의 차이, EIP-712·ERC-7730, 서명 전 점검법을 정리합니다.

크립토 트랜잭션 시뮬레이션: 지갑 서명 전에 결과 읽는 법
크립토 트랜잭션 시뮬레이션으로 서명 전 자산 이동·승인·가스 변화를 미리 확인하는 법과 결과를 맹신하면 안 되는 이유를 정리합니다.
관련 주제 살펴보기

Solidity abi.encode vs abi.encodePacked: 차이와 충돌 위험
Solidity abi.encode와 abi.encodePacked의 구조 차이, 동적 값의 패킹 충돌 원리, 해시와 컨트랙트 호출에 맞는 안전한 선택법을 설명합니다.
이더리움 프록시 컨트랙트 완전 정리: delegatecall·UUPS·업그레이드 리스크
이더리움 프록시 컨트랙트의 delegatecall 구조, 투명·UUPS·비콘 방식의 차이와 실제 업그레이드 권한을 안전하게 확인하는 법을 설명해요.