러그풀은 해킹이 아니라 권한이다 — 코드에 남겨 둔 출구, 그리고 그것을 미리 재려는 시도
왜 이 논쟁인가
암호자산 생태계에서 가장 자주 반복되는 손실은 극적인 침입이 아니다. 어떤 토큰이 만들어지고, 사람들이 그것을 사고, 어느 날 그 토큰을 다시 팔 수 없게 되거나 살 때 넣어 둔 돈이 사라진다. 이런 종류의 사고를 러그풀(rug pull)이라 부른다. 발밑의 양탄자를 확 잡아당긴다는 말에서 왔다.
문헌의 정의는 건조하다. 특정 토큰 프로젝트의 개발자가 프로젝트를 의도적으로 버리고 투자자의 자금과 함께 사라지는 것 (arXiv:2403.01425), 혹은 개발자가 사용자의 신뢰를 이용해 탈중앙 거래소의 토큰 풀에서 유동성을 빼내고 사용자에게는 값 없는 토큰만 남기는 것 (arXiv:2504.07132).
여기서부터가 이 글의 질문이다. 이 일이 벌어질 때, 코드가 깨졌는가?
대개는 아니다. 연구 문헌이 반복해서 보여 주는 것은, 사고의 상당 부분이 코드가 원래 허용하던 동작이라는 사실이다. 설계자가 자기 몫으로 남겨 둔 권한 — 토큰을 더 찍을 수 있는 권한, 다른 사람의 잔고를 움직이거나 잠글 수 있는 권한, 넣어 둔 유동성을 되가져올 수 있는 권한 — 이 그대로 출구가 된다. 이 글이 다루는 것은 그 구조와, 그것을 미리 가려내려는 탐지 연구가 실제로 무엇을 잡고 무엇을 못 잡는가다.
시작 전에 네 가지를 분명히 해 두자.
첫째, 이 글은 어떤 토큰이나 프로젝트도 평가하지 않는다. 개별 토큰 이름을 나열하지 않고, 시세·수익률·전망을 다루지 않는다. 등장하는 블록체인이나 거래소 이름은 연구자들이 어떤 표면을 관측했는지 식별하기 위한 것이고, 그 이상도 이하도 아니다.
둘째, 이 글은 "이렇게 하면 안전하다"는 점검표를 제공하지 않는다. 뒤에서 보겠지만 탐지 연구의 가장 정직한 결론들은 자기 한계에 관한 것이다. 이 글에서 어떤 항목을 안전 보증으로 읽어 낼 수 있다면, 그것은 이 글이 실패한 것이다.
셋째, 근거 등급이 고르지 않다. arXiv에 공개된 판본이 많은데, arXiv 공개는 동료심사 여부와 무관하며 상당수는 이후 학회나 저널에 실린다 — 다만 개별 논문의 게재 여부까지는 확인하지 않았다. 심사 지면에 실린 논문, 프리프린트, SSRN 등의 워킹페이퍼를 섞어 인용하며, 워킹페이퍼나 프리프린트에만 기대는 대목은 그때마다 밝힌다.
넷째, 여기 나오는 수치는 전부 "그 논문이 그 시점에, 그 데이터에서 관측한 값"이다. 특히 탐지 도구의 성능 숫자는 거의 예외 없이 저자들이 자기 도구를 자기 벤치마크에서 평가해 보고한 값이다. 중립적인 사실로 읽으면 안 된다. 이 점은 뒤에서 따로 한 절을 들여 다룬다.
통념: 공개된 코드는 누구나 검증할 수 있다
통념은 단정하고 매력적이다. 탈중앙 거래소는 자산의 보관을 남에게 맡기지 않고, 거래 규칙이 공개적으로 검증 가능하며, 신뢰할 제3자 없이 거래가 성사된다 (arXiv:2201.07220). 규칙이 코드로 박혀 있고 그 코드를 누구나 읽을 수 있으니 속임수를 걸 자리가 없다는 것이다.
이 통념에는 실제로 근거가 있다. 스마트 컨트랙트는 배포되고 나면 원칙적으로 고쳐지지 않고, 누구의 허가도 없이 누구나 상호작용할 수 있다. 그런데 바로 그 두 성질이 문제의 다른 절반이기도 하다. 한 탐지 연구는 이를 정면으로 적는다 — 스마트 컨트랙트 기반 생태계는 신뢰할 중개자 없이 애플리케이션을 돌아가게 하지만, 그 불변성과 무허가성이 동시에 대규모 사기를 용이하게 한다 (arXiv:2603.11324).
문제는 통념이 "검증 가능하다"를 "검증되었다"로 슬쩍 바꿔 읽는다는 데 있다. 탈중앙 금융(DeFi) 전반을 정리한 SoK 연구는 이 생태계의 보안을 기술적 보안과 경제적 보안으로 나누고, 전자는 문헌이 건강하게 쌓여 있지만 후자는 거의 미개척 상태라고 진단한다 (arXiv:2101.08778).
이 구분이 이 글의 전제다. 코드에 버그가 있느냐를 묻는 질문과, 이 규칙 아래에서 누가 누구에게서 무엇을 가져갈 수 있느냐를 묻는 질문은 서로 다른 질문이었다. 그리고 러그풀은 두 번째 질문에 속한다.
반전 ①: 가장 흔한 사고는 코드를 깬 것이 아니다
두 갈래로 갈리는 사고
2024년의 한 연구는 실제 러그풀 사건 103건을 수동으로 수집해 수법별로 분류했다. 그 결과 크게 두 범주가 나왔다. 하나는 컨트랙트 관련 — 스마트 컨트랙트 안의 악성 함수를 통해 이뤄지는 것. 다른 하나는 거래 관련 — 악성 함수를 전혀 쓰지 않고 암호자산 거래만으로 이뤄지는 것이다 (arXiv:2403.01425).
이 이분법이 이 글의 뼈대다. 앞쪽은 "코드에 출구가 새겨져 있다"이고, 뒤쪽은 "코드는 멀쩡한데 그 코드가 허용하는 행동을 했다"이다. 어느 쪽도 침입이 아니다.
34개의 뿌리 원인, 그리고 그 이름들
같은 해 나온 SoK 연구는 학술 문헌과 업계 자료를 함께 훑어 러그풀의 뿌리 원인 34가지를 분류했다. 여기에는 업계 논의에서 착안한 여섯 개 범주가 새로 포함됐는데, 그 이름만으로도 성격이 드러난다 — 소각, 숨겨진 소유자, 소유권 이전, 미검증 컨트랙트, 외부 호출, 그리고 가짜 유동성 잠금 (arXiv:2403.16082).
유동성 풀(liquidity pool)을 짚고 가자. 탈중앙 거래소에는 사고파는 주문을 맞춰 주는 호가창 대신 두 자산을 함께 넣어 둔 공동 자금 웅덩이가 있고, 거래자는 그 웅덩이를 상대로 교환한다. 웅덩이에 자산을 넣은 사람은 자기 몫을 증명하는 토큰을 받는데, 이 몫을 되가져가면 웅덩이가 마른다. 유동성 잠금은 그 몫을 일정 기간 되가져갈 수 없게 묶어 두었다는 표시다. 목록에 "가짜 유동성 잠금"이 올라 있다는 것은, 잠갔다는 표시 자체가 확인 대상이라는 뜻이다.
백도어는 버그가 아니다
NFT 스마트 컨트랙트를 대상으로 한 대규모 정적 분석 연구가 이 지점을 가장 분명하게 말한다. 이 연구는 소스가 공개·검증된 NFT 컨트랙트 49,940건을 정적 분석 도구로 훑어 러그풀과 흔히 연결되는 취약 패턴을 찾았다. 저자들이 강조하는 것은 이것들이 의도치 않은 버그와 다르다는 점이다 — 의도적으로 코딩되고, 종종 난독화되어 통상적인 감사를 우회하도록 만들어졌다는 것이다 (arXiv:2506.07974; 같은 내용의 프리프린트 판본 DOI: 10.21203/rs.3.rs-8468227/v1).
정적 분석이란 프로그램을 실제로 돌려 보지 않고 코드 자체의 구조만 보고 성질을 따지는 방법이다. 저자들이 실제 공격을 수행하지 않고도 결과를 낼 수 있었던 이유이며, 동시에 이 방법이 "그래서 이 권한이 정말 악용될 것인가"에는 답하지 못하는 이유이기도 하다.
규모를 잰 연구도 있다. 소스 코드가 공개된 이더리움 컨트랙트 전체를 훑은 실증 연구는, 잠재적인 것을 포함해 288,440건의 컨트랙트에서 백도어를 찾았다고 보고한다. 가장 많았던 유형은 다른 주소로의 자산 전송을 막을 수 있는 것으로 211,687건이었고, 이 유형의 90.9%는 다른 유형과 결합된 형태였다. 반대로 단독으로 가장 많았던 것은 새 암호자산을 발행할 수 있는 것으로, 이 유형의 23.8%가 단독형이었다 (DOI: 10.1145/3822509).
숫자의 크기에 놀라기 전에 짚을 것이 있다. 이 숫자는 "28만 건의 사기가 있었다"는 뜻이 아니다. 그런 권한을 가진 컨트랙트가 그만큼 있다는 뜻이다. 그 차이가 이 글의 나머지 전부다.
코드에 아무 흔적이 없어도 된다
더 흥미로운 것은 코드에 아무 흔적이 없어도 같은 결과가 나온다는 사실이다. 솔라나 생태계를 대규모로 측정한 연구는 이 대비를 명시한다 — 이더리움 기반 러그풀은 흔히 악성 스마트 컨트랙트 로직에 기대는 반면, 솔라나의 통일된 토큰 프로그램은 사기 실행을 온체인 행동 조작 쪽으로 옮긴다는 것이다. 저자들은 커뮤니티가 신고한 사건 68건을 수동 검증하고 확인된 토큰 117개로 벤치마크를 만든 뒤, 세 가지 대표적 행동 패턴을 뽑았다 — 동결 권한 남용, 유동성 회수, 그리고 펌프앤덤프 (arXiv:2603.24625).
같은 결과, 다른 경로다. 표준화된 프로그램을 쓰면 "악성 코드"라 부를 것이 없다. 대신 그 표준 프로그램이 원래 제공하는 권한 — 예컨대 계정을 동결할 수 있는 권한 — 이 그대로 쓰인다. 코드를 읽어 악성 여부를 판정하는 방법은 여기서 무력해진다.
공개돼 있다는 것과 읽힌다는 것은 다르다. 위 연구들이 다룬 컨트랙트는 대부분 소스가 공개돼 검증된 것들이었다. 그런데도 그 안의 패턴을 드러내는 데 대규모 정적 분석과 수동 검증이 필요했다. 그리고 그렇게 드러낸 것조차 "이런 권한이 있다"까지였다.
반전 ②: 그래서 이것은 탐지의 문제가 됐다
사후 라벨링에서 사전 예측으로
이 분야의 첫 단계는 세는 것이었다. 2021년의 한 연구는 대표적인 탈중앙 거래소의 거래를 전수 수집해 사기 토큰을 판별하는 방법을 제안하고 1만 개가 넘는 사기 토큰을 식별했다 — 저자들의 추정으로는 그 거래소에 상장된 토큰의 약 50%였다. 이 토큰과 풀은 러그풀에 특화되어 만들어졌고 일부는 컨트랙트에 속임수와 백도어가 심겨 있었으며, 수천 개의 공모 주소가 함께 움직였다. 저자들은 최소 1,600만 달러의 이익과 39,762명의 잠재적 피해자를 보고한다 (arXiv:2109.00229; 심사 지면 판본 DOI: 10.1145/3491051; 요약 판본 DOI: 10.1145/3547353.3522636).
문제는 이 접근이 사건이 벌어진 뒤에야 정확했다는 것이다. 그래서 바로 다음 단계의 연구가 등장한다. 데이터셋을 2만 개 토큰만큼 늘리고, 토큰의 전파 양상과 컨트랙트 휴리스틱에서 새 특징을 뽑아 악성 조작이 일어나기 전에 판별하겠다는 시도다. 저자들이 보고한 최고 모델의 성적은 정확도 0.9936, 재현율 0.9540, 정밀도 0.9838이었다 (arXiv:2201.07220; 저널 판본 DOI: 10.3390/math10060949).
여기서 용어를 하나 풀어 두자. 정밀도(precision)는 "위험하다고 부른 것 중 실제로 위험했던 비율"이고, 재현율(recall)은 "실제로 위험한 것 중 잡아낸 비율"이다. 둘은 대개 반대로 움직인다. 문턱을 낮춰 많이 잡으면 재현율이 오르고 정밀도가 떨어진다. 이 두 숫자를 따로 보지 않으면 탐지 논문은 전부 훌륭해 보인다.
이후의 연구들은 신호의 축을 늘리는 쪽으로 갔다. 2026년의 한 연구는 탐지에 쓸 특징 체계를 네 축으로 정리한다 — 악성 컨트랙트 설계, 온체인 거래 이상, 유동성 조작, 그리고 소셜미디어 공개 정보다. 저자들은 표본 불균형(사기 사례가 정상보다 훨씬 적은 상태)을 다루는 기법을 붙이고 정밀도와 재현율의 균형점을 탐색해, 자기 시험 집합에서 정확도 0.927, F1 0.787, AUC-ROC 0.952를 보고한다 (arXiv:2608.01609).
얼마나 흔한가
규모 추정은 연구마다 다르지만 방향은 한결같다.
두 주요 체인의 토큰 생태계를 출범부터 2022년 3월까지 종단 분석한 연구는, 토큰의 약 60%가 하루도 안 되어 활동을 멈춘다고 보고한다. 그리고 주소의 1%가 전체 토큰의 20~25%라는 비정상적인 양을 만들어 냈으며, 이 토큰들이 일회용으로 쓰이는 특정 유형의 러그풀 — 저자들이 1일 러그풀이라 부르는 것 — 에 동원됐다고 본다. 저자들은 이 유형이 만들어 낸 이익을 2억 4천만 달러로 추정한다 (arXiv:2206.08202).
주요 탈중앙 거래소들을 대상으로 한 워킹페이퍼는 토큰의 44~50%가 "사기 같은" 특성을 보이며 투자자 손실이 약 17억 달러에 이른다고 보고한다. 같은 연구는 사기 수법이 점점 미묘해지는 한편 피해자들도 과거 경험에서 배운다며, 이를 쫓고 쫓기는 게임으로 묘사한다 (DOI: 10.2139/ssrn.4490180, 워킹페이퍼).
이 숫자들의 정의가 서로 다르다는 점은 그 자체로 뒤에서 다룰 주제다.
데이터셋과 SoK — 라벨이 있어야 탐지가 있다
탐지를 하려면 라벨이 필요하다. 그래서 데이터셋 자체가 연구 대상이 됐다.
솔라나 데이터를 다룬 한 데이터셋 논문은 4년치 DeFi 데이터, 36.9억 건의 거래에서 62,895개의 의심스러운 유동성 풀을 추려 냈다. 유동성 추가·제거·마지막 상호작용, 비활동 기간, 인출된 토큰 양 같은 속성을 붙였고, 그중 22,195개 토큰이 관측 기간 동안 러그풀 패턴을 보였다고 보고한다 (arXiv:2504.07132).
더 최근의 데이터셋 논문은 문제 자체를 다르게 잡는다. 기존 데이터셋들이 시간적 누출, 붕괴 이후에야 관측되는 지표의 사용, 혼란스럽거나 부분적인 라벨 때문에 조기 탐지 연구에 쓸 수 없다는 것이다. 저자들은 DeFi·밈·NFT·유명인 토큰을 포함한 프로젝트 1,000건을 온체인 행동, 컨트랙트 메타데이터, 공개출처정보(OSINT) 세 모달리티로 시간 정합성을 지켜 수집하고, 프로젝트 생애 전체를 수동 조사해 라벨을 붙였다고 밝힌다 (arXiv:2602.21529).
시간적 누출(temporal leakage)이란 예측 시점에는 알 수 없었을 정보가 특징 안에 섞여 들어가는 것을 말한다. 붕괴 이후에야 관측되는 값으로 붕괴를 "예측"하면 성적은 훌륭하게 나오지만 실전에서는 아무 소용이 없다. 이 문제는 뒤에서 다시 나온다.
그리고 이 분야 전체를 저울에 올린 SoK가 있다. 이 연구는 34개 뿌리 원인 분류를 만든 뒤 기존 데이터셋과 탐지 도구를 그 기준으로 평가했다. 결과는 뾰족하다. 기존 공개 데이터셋 2,448건은 34개 원인 중 7개만 다루고 있었다 — 약 20% 커버리지. 저자들이 직접 2,360건짜리 데이터셋을 새로 만들어 커버리지를 54%까지 올렸다. 도구 쪽은 조금 나았다. 14개 탐지 도구가 34개 중 25개를 식별할 수 있었다 — 73.5%. 그러나 아홉 개 원인은 어떤 도구도 다루지 못했고, 그중에는 가짜 유동성 잠금, 숨은 수수료, 소유권 이전, 계정 동결, 세탁 거래 등이 있었다 (arXiv:2403.16082).
메커니즘: 어떤 권한이 위험 신호가 되는가
여기서부터는 원리 층위다. 개별 절차나 코드가 아니라 어떤 종류의 권한이 왜 신호가 되는가를 본다.
① 공급을 건드릴 수 있는 권한
토큰의 총량을 늘릴 수 있다는 것은, 이미 그 토큰을 산 사람들의 몫을 임의로 희석할 수 있다는 뜻이다. 앞서 본 백도어 실증 연구에서 단독형으로 가장 흔했던 유형이 바로 새 암호자산을 발행할 수 있는 것이었다 (DOI: 10.1145/3822509).
흥미로운 것은 이 권한이 소유자만의 문제가 아니라는 점이다. 2026년의 한 연구는 토큰 컨트랙트에서 발생하는 최대 추출 가능 가치를 다루면서, 비표준 공급 제어 함수를 식별하는 정적 분석 도구와 그것을 이용해 수익 기회를 탐색하는 도구를 제시한다. 저자들은 실제 거래를 재생해 이런 기회가 수익성이 있으며 기존 탐색자들이 이를 인지하지 못하고 있음을 보인다고 보고한다 (arXiv:2603.07996).
즉 남겨 둔 권한은 설계자만의 출구가 아니다. 그 권한이 열어 놓은 상태 자체가 제3자에게도 추출 가능한 표면이 된다. 권한을 남겨 두는 일에는 "쓰지 않겠다"는 약속으로 덮이지 않는 몫이 있다.
② 팔 수 없게 만들 수 있는 권한
두 번째 계열은 자산을 못 움직이게 만드는 쪽이다. 백도어 실증 연구에서 가장 많이 관측된 유형이 다른 주소로의 전송을 막는 것이었다는 사실은 이미 봤다 (DOI: 10.1145/3822509).
이 계열의 극단이 사고파는 방향을 한쪽으로만 열어 두는 함정이다. 한 연구는 대표적인 탈중앙 거래소에서 무작위로 뽑은 풀 1만 개를 과거 데이터 분석과 거래 시뮬레이션으로 점검해 8,443개의 비정상 풀을 찾았다고 보고한다. 거래자가 가치 있는 자산을 넣고 토큰을 받을 수는 있는데 되돌려 바꿀 수는 없는 구조다 (arXiv:2309.13501).
이 숫자는 조심해서 읽어야 한다. "비정상"은 저자들이 정의한 분류와 시뮬레이션 기준에 따른 것이고, 무작위 표본에서 나온 비율이며, 비정상으로 분류된 모든 풀이 곧 사기라는 뜻도 아니다.
③ 유동성을 되가져올 수 있는 구조
세 번째가 가장 직접적이다. 유동성 회수는 솔라나 측정 연구가 뽑은 세 가지 대표 행동 패턴 중 하나였고 (arXiv:2603.24625), 솔라나 데이터셋 논문이 비활동 상태와 인출된 토큰 양을 핵심 지표로 삼은 이유이기도 하다 (arXiv:2504.07132).
앞서 본 "가짜 유동성 잠금"이 여기 붙는다. 잠금은 안심의 근거로 제시되지만, SoK의 분류에서는 뿌리 원인의 하나이자 기존 도구가 다루지 못하는 아홉 개 중 하나였다 (arXiv:2403.16082). 안심의 근거로 쓰이는 표시가 정작 검증의 사각지대에 있었던 것이다.
④ 권한 바깥의 신호 — 세탁 거래
권한이 아니라 행동에서 신호를 찾는 갈래도 있다. 대표적인 것이 세탁 거래(wash trading)다. 실질적인 소유권 이전 없이 자기들끼리 사고팔아 거래량과 관심을 부풀리는 행위를 말한다.
2026년의 한 연구는 밈 토큰을 대상으로 세탁 거래 패턴 세 가지 — 자기 거래, 짝지은 거래, 순환 거래 — 를 기준으로 토큰 수준 행동 특징 12개를 만들고 경보 모델을 세웠다. 저자들이 보고한 성적은 AUC 0.9098, PR-AUC 0.9185, F1 0.7429이고, 일부 표본에서 평균 3.81시간의 선행 시간을 얻었다. 그런데 이 논문의 가장 값진 문장은 성능이 아니라 그 뒤에 있다 — 오류 프로파일(위양성 1건, 위음성 8건)을 근거로 저자들은 이 시스템이 재현율 높은 자동 경보기가 아니라 정밀도 높은 1차 선별기로 위치 짓는 편이 맞다고 스스로 적는다. 데이터가 토큰 7개, 기록 33,242건 규모라는 점도 함께 밝힌다 (arXiv:2603.13830).
세탁 거래는 탐지 지표를 넘어 측정 자체를 왜곡하는 변수이기도 하다. 여러 건의 러그풀을 반복 수행하는 이른바 연쇄 사기 조직을 분석한 연구는, 세탁 거래자의 역할을 반영한 새 이익 계산식을 제시하며 기존 공식이 이익을 두 거래소에서 각각 최소 32%와 24% 부풀린다고 보고한다 (arXiv:2412.10993).
같은 연구는 다른 것도 보여 준다. 저자들은 두 거래소에서 하루짜리 단순 러그풀 뒤에 있는 약 38만 4천 개의 사기 주소 데이터셋을 구성하고, 별·사슬·자금 흐름 같은 구조 패턴을 식별했다 — 이 패턴들이 데이터셋 내 주소의 약 40%를 덮었다. 그리고 같은 군집 안의 사기 토큰 컨트랙트는 서로 평균 70% 이상 유사했고 다른 군집끼리는 30% 미만이었다 (arXiv:2412.10993).
사기는 한 번의 사건이 아니라 반복 가능한 생산 라인이었다. 이것이 러그풀을 "개별 프로젝트의 도덕성" 문제로 보는 시각이 놓치는 부분이다.
코드 바깥의 신호를 계량경제학적으로 따져 본 연구도 있다. 특정 거래소의 위조 토큰 수익을 결정하는 요인을 분석한 이 연구는, 사기 첫날 거래가 급증한다는 점, 선행 비용이 클수록 수익이 커진다는 점과 함께 흥미로운 관측을 덧붙인다 — 모방 대상이 된 진짜 토큰의 구독자 수가 많을수록 위조 토큰의 실현 거래량도 컸다. 큰 커뮤니티가 의도치 않게 위조품의 가시성을 키운다는 것이다. 반면 특정 메신저 커뮤니티의 구독자 수는 반대 방향의 효과를 보였고, 저자들은 이를 커뮤니티 내부의 감시·경계가 억지력으로 작동했을 가능성으로 읽는다. 다만 저자들 자신이 일부 결과는 추가 조사가 필요하다고 밝힌다 (arXiv:2402.19399).
⑤ 표면마다 다른 얼굴
같은 구조가 표면에 따라 다르게 나타난다.
NFT 쪽. 알려진 NFT 러그풀 253건을 초기 정답 집합으로 삼아 규칙 기반으로 확장한 연구는 7,487건을 추가로 라벨링했다. 저자들은 수법을 백도어가 심긴 명시적인 것과 시장을 조작하는 암묵적인 것으로 나누고, 5개월 넘게 실제 운용한 예측 시스템이 7,821개 프로젝트에 경보를 울렸다고 보고한다 (arXiv:2305.06108). 10개 마켓플레이스의 러그풀 758건을 행동 관점에서 분석한 다른 연구는, 반복적인 러그풀이 관련 범죄 증가의 상당 부분을 차지하며 한 컬렉션이 석 달 안에 37회를 시도한 사례를 보고한다. 서로 다른 프로젝트의 실행자들이 자금을 보관하고 옮기는 데 같은 지갑을 썼다는 연결도 함께 제시한다 (arXiv:2304.07598).
NFT 컨트랙트의 권한 통제 결함을 직접 겨냥한 연구도 있다. 인기 NFT 컬렉션 795개를 분석해 241건의 권한 통제 취약점을 확인했고, 저자들은 이를 세 범주로 나눈다 — 인증 우회형 214건, 약한 인증 검증 15건, 느슨한 권한 관리 12건이다 (arXiv:2604.15118).
밈·신규 발행 쪽. 앞서 본 솔라나 측정 연구는 2025년 상반기에 새로 발행된 토큰 100,063개에 자기 파이프라인을 적용해 76,469개를 러그풀 토큰으로 식별했다. 무작위 표본 382건을 수동 감사해 라벨 위양성률을 0.26%로 추정했다고 밝힌다. 이 생태계의 특징으로는 극히 짧은 생애주기, 강한 가격 주도 동학, 그리고 고도로 조직화된 집단 행동을 든다 (arXiv:2603.24625).
체인마다. 한 연구는 비동기 실행 구조를 가진 다른 체인의 두 거래소를 대상으로, 총예치가치 급감 기준과 거래 활동 중단 기준이라는 서로 다른 두 러그풀 정의를 한 연구 안에서 비교했다. 저자들은 거래 개시 후 5분 안에 판별이 가능하며 전자 정의가 더 높은 AUC(최대 0.891)를, 후자가 더 높은 재현율을 낸다고 보고한다. 그리고 두 거래소에서 특징 집합은 같아도 그 분포가 유의하게 다르다는 점을 지적하며, 단순한 데이터 통합이 어렵고 플랫폼을 의식한 모델이 필요하다고 적는다 (arXiv:2509.01168).
⑥ 단순한 규칙을 피해 가는 변형
마지막 조각은 불편하다. 탐지 규칙이 생기면 그 규칙을 벗어나는 형태가 관측된다.
2025년의 한 연구는 기존 탐지기들이 전제하는 단순한 시나리오 — 배포자가 유동성 몫을 쥐고 있다가 하루 안에 한두 번의 큰 매도로 풀을 무너뜨리는 형태 — 가 현실의 상당수 사례와 맞지 않는다고 지적한다. 저자들은 추출이 시간과 행위자 양쪽으로 쪼개져 낮은 가시성의 유출로 나타나는 부류를 조각난 러그풀로 형식화한다. 규모는 이렇다. 대상 유동성 풀 303,614개 중 105,434개가 이 유형으로 라벨링됐고, 라벨된 부분집합은 3,419만 건의 관련 거래와 40만여 개의 부풀린 매도 지갑, 150만여 개의 상호작용 주소를 포함한다. 그리고 이 유형에서 소유자 지갑이 직접 참여한 비율은 33.1%로 크게 낮아졌다 (arXiv:2511.15463).
이 글은 그 변형이 어떻게 구성되는지 설명하지 않는다. 여기서 가져갈 것은 하나다 — 연구가 그런 변형의 존재와 규모를 보고하고 있으며, 소유자 지갑 하나를 지켜보는 단순한 규칙은 그만큼 덜 작동한다.
비슷한 결의 발견이 또 있다. 2018년 이후 6개 주요 탈중앙 거래소의 유동성 풀 319,166개를 분석한 연구는, 오랜 기간에 걸쳐 서서히 자금이 빠져나가는 부류를 느린 유동성 유출로 이름 붙이고 3,117개 풀에서 누적 1억 300만 달러 이상의 손실을 확인했다. 저자들은 규칙 기반 휴리스틱과 기계학습 모델을 함께 제시하며, 후자가 전자보다 4.77배 빠르게 탐지하면서 95% 정확도를 유지했다고 보고한다 (arXiv:2503.04850).
빠른 붕괴만 보는 눈에는 이런 유출이 보이지 않는다. 규칙이 정의하는 것은 결국 무엇이 사건으로 세어지는가다.
논쟁·미해결
논점 1 — 탐지 성능 숫자를 어떻게 읽어야 하나
지금까지 인용한 숫자들을 나란히 놓아 보자.
코드와 거래를 융합한 탐지기는 정밀도 95.3%, 재현율 93.8%, F1 94.5%를 보고한다. 이 연구는 러그풀 사건 645건을 코드와 거래 양쪽에서 수동 분석해 정답 데이터셋을 만들었다고 밝힌다 (arXiv:2506.18398). 악성 함수를 찾는 도구는 정밀도 91.8%, 재현율 85.9%, F1 88.7%를 보고한다 (arXiv:2403.01425). 바이트코드에서 잔고 변화를 추적하는 모델은 정확도 98%, 재현율 0.96, 정밀도 0.98을 보고한다 (DOI: 10.3390/app15010450). 온체인·바이트코드·오프체인 신호를 결합한 프레임워크는 F1 0.81과 위양성률 0.008을 보고한다 (DOI: 10.2139/ssrn.6646162, 워킹페이퍼).
이 숫자들은 서로 비교할 수 없다. 각각 자기 데이터셋, 자기 라벨 정의, 자기 시간 창에서 잰 값이고, 거의 전부 도구를 만든 사람이 자기 도구를 평가한 결과다. 앞서 본 SoK가 도구 14개를 공통 기준으로 다시 재 봤을 때 나온 그림 — 34개 원인 중 25개 커버, 아홉 개는 아무도 못 잡음 — 이 오히려 이 분야의 상태에 가깝다 (arXiv:2403.16082).
덧붙일 것이 있다. 이런 연구들은 실제로 대규모 적용에서도 성과를 낸다. 코드-거래 융합 탐지기는 현실 적용에서 4,801개의 러그풀 토큰을 식별했고 그때의 정밀도는 90.7%였다고 보고한다 (arXiv:2506.18398). 악성 함수 탐지 도구는 실제 토큰 컨트랙트 13,484개에서 4,168개를 찾아냈고 대규모 실험의 정밀도는 84.9%였다고 보고한다 (arXiv:2403.01425). 벤치마크 성적과 현실 성적이 다르다는 사실 자체가 정보다. 두 숫자를 함께 보고한 연구가 그렇지 않은 연구보다 신뢰할 만한 이유이기도 하다.
논점 2 — 데이터 누출
더 근본적인 문제는 평가 설계다.
한 조기 탐지 연구는 기존 방법들이 주로 사후적 온체인 신호에 기대며 시간적 데이터 누출을 겪는다고 지적하고, 손으로 라벨링한 1,000개 프로젝트 데이터셋에서 모든 특징을 유동성 인출 이전에만 추출해 인과적 타당성을 지켰다고 밝힌다. 저자들의 요지는 성능 수치가 아니라 누출에 견디는 평가 방식과 보정된 위험 추정이 필요하다는 것이다 (arXiv:2603.11324). 앞서 본 데이터셋 논문이 시간 정합성을 전면에 내세운 것도 같은 문제의식이다 (arXiv:2602.21529).
여기에 정직한 음성 결과가 하나 있다. 악성코드 탐지 분야에서 검증된 개념 표류 대응 기법을 러그풀 탐지에 옮겨 본 프리프린트다. 저자들은 실제 이더리움 토큰 프로젝트 633건을 엄격한 연대순 분할로 평가했고, 그 과정에서 하이퍼파라미터 튜닝 단계의 누출을 발견해 바로잡았다고 명시한다. 결과는 이렇다 — 주기적으로 재학습하는 단순한 기준 모델이 F1 평균 0.891(표준편차 0.008)로 표류 대응 군집화(0.873, 표준편차 0.014)보다 근소하게 높았고, 시간에 따른 정밀도 변동도 훨씬 작았다(표준편차 0.015 대 0.064). 군집화 쪽의 이점은 일부 분할에서의 낮은 위양성률이었고, 대가는 낮고 불안정한 재현율이었다. 저자들은 이를 부정적 방향의 결과로 명시적으로 제시한다 (DOI: 10.21203/rs.3.rs-10510157/v1, 프리프린트).
이런 논문이 드물다는 사실 자체가 앞 절의 숫자들을 읽는 방법을 알려 준다. 자기 도구가 이겼다고 보고하는 논문이 압도적으로 많은 문헌에서, 졌다고 보고하는 논문은 평균보다 많은 정보를 담는다.
논점 3 — 무엇을 사건으로 셀 것인가
라벨 문제는 성능 문제보다 앞선다.
앞서 본 비동기 체인 연구는 총예치가치 기준과 활동 중단 기준이라는 두 정의를 같은 연구 안에서 비교했고, 두 정의가 서로 다른 지표에서 우위를 보였다 (arXiv:2509.01168). 조각난 러그풀 연구는 기존 탐지기의 전제 자체가 현실의 상당 부분을 놓친다고 지적했고 (arXiv:2511.15463), 느린 유동성 유출 연구는 아예 새 범주를 만들어야 했다 (arXiv:2503.04850). SoK의 커버리지 계산은 이 상태를 숫자로 요약한다 — 공개 데이터셋이 다루는 원인은 34개 중 7개였다 (arXiv:2403.16082).
"러그풀이 얼마나 흔한가"라는 질문에 하나의 답이 없는 이유가 여기 있다. 44~50%라는 추정 (DOI: 10.2139/ssrn.4490180, 워킹페이퍼), 약 50%라는 추정 (arXiv:2109.00229), 신규 발행 10만 개 중 7만 6천이라는 추정 (arXiv:2603.24625)은 서로 다른 정의와 표면과 시기를 재고 있다. 어느 하나를 "현재 시장의 사기 비율"로 옮겨 적는 순간 그것은 틀린 문장이 된다.
논점 4 — 사전 경고는 실제로 얼마나 이른가
조기 탐지라는 말이 붙은 연구들이 실제로 보고하는 선행 시간을 보자. 세탁 거래 기반 경보 연구는 일부 표본에서 평균 3.81시간 (arXiv:2603.13830), 비동기 체인 연구는 거래 개시 후 5분 이내 판별 (arXiv:2509.01168), 느린 유동성 유출 연구는 규칙 기반 대비 4.77배 빠른 탐지를 보고한다 (arXiv:2503.04850).
세 숫자가 재는 것이 서로 다르다. 앞의 것은 "사건까지 남은 시간", 가운데 것은 "토큰 생애 초반의 판별 시점", 뒤의 것은 "다른 방법 대비 상대 속도"다. 그리고 세탁 거래 연구가 스스로 밝힌 대로, 그 선행 시간은 일부 표본에서 얻어진 것이며 시스템은 자동 경보기가 아니라 1차 선별기로 위치 지어야 한다 (arXiv:2603.13830).
세 시간이든 다섯 분이든, 그것이 누구에게 어떤 형태로 닿느냐는 또 다른 문제다. 문헌은 이 질문에 아직 답하지 않는다.
논점 5 — 합법적 관리 권한과 악용 가능한 권한을 코드만 보고 가를 수 있는가
이것이 이 글에서 가장 풀리지 않은 질문이다.
문제의 형태는 이렇다. 위험 신호로 지목되는 권한들은 정상적인 운영에도 쓰인다. 발행량 조절이 설계의 일부인 토큰이 있고, 규정이나 계약상 특정 계정의 이동을 제한해야 하는 자산이 있고, 결함이 발견됐을 때 고칠 수 있어야 하는 컨트랙트가 있다.
여기서 업그레이드 가능 컨트랙트를 짚고 가자. 스마트 컨트랙트는 배포 후 고칠 수 없는 것이 원칙이고, 앞서 봤듯 그 불변성이 오히려 대규모 사기를 용이하게 한다는 지적이 있다 (arXiv:2603.11324). 그래서 나중에 로직을 갈아 끼울 수 있게 만든 설계가 쓰인다. 그런데 고칠 수 있다는 것은 곧 누군가에게 고칠 권한이 있다는 뜻이다. 보안 패치를 가능하게 하는 바로 그 권한이, 다른 의도를 가진 손에 들리면 다른 일을 한다. 이것은 어느 한 논문의 발견이 아니라 설계의 성질이고, 그래서 어떤 탐지기도 이 대칭성 자체를 없애지 못한다.
권한 통제 연구가 "느슨한 권한 관리"를 취약점의 한 범주로 세운다는 사실이 이 긴장을 잘 보여 준다 (arXiv:2604.15118). 권한이 있다는 것 자체가 결함은 아니다. 결함은 그 권한이 얼마나 넓은가에 있다. 그런데 "얼마나 넓어야 지나친가"는 코드가 아니라 그 프로젝트가 무엇을 하겠다고 했는가에 달려 있다.
그래서 이 분야의 한 갈래는 아예 질문을 바꿨다. 취약점이 아니라 의도를 읽겠다는 것이다. 한 연구는 스마트 컨트랙트에서 개발자의 의도를 자동으로 탐지하는 모델을 제안하면서, 초기의 취약점 탐지 성과 이후 악성 의도가 막대한 손실을 낳으면서 의도 탐지가 더 시급한 문제가 됐다고 적는다. 4만 건 넘는 실제 컨트랙트로 학습해 10개 범주에 걸쳐 F1 0.8633을 보고한다 (arXiv:2211.10724).
이 시도의 존재 자체가 문제의 성격을 말해 준다. 코드에서 읽어 낼 수 있는 것은 능력이고, 알고 싶은 것은 의도다. 그리고 후자는 코드 안에 없다. 의도 탐지 모델이 실제로 읽는 것도 결국 코드에 남은 흔적이지 사람의 마음이 아니다.
논점 6 — 공개와 감사는 무엇을 대신하지 못하는가
이 지점에서 가장 뼈아픈 증거는 오히려 코드 공개 쪽에서 나온다.
암호자산 공모의 사기를 다룬 한 연구는, 발행 시점에 이용 가능한 정보로 사기를 예측하기가 극도로 어렵다고 결론짓는다. 그리고 뜻밖의 관측을 하나 덧붙인다 — 코드를 공개 저장소에 올린 발행자가 오히려 피싱과 해킹 시도의 표적이 될 가능성이 높았다는 것이다. 저자들은 그래서 발행자의 품질을 인증할 제3자 — 전문 플랫폼이나 실사를 수행하는 기관투자자 — 가 필요하다고 본다 (DOI: 10.1007/s11187-021-00471-y). 백서의 어휘 특성으로 위험 지수를 만들려는 시도도 있지만, 이것 역시 텍스트가 남긴 신호일 뿐이다 (DOI: 10.2308/jfar-2021-001).
감사는 어떤가. 앞서 본 NFT 백도어 연구가 강조한 것이 바로 이것이다 — 이 백도어들은 통상적인 감사를 우회하도록 난독화돼 있었다 (arXiv:2506.07974).
그리고 "권한이 분산돼 있다"는 주장 자체도 검증 대상이다. 토큰 프로토콜 52개의 거버넌스 집중도를 실측한 2026년 연구는 한 문장으로 이를 정리한다 — 토큰 배분은 출범 문서이고, 거버넌스 집중은 살아 있는 제도적 상태다. 저자들은 출범 시점의 배분·성숙도·유통량 같은 변수들이 정상 상태의 집중도를 설명하지 못했다고 보고하고(내부자 배분 Pearson r = 0.09, p = 0.55, N = 50), 실제로 살아남은 상관은 현재 내부자 보유 유지였다고 적는다(Spearman rho = 0.44, p = 0.005, N = 39). 나아가 위임 구조가 보유량 이상으로 투표력을 증폭시키는 사례를 거버넌스 데이터가 충분한 18개 프로토콜 중 13개에서 관측했다. 저자들 스스로 이 결과가 2026년 한 시점의 단면에서 나온 기술적 연관이지 인과 주장이 아니라고 명시한다 (DOI: 10.3389/fbloc.2026.1853465).
출범 문서가 아니라 현재 상태를 봐야 한다는 이 구분은, 이 글이 다룬 권한 문제와 정확히 같은 형태다. 백서에 적힌 약속이 아니라 지금 이 컨트랙트가 누구에게 무엇을 허용하는가.
논점 7 — 회복과 방어는 어디까지 가능한가
사후 회복을 겨냥한 설계도 제안되어 있다. 한 다중체인 프로토콜은 러그풀당한 토큰을 전용 금고에 예치하면 그 토큰의 가격 움직임에 역으로 연동되는 증서 토큰을 발행하는 구조를 제시한다 (arXiv:2507.06423). 다만 이것은 설계 제안이지 배치된 시스템의 평가 결과가 아니다. 이 글은 그 유효성에 대해 아무 말도 하지 않는다.
기관 수준의 위험 평가 틀도 나오고 있다. DeFi 위험을 9개 차원으로 확장한 한 프레임워크는 2024~2026년의 주요 사고 12건(직접 손실 약 25억 달러 규모)을 소급 분석하면서, 그중 다섯 건은 새로 추가한 차원 없이는 근본 원인을 온전히 설명할 수 없었다고 보고한다. 저자들이 추가한 차원 중 하나가 이해 부채(comprehension debt) — 시스템이 이해되지 못한 채 쌓여 가는 몫이다 (arXiv:2605.05145). 이 개념은 이 글의 첫 반전과 정확히 맞물린다. 공개돼 있으나 읽히지 않은 것은, 그 자체로 축적되는 부채다.
한편 방어의 다른 축은 사람 쪽에 있다. 한 질적 연구는 암호자산 커뮤니티가 사기를 어떻게 다루는지를 관찰하면서, 커뮤니티가 신규 진입자 안내와 피해 경험 공유로 서로를 무장시키는 동시에, 사기를 "탈중앙의 대가"로 정상화하는 규범도 함께 만들어 낸다고 보고한다 (DOI: 10.1177/02697580231215840).
앞서 본 워킹페이퍼가 붙인 "쫓고 쫓기는 게임"이라는 표현이 여기서 다시 온다 (DOI: 10.2139/ssrn.4490180, 워킹페이퍼). 탐지가 나아지면 형태가 바뀐다. 조각난 러그풀과 느린 유출이 그 증거다 (arXiv:2511.15463; arXiv:2503.04850).
의의: 확인 가능한 것과 확인 불가능한 것
이 글의 출발점으로 돌아가자. 러그풀은 해킹이 아니라 권한이다.
이 문장을 이제 정확하게 다시 쓸 수 있다. 코드에서 확인할 수 있는 것은 어떤 권한이 존재하는가다. 총량을 늘릴 수 있는가. 다른 사람의 전송을 막을 수 있는가. 넣어 둔 유동성을 되가져올 수 있는가. 잠갔다는 표시가 실제로 무엇을 묶고 있는가. 이것들은 원리적으로 확인 가능하고, 대규모로 세는 방법도 나와 있다 (DOI: 10.1145/3822509; arXiv:2506.07974; arXiv:2604.15118).
다만 이 네 문장을 점검표로 오해하면 안 된다. 여기에 전부 "아니오"라는 답이 나와도 그것은 안전의 증명이 아니다 — 코드에 아무 흔적을 남기지 않는 경로가 있고 (arXiv:2603.24625), 단순한 규칙을 벗어나는 형태가 보고돼 있으며 (arXiv:2511.15463), 공개 데이터셋이 다루는 원인은 전체의 일부일 뿐이다 (arXiv:2403.16082). 확인 가능하다는 말은 그 이상을 뜻하지 않는다.
코드에서 확인할 수 없는 것은 그 권한을 쥔 사람이 그것을 쓸 것인가다. 이것은 정보가 부족해서가 아니다. 그 정보가 코드 안에 없기 때문이다. 이 분야가 취약점 탐지에서 의도 탐지로 질문을 옮긴 것도 (arXiv:2211.10724), 발행 시점 정보로 사기를 예측하기가 극도로 어렵다는 결론이 나온 것도 (DOI: 10.1007/s11187-021-00471-y) 같은 벽 앞에서다.
그래서 감사와 공개는 후자를 대신하지 못한다. 감사는 코드가 무엇을 할 수 있는지를 말해 주고, 공개는 그 확인을 남의 말에 의존하지 않게 해 준다. 둘 다 값진 일이지만, 둘 다 의도에 관한 진술이 아니다. 감사를 우회하도록 난독화된 백도어가 실재한다는 보고 (arXiv:2506.07974), 코드를 공개한 발행자가 오히려 공격 표적이 됐다는 관측 (DOI: 10.1007/s11187-021-00471-y), 배분표가 아니라 현재 통제 상태를 봐야 한다는 감사 기준 (DOI: 10.3389/fbloc.2026.1853465)은 전부 같은 방향을 가리킨다.
탐지 연구도 이 벽을 넘지 못한다. 넘으려 하지도 않는다. 지금까지 본 가장 정직한 문장들은 전부 자기 한계에 관한 것이었다 — 자동 경보기가 아니라 1차 선별기 (arXiv:2603.13830), 누출을 잡고 나니 단순한 기준 모델이 더 나았다 (DOI: 10.21203/rs.3.rs-10510157/v1, 프리프린트), 공개 데이터셋은 원인의 20%만 다룬다 (arXiv:2403.16082).
그러니 물어야 할 질문은 "이 토큰은 안전한가"가 아니다. 무엇이 무엇을 보장하는가다.
코드는 규칙을 보장한다. 그 규칙이 누구에게 무엇을 허용하는지도 보장한다. 그 이상은 보장하지 않는다. 특히 허용된 것이 실행되지 않으리라는 것은 결코 보장하지 않는다. 러그풀이 해킹처럼 보이지 않는 이유가 여기 있다. 그것은 시스템이 고장 난 순간이 아니라, 시스템이 처음부터 허용해 온 일이 마침내 일어난 순간이다.
이 구분을 지우면 두 방향으로 틀린다. 하나는 "코드가 공개돼 있으니 검증됐다"고 믿는 쪽이고, 다른 하나는 "그러니 전부 사기다"라고 접는 쪽이다. 연구가 실제로 말하는 것은 그 사이에 있다 — 확인 가능한 것의 목록은 짧지만 실재하고, 그 목록 바깥은 여전히 신뢰의 영역이다.
지금 이 순간에도 새 탐지기가 나오고 새 변형이 관측된다. 그 경주의 승부는 이 글이 예측할 수 있는 것이 아니다. 다만 경주의 규칙은 분명하다. 코드는 누가 무엇을 할 수 있는가까지만 말해 주고, 그 이후는 언제나 사람이다. 확인할 수 있는 것과 믿어야 하는 것 사이에 선을 긋는 일 — 그 선이 어디에 그어져 있는지 아는 것이, 지금까지의 연구가 준 가장 실용적인 소득이다.
근거 논문
- "CRPWarner: Warning the Risk of Contract-related Rug Pull in DeFi Smart Contracts" (2024) — arXiv:2403.01425 — 실제 러그풀 103건 수동 분류, 컨트랙트 관련/거래 관련 이분법, 악성 함수 탐지 도구의 저자 보고 성능과 대규모 적용 결과.
- "SoK: Comprehensive Analysis of Rug Pull Causes, Datasets, and Detection Tools in DeFi" (2024) — arXiv:2403.16082 — 뿌리 원인 34개 분류, 공개 데이터셋 커버리지 20%→54%, 도구 14개가 25개 원인 커버(73.5%), 아무도 못 잡는 아홉 개.
- "SolRPDS: A Dataset for Analyzing Rug Pulls in Solana Decentralized Finance" (2025) — arXiv:2504.07132 — 36.9억 건 거래에서 추린 62,895개 의심 유동성 풀, 비활동 상태 라벨, 22,195개 토큰의 러그풀 패턴.
- "From Hype to Collapse: Investigating Rug Pull Scams on Solana" (2026) — arXiv:2603.24625 — 악성 로직이 아니라 온체인 행동 조작으로의 이동, 세 행동 패턴, 신규 10만 개 중 76,469개 식별, 수동 감사 위양성률 0.26%.
- "Exposing Hidden Backdoors in NFT Smart Contracts: A Static Security Analysis of Rug Pull Patterns" (2025/2026) — arXiv:2506.07974; DOI: 10.21203/rs.3.rs-8468227/v1 (프리프린트 판본) — 검증된 NFT 컨트랙트 49,940건 정적 분석, 백도어는 버그가 아니라 의도적·난독화된 것이며 통상 감사를 우회하도록 설계됨.
- "The Backdoor Injures Its Cryptocurrency: An Empirical Study of Backdoor Attacks on Ethereum Smart Contracts" (2026) — DOI: 10.1145/3822509 — 소스 공개 컨트랙트 전수 조사, 백도어 288,440건, 전송 차단형 211,687건(90.9%가 결합형), 발행형이 단독형 최다(23.8%).
- "Detecting Rug-Pull: Analyzing Smart Contract Backdoor Codes in Ethereum" (2025) — DOI: 10.3390/app15010450 — 바이트코드에서 함수를 추출해 잔고 변화를 추적하는 백도어 탐지 모델, 저자 보고 정확도 98%.
- "Do not rug on me: Zero-dimensional Scam Detection" (2022) — arXiv:2201.07220; 저널 판본 DOI: 10.3390/math10060949 — 비수탁·공개 검증 가능 거래소라는 전제, 악성 조작 이전 판별 시도, 저자 보고 정확도 0.9936/재현율 0.9540/정밀도 0.9838.
- "Trade or Trick? Detecting and Characterizing Scam Tokens on Uniswap Decentralized Exchange" (2021) — ; ; — 사기 토큰 1만여 개(상장 토큰의 약 50%), 최소 1,600만 달러 이익, 잠재 피해자 39,762명, 수천 개의 공모 주소.