솔직히 저는 한동안 "시드 구문만 안 빼앗기면 지갑은 안전하다"고 믿었습니다. 그런데 주변에서 실제로 피해를 입은 사람들 이야기를 들어보면 비밀번호가 털린 경우가 아니었습니다. 본인이 직접 누른 서명 하나가 화근이었습니다. 크립토 드레이너(Crypto Drainer), 즉 암호화폐 지갑을 통째로 비워가는 악성 피싱 도구가 얼마나 정교하게 설계되어 있는지, 그리고 토큰 승인(Token Approval) 권한이 방치될 때 어떤 위험이 생기는지를 제가 직접 조사하고 확인한 내용으로 풀어보겠습니다.

악성 승인 한 번이 수천만 원을 날리는 이유
제가 처음 크립토 드레이너의 작동 방식을 제대로 파악했을 때, 솔직히 좀 무서웠습니다. 해커가 서버를 뚫거나 지갑 앱을 분해하는 것이 아니라, 사용자가 스스로 권한 위임장에 도장을 찍게 만드는 구조이기 때문입니다.
크립토 드레이너는 Web3 생태계를 겨냥한 피싱 도구입니다. 일반적인 피싱이 아이디와 비밀번호를 빼내는 방식이라면, 드레이너는 피해자가 지갑을 연결하고 트랜잭션 제안을 승인하도록 유도합니다. 이 승인이 바로 토큰 어프루벌(Token Approval)입니다. 여기서 토큰 어프루벌이란 특정 스마트 컨트랙트에게 "내 지갑 안에 있는 이 토큰을 나 대신 옮길 수 있는 권한"을 부여하는 행위입니다. 문제는 이 권한이 서명 즉시 발효되고, 별도로 취소하지 않으면 반영구적으로 유지된다는 점입니다.
제가 아는 지인 이야기를 하자면, 공식처럼 보이는 SNS 계정에서 "선착순 에어드랍" 링크가 올라왔고, 지인은 마감 임박이라는 말에 급하게 지갑을 연결하고 서명을 눌렀습니다. 에어드랍(Airdrop)이란 프로젝트 측에서 조건 없이 토큰을 무료로 지급하는 이벤트로, 크립토 생태계에서 흔히 쓰이는 마케팅 방식입니다. 그런데 그 링크는 진짜 에어드랍이 아니었습니다. 서명 직후에는 아무 일도 일어나지 않았고, 지인은 안심했습니다. 그러나 몇 달 뒤 지갑에 새로 입금한 금액까지 포함해서 순식간에 낯선 주소로 전액이 빠져나갔습니다.
이것이 바로 휴면 승인(Dormant Approval)의 위력입니다. 휴면 승인이란 과거에 연결했던 사이트나 컨트랙트에 부여한 권한이 아직 살아있는 상태를 가리킵니다. 해커는 굳이 서두르지 않습니다. 피해자의 지갑에 잔액이 채워지기를 기다렸다가, 자동화된 방식으로 승인 권한을 실행해 자산을 쓸어갑니다. 출처: Chainalysis에 따르면 드레이너가 탈취한 자금의 상당 부분은 믹싱 서비스(Mixing Service)를 통해 세탁됩니다. 믹싱 서비스란 여러 지갑의 자금을 뒤섞어 출처 추적을 어렵게 만드는 도구입니다. 2022~2023년 기준으로는 탈취 자금의 대부분이 탈중앙화 거래소(DEX), 브리지, 스왑 서비스 등 DeFi 프로젝트를 통해 세탁되었습니다.
공격 규모도 무시할 수 없습니다. 2024~2025년 기준으로 승인 기반 피싱 및 익스플로잇으로 인한 피해액은 2억 달러를 넘어섰습니다(출처: D'CENT Wallet Team). 이 수치가 더 무거운 이유는 피해자 상당수가 "내가 승인한 적이 있다"는 사실 자체를 기억하지 못했다는 데 있습니다. 비트코인 오디널스(Bitcoin Ordinals) 거래 커뮤니티를 노린 가짜 Magic Eden 사이트처럼 이제는 이더리움 생태계를 넘어 비트코인 네트워크에서도 드레이너가 발견되고 있습니다. 2024년 4월 기준 해당 드레이너 하나만으로 1,000건 이상의 악성 트랜잭션을 통해 약 50만 달러가 탈취되었습니다.
- 무제한 승인(Unlimited Approval): dApp이 특정 토큰 전량에 대한 영구적 이동 권한을 요청하는 방식. 피해자는 한 번 서명으로 잔액 전체를 노출시킨다.
- 피싱 승인(Phishing Approval): 공식 사이트와 동일한 UI를 가진 가짜 페이지에서 정상 승인처럼 위장해 악성 컨트랙트 권한을 획득하는 수법.
- 휴면 승인 악용: 과거에 정상적으로 사용했던 dApp이 나중에 해킹당하면, 기존에 부여된 승인 권한을 타고 자산이 탈취된다.
권한 취소 습관과 하드웨어 지갑의 한계
제 경험상 이건 좀 다릅니다. 많은 분들이 하드웨어 지갑을 쓰면 모든 해킹 위협에서 자유롭다고 생각하는 경향이 있습니다. 저도 처음에는 그렇게 알고 있었습니다. 그런데 하드웨어 지갑은 개인 키(Private Key)를 오프라인에서 안전하게 보관해 주는 장치입니다. 개인 키란 블록체인 지갑의 소유권을 증명하는 고유한 암호값으로, 이것이 유출되면 지갑 전체를 잃습니다. 하드웨어 지갑은 이 열쇠를 인터넷과 분리된 공간에 잠가두는 역할을 합니다.
그러나 핵심은 여기에 있습니다. 하드웨어 지갑은 열쇠를 지켜주지만, 사용자가 직접 내린 잘못된 승인 결정까지 막아주지는 못합니다. 악성 어프루벌에 서명을 하면 하드웨어 지갑은 그것을 "사용자가 원하는 정당한 거래"로 처리합니다. 장치는 판단하지 않습니다. 판단은 사람이 해야 합니다.
그렇다면 현실적으로 무엇을 해야 할까요. 제가 직접 조사해봤을 때 가장 실용적인 방법은 정기적인 권한 취소(Revoke) 습관을 들이는 것이었습니다. 권한 취소란 과거에 특정 컨트랙트에 부여한 토큰 이동 권한을 on-chain 트랜잭션으로 0으로 되돌리는 행위입니다. Revoke.cash는 이더리움을 포함한 100개 이상의 네트워크에서 활성화된 승인 목록을 한눈에 보여주고, 위험한 권한을 클릭 한 번으로 취소할 수 있게 해주는 도구입니다. 사용법은 단순합니다. 사이트에 접속해 지갑을 연결하고, 무제한으로 표시된 항목이나 오래된 항목을 찾아 "Revoke" 버튼을 누르면 됩니다. 취소 자체도 소규모 가스비가 드는 온체인 트랜잭션이라는 점은 감안해야 합니다.
제가 직접 써봤는데, 오래된 지갑을 처음 점검했을 때 기억도 나지 않는 컨트랙트 여러 개에 무제한 권한이 남아있는 것을 확인하고 적잖이 놀랐습니다. 이게 남아있는 동안은 지갑 안에 언제 터질지 모르는 시한폭탄을 품고 다니는 것과 다르지 않습니다.
실시간 방어 측면에서는 Blockaid 같은 트랜잭션 보안 엔진의 역할도 주목할 만합니다. Blockaid는 서명 전에 트랜잭션을 시뮬레이션해서 어떤 권한이 어느 범위까지 부여되는지를 미리 분석하고, 알려진 피싱 컨트랙트 데이터베이스와 대조해 위험 신호를 경고해 줍니다. 그러나 이 역시 새로 생성된 악성 컨트랙트나 데이터베이스에 아직 등록되지 않은 위협은 탐지하지 못할 수 있습니다. 기술적 방어 도구는 보조 수단이고, 서명창에 표시된 컨트랙트 주소와 승인 수량을 본인의 눈으로 직접 확인하는 것이 최후의 방어선입니다.
보안 관점에서 정리하면 다음과 같은 실천 원칙이 유효합니다. 대규모 자산은 콜드 월렛(Cold Wallet), 즉 인터넷과 완전히 분리된 오프라인 지갑에 보관하고, dApp 연결이 필요할 때만 소액을 핫 월렛(Hot Wallet)으로 옮겨서 사용하는 방식입니다. 또한 Discord나 SNS에서 공유되는 링크는 공식 계정 여부와 무관하게 일단 의심하는 태도가 필요합니다. 2024년 1월에는 미국 SEC의 공식 X(트위터) 계정이 해킹당해 가짜 토큰 에어드랍 링크가 게시된 사례도 있었습니다. 공식 계정이라는 신뢰가 드레이너의 미끼로 활용된 대표적인 사례입니다.
자주 묻는 질문
Q. 시드 구문을 안 알려줬는데도 지갑이 털릴 수 있나요?
A. 네, 가능합니다. 승인 기반 공격은 개인 키나 시드 구문 없이도 작동합니다. 사용자가 악성 컨트랙트에 토큰 어프루벌을 서명하면, 해커는 그 권한만으로 지갑 안의 해당 토큰을 자유롭게 옮길 수 있습니다. 열쇠를 빼앗긴 것이 아니라, 대리 인출 권한을 스스로 넘겨준 구조입니다.
Q. 서명하고 나서 바로 돈이 안 빠져나갔는데 안전한 건가요?
A. 안심할 수 없습니다. 악성 승인은 서명 즉시 권한이 발효되지만, 해커가 반드시 바로 실행할 필요는 없습니다. 지갑에 잔액이 쌓이기를 기다렸다가 나중에 자동으로 인출하는 경우가 많습니다. 서명 직후 아무 변화가 없었다고 해서 문제가 없는 것이 아닙니다. 즉시 Revoke.cash로 해당 컨트랙트 권한을 취소하는 것이 바람직합니다.
Q. Revoke.cash는 어떻게 쓰나요? 안전한가요?
A. revoke.cash에 접속해서 지갑을 연결하면 현재 활성화된 모든 토큰 어프루벌 목록이 표시됩니다. 무제한(Unlimited)으로 표기된 항목이나 더 이상 사용하지 않는 dApp의 권한을 찾아 Revoke 버튼을 누르면 됩니다. 다만 접속 시 URL을 반드시 직접 입력해서 확인하는 습관이 필요합니다. 피싱 사이트가 Revoke.cash를 사칭하는 사례도 존재하기 때문입니다.
Q. 얼마나 자주 권한을 점검해야 하나요?
A. DeFi나 dApp을 자주 이용한다면 월 1회 정기 점검을 권장합니다. 새로운 사이트에 지갑을 연결했다면 사용 후 즉시 권한을 취소하는 것이 가장 안전합니다. 달력에 "크립토 어프루벌 점검"이라는 항목을 월초마다 넣어두는 것이 제가 직접 써봤을 때 가장 실천하기 쉬운 방법이었습니다.
결론
크립토 드레이너가 무서운 이유는 기술적인 취약점을 공략하는 것이 아니라, 사람의 심리와 Web3 지갑 구조의 허점을 동시에 파고들기 때문입니다. 제가 이번에 조사하면서 가장 크게 실감한 것은, "비밀번호가 안전하면 된다"는 기존의 보안 감각이 블록체인 세계에서는 통하지 않는다는 사실이었습니다. 서명 하나가 수개월 뒤의 손실로 이어질 수 있고, 그 피해는 대부분 되돌릴 수 없습니다.
당장 오늘 Revoke.cash에 접속해서 오래된 어프루벌을 한 번 점검해 보시길 권장합니다. 지갑에 쌓아둔 자산보다, 방치된 권한 목록이 더 큰 위협일 수 있습니다. 하드웨어 지갑을 쓰더라도 서명창의 수량과 컨트랙트 주소를 눈으로 확인하는 습관이 병행되어야 한다는 점도 잊지 말아야 할 것입니다.
참고: Chainalysis — Understanding Crypto Drainers / NHIMG — Approval Phishing Loss Risk / D'CENT Wallet — How to Revoke Token Approvals
'가상자산·금융' 카테고리의 다른 글
| 핀테크와 스테이블코인 (결제혁명, 생존수단, 인프라투자) (0) | 2026.09.30 |
|---|---|
| 가상자산 상속 (디지털 유산, 상속세, 커스터디) (0) | 2026.09.30 |
| 머신 네이티브 경제 (M2M 결제, 스테이블코인, AI 에이전트) (0) | 2026.09.29 |
| 비트코인 포트폴리오 (위험 기여도, 자산 배분, 헤지 전략) (0) | 2026.09.29 |
| 처분효과 (손실회피, 후회심리, 가상화폐) (0) | 2026.09.28 |