WATS Wallet logoWATS Wallet
기술7분 분량

월렛 드레이너란? 크립토 자산 탈취 스캠의 작동 원리와 대응법

월렛 드레이너는 시드 문구를 훔치는 것이 아니라, 피해자가 악성 승인(approval)에 서명하도록 속여 지갑을 비웁니다. WATS는 완전한 논커스터디얼이어서 모든 드레이너 시도가 당신이 읽고 거부할 수 있는 서명 창을 반드시 거쳐야 합니다. 미끼-연결-서명으로 이어지는 공격 시나리오가 어떻게 작동하는지, 그리고 승인 버튼을 누르기 전에 어떻게 알아챌 수 있는지 정리했습니다.

월렛 드레이너는 대개 가짜 민팅·에어드랍·고객지원 페이지 뒤에 숨어 있는 악성 스크립트로, 시드 문구를 훔치는 대신 지갑 주인이 직접 권한에 서명하도록 만들어 지갑을 비웁니다. 수법은 언제나 하나의 각본을 따릅니다: 긴박감으로 미끼를 던지고, 잔고를 훑을 수 있도록 연결을 요구한 뒤, 클레임이나 인증으로 위장한 서명 요청을 띄우는 것 — 보통 무제한 ERC-20 approval, 오프체인 Permit 또는 Permit2 메시지, 아니면 NFT 컬렉션 전체에 대한 setApprovalForAll입니다. 개인 키는 결코 기기를 떠나지 않습니다. 대신 넘어가는 것은 권한이며, 공격자는 몇 시간 뒤든 며칠 뒤든 그것을 행사할 수 있습니다. 따라서 방어는 전부 서명 단계에 걸려 있습니다: 도메인을 한 글자씩 확인하고, 지갑이 실제로 표시하는 내용을 읽고, 무제한 사용 한도와 setApprovalForAll 요청, 정체를 확인할 수 없는 spender 주소는 거부하세요. WATS는 완전한 논커스터디얼이어서 — 키는 당신이 보유하고 WATS는 어떤 키도 보유하지 않습니다 — 지원하는 여덟 개 체인 어디에서든 당신이 직접 승인한 요청 없이는 WATS 지갑에서 아무것도 나갈 수 없습니다 — 그리고 바로 그 순간이 속도를 늦추고 서명 전에 읽어야 할 때입니다.

월렛 드레이너의 실체 (그리고 오해)

월렛 드레이너는 보통 웹사이트에 심어진 악성 스크립트로, 사용자를 속여 자산을 공격자에게 넘기는 트랜잭션이나 서명을 승인하게 만듭니다. 중요한 것은 드레이너가 아닌 것이 무엇인지입니다: 블록체인 해킹도 아니고, 지갑 소프트웨어의 결함도 아니며, 대부분의 경우 시드 문구를 보지도 못합니다. 드레이너는 전적으로 지갑의 정상적인 서명 플로우를 통해 작동합니다 — 당신이 이해하지 못한 무언가를 승인하게 만들 뿐입니다.

오늘날 대부분의 드레이너는 기성품 키트로 판매되므로, 가짜 사이트를 운영하는 사람에게 기술적 역량이 필요하지 않습니다. 키트는 당신이 어떤 체인과 토큰을 보유하고 있는지 감지하고, 가장 가치 있는 표적을 골라 맞춤형 요청을 생성합니다. 이 점이 드레이너를 주소 포이즈닝 같은 수법과 구분 짓는 부분이기도 합니다. 주소 포이즈닝은 당신이 서명하는 것이 아니라 복사하는 것을 조작하기 때문입니다.

드레이닝 공격의 해부: 미끼, 연결, 서명

거의 모든 드레이닝 공격은 동일한 세 단계를 따릅니다. 첫째는 미끼입니다: 한정 민팅, 에어드랍 클레임, 가짜 고객지원 페이지 등 긴박감을 주는 모든 것이 해당됩니다. 둘째, 사이트는 지갑을 연결하라고 요구합니다. 연결 자체로는 자금이 이동하지 않지만, 주소가 노출되어 드레이너가 잔고를 스캔하고 공격 방식을 고를 수 있게 됩니다. 셋째가 서명 단계입니다: 사이트는 클레임, 인증, 민팅으로 위장한 하나 이상의 요청을 띄웁니다. 잘못된 요청을 승인하는 순간, 드레이너는 자산을 즉시 옮기거나 나중에 옮길 수 있는 상시 권한을 확보합니다.

드레이너가 가장 노리는 서명

드레이너는 단순 전송을 요구하는 경우가 드뭅니다. 낯선 주소로의 전송은 의심스러워 보이기 때문입니다. 대신 권한을 노립니다. 무제한 ERC-20 approval은 공격자의 컨트랙트가 당신의 주소에서 해당 토큰을 무기한 사용할 수 있게 합니다. Permit이나 Permit2 서명은 피해자에게 가스비가 들지 않는 오프체인 메시지로 같은 일을 하며, 나중에 조용히 실행될 수 있습니다. 그리고 setApprovalForAll은 단 한 번의 클릭으로 NFT 컬렉션 전체에 대한 통제권을 넘겨줍니다. 이 메커니즘들이 정당하게 어떻게 쓰이는지 — 그리고 애초에 왜 존재하는지 — 는 토큰 approval과 Permit 가이드에서 다룹니다. Solana에서는 토큰 delegate 지정이나, 심지어 무해해 보이는 트랜잭션에 끼워 넣은 계정 소유권 변경이 같은 역할을 합니다.

흔한 유포 경로

드레이너 자체는 페이로드일 뿐이고, 진짜 작업은 당신을 그 페이지로 데려오는 것입니다. 2026년 기준으로 가장 흔한 경로는 실제 프로젝트의 브랜딩을 복제한 가짜 민팅·에어드랍 사이트, "깜짝 클레임" 링크를 올리는 프로젝트나 창업자의 탈취된 소셜 계정, 진짜 도메인보다 위에 유사 도메인을 노출시키는 오염된 검색 광고, 그리고 문제를 글로 올리면 "인증" 링크를 보내오는 Discord나 X 댓글의 가짜 고객지원 요원입니다. 이들의 공통점은 하나입니다: 서두를 이유와 함께 링크가 당신에게 찾아온다는 것.

시드 문구 없이도 서명 한 번으로 지갑이 비워지는 이유

사람들은 시드 문구만 비밀로 유지하면 자금이 안전하다고 생각합니다. approval은 그 가정을 깨뜨립니다. approval이나 Permit 메시지에 서명할 때 개인 키는 기기를 떠나지 않습니다 — 하지만 특정 자산에 대한 권한을 어떤 컨트랙트 주소에 위임하게 됩니다. 그 주소가 공격자의 것이라면, 공격자는 추가 행동 없이도 언제 어디서든 승인된 토큰을 빼갈 수 있습니다. 드레이닝이 방문 후 몇 시간, 며칠 뒤에 일어날 수 있는 이유도 이것입니다: 공격자는 저장해 둔 권한을 자기에게 유리한 시점에 실행합니다.

연결하거나 서명하기 전에 확인할 위험 신호

몇 가지 습관만으로 대부분의 드레이너를 막을 수 있습니다. 도메인을 한 글자씩 확인하세요 — 유사 도메인은 미끼 사이트의 기본 수법입니다. 마감 시한이 붙은 요청하지 않은 링크는 반대가 증명될 때까지 적대적인 것으로 취급하세요. 승인 전에는 지갑이 실제로 표시하는 내용을 읽으세요: 무제한 사용 한도, setApprovalForAll 요청, 정체를 확인할 수 없는 spender 주소는 모두 거부해야 할 이유입니다. 읽을 수 없는 원시 16진수 데이터에 서명하라는 요청은 특히 경계하세요. 지갑이 트랜잭션 시뮬레이션이나 사람이 읽을 수 있는 미리보기를 제공한다면 매번 사용하세요 — 토큰 approval이 "필요하다"는 클레임 페이지는 클레임에 필요 없는 것을 요구하고 있는 것입니다.

악성 서명을 이미 했다면 해야 할 일

그 권한은 반드시 사용된다고 가정하고 행동하세요 — 그리고 무엇에 서명했는지에 따라 대응 순서를 정하세요. 아직 실행되지 않은 오프체인 Permit이나 Permit2 메시지라면, 취소할 온체인 allowance 자체가 없으며, 토큰 allowance를 미리 0으로 만들어도 보호되지 않습니다: 공격자가 나중에 메시지를 실행하면 새로운 allowance가 그 위에 덮어써질 뿐입니다(Permit2 취소 역시 토큰이 아니라 Permit2 컨트랙트에 기록됩니다). 서명됐지만 아직 실행되지 않은 Permit에 대한 확실한 첫 조치는, 해당 자산을 새로 생성한 키의 새 지갑으로 옮기는 것입니다. 온체인 approval과 setApprovalForAll의 경우에는 취소가 유효합니다: 신뢰할 수 있는 revoke 도구나 지갑의 approval 관리 기능으로 영향을 받은 모든 토큰과 컬렉션에서 악성 spender를 0으로 되돌린 뒤, 고가치 자산을 옮기세요. 권한에만 서명했다면 시드 문구는 여전히 비밀이고 정리 후 기존 지갑을 계속 쓸 수 있습니다 — 하지만 시드 문구를 웹사이트에 입력한 적이 있다면 그 지갑은 영구적으로 손상된 것이며, 모든 자산을 즉시 옮겨야 합니다.

WATS는 이를 어떻게 활용하나

WATS Hot Wallet은 이 글 전체를 관통하는 원칙, 즉 서명이 곧 보안 경계라는 원칙 위에 만들어졌습니다. WATS는 완전한 논커스터디얼입니다 — 키는 당신이 보유하며, WATS는 어떤 키도 보유하지 않습니다 — 따라서 당신이 직접 승인한 요청 없이는 지갑에서 아무것도 나가지 않고, 당신을 대신해 공동 서명하거나 나중에 approval을 되돌릴 수 있는 제3자도 존재하지 않습니다. 하나의 WATS 지갑이 Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana, TON을 모두 커버하므로, 승인 전에 요청을 읽는 습관이 앱마다 달라지지 않고 여덟 개 체인 전부에서 동일하게 유지됩니다.

수수료 방식도 대부분의 지갑과 다른데, 여기서는 아주 현실적인 이유로 그 점이 중요합니다. 네트워크 수수료는 각 체인의 네이티브 가스 토큰 대신 ATS라는 단일 토큰으로 낼 수 있습니다 — EVM 체인에서는 ERC-4337 계정 추상화를, 옴니체인 이동에는 LayerZero OFT를 사용하며, 징수된 ATS는 1억 개 공급량에서 3,000만 개 하한을 향해 소각됩니다. 이것은 할인이 아닙니다. 수수료를 내는 토큰이 바뀔 뿐, 비용 자체가 달라지는 것은 아닙니다. 일상에서 실제로 달라지는 점은, 익숙하지 않은 체인에서 작업 도중에 네이티브 가스 토큰을 급히 채워 넣느라 허둥댈 일이 없다는 것입니다 — 그리고 그런 허둥댐이야말로 드레이너가 노리도록 설계된 상태입니다.

보안 글이 과장을 해서는 안 되므로 두 가지 한계를 분명히 밝힙니다: WATS는 자체 approval 취소(revoke) 도구를 제공하지 않으므로, 이미 부여한 approval에 대해서는 신뢰할 수 있는 서드파티 revoke 도구를 사용하세요. 그리고 WATS NFC 메탈 카드는 개인 키를 저장하지 않습니다 — WATS 앱 안에 있는 키에 대해 탭으로 인증할 뿐입니다 — 따라서 기기 접근을 보호할 뿐, 당신이 스스로 승인하기로 한 서명으로부터 지켜주지는 않습니다.

핵심 정리

월렛 드레이너는 암호학을 깨뜨리지 않습니다. 당신의 동의를 빌린 뒤, 나중에 그것을 씁니다. 이 글의 모든 방어책은 하나의 습관으로 수렴합니다: 서명하기 전에 무엇에 서명하는지 알 것, 그리고 무제한 approval, setApprovalForAll, 읽을 수 없는 16진수를 형식적인 절차가 아니라 정지 신호로 취급할 것. 구체적인 실천은 스스로 의식하고 서명하는 곳에 키를 두는 것입니다 — 다운로드 페이지에서 WATS를 설치하고, 생성된 시드 문구를 오프라인에 적어두되 절대 웹사이트에 입력하지 말고, Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana, TON 전반에서 WATS가 보여주는 모든 approval 요청을 읽으세요. 돈을 지키느냐 잃느냐는 결국 그 화면에서 갈립니다.

자주 묻는 질문

월렛 드레이너가 시드 문구 없이도 내 크립토를 훔칠 수 있나요?

네. 드레이너는 시드 탈취가 아니라 서명을 통해 작동합니다. 공격자가 통제하는 주소에 대해 토큰 approval, Permit 메시지, setApprovalForAll에 서명하면, 개인 키가 기기를 떠나지 않더라도 해당 자산을 옮길 수 있는 권한을 위임하게 됩니다.

지갑을 웹사이트에 연결하는 것 자체가 위험한가요?

연결만으로는 자금이 이동할 수 없습니다. 주소가 공유되어 사이트가 잔고를 볼 수 있게 될 뿐입니다. 위험은 서명 단계에서 시작됩니다. 다만 드레이너 사이트는 연결을 이용해 보유 자산을 스캔하고 맞춤형 악성 요청을 만들어내므로, 검증한 사이트에만 연결하세요.

악성 approval에 서명했다면 무엇부터 해야 하나요?

무엇에 서명했는지에 따라 다릅니다. 아직 실행되지 않은 오프체인 Permit이나 Permit2 메시지라면, 먼저 해당 자산을 새로 생성한 지갑으로 옮기세요: 아직 취소할 온체인 allowance가 없고, 미리 0으로 만들어도 공격자가 메시지를 실행하면 덮어써집니다. 온체인 approval과 setApprovalForAll은 신뢰할 수 있는 revoke 도구로 악성 spender를 0으로 되돌리세요. 시드 문구를 웹사이트에 입력한 적이 있다면 그 지갑은 완전히 폐기해야 합니다.

WATS 같은 논커스터디얼 지갑을 쓰면 월렛 드레이너로부터 보호받나요?

WATS는 완전한 논커스터디얼입니다: 키는 당신이 보유하고, WATS는 어떤 키도 보유하지 않으며, WATS 모바일 앱이든 Chrome 확장 프로그램이든 Hot Wallet이든 당신이 직접 승인한 서명 없이는 지갑에서 아무것도 나갈 수 없습니다. 그것이 보호이자 동시에 솔직한 한계이기도 합니다. 드레이너의 수법 자체가 당신 손으로 승인하게 만드는 것이고, 스스로 부여한 권한을 되돌릴 수 있는 지갑은 없기 때문입니다. WATS는 하나의 지갑으로 Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana, TON을 커버하므로 모든 체인에 같은 원칙이 적용됩니다: 요청을 읽고, 무제한 approval과 setApprovalForAll, 정체를 확인할 수 없는 spender 주소는 거부하세요. 이미 부여한 approval에 대해서는 신뢰할 수 있는 서드파티 revoke 도구를 사용하세요. WATS는 자체 revoke 도구를 제공하지 않습니다.