---
title: "이메일 난독화, 2026년에 실제로 뭐가 통할까? — 426명의 스패머로 실험한 결과"
published: 2026-04-02T03:35:33.000Z
canonical: https://jeff.news/article/1487
---
# 이메일 난독화, 2026년에 실제로 뭐가 통할까? — 426명의 스패머로 실험한 결과

426명의 스패머를 대상으로 15가지 이상의 이메일 난독화 기법을 허니팟으로 실측한 결과. CSS display:none, JS 커스텀 변환 등 간단한 기법으로도 100% 차단 가능하며, 대부분의 하베스터는 HTML 엔티티조차 못 푸는 수준.

- 2026년 기준, 이메일 난독화 기법별 스패머 차단율을 실측한 허니팟 실험 결과가 공개됨
  - 426명의 스패머 대상으로 각 기법이 몇 %를 막는지 정량 측정 — 감이 아니라 데이터로 증명
  - 직접 메일 서버를 구축해서 스팸 필터 없이 원본 데이터를 수집하는 방법론

## 평문 이메일 보호 기법

- 아무 보호 없이 평문 노출하면 당연히 차단율 0% — 426명 전원이 수확해감
- HTML 엔티티 치환(`&#97;` 식)만으로도 95% 차단
  - 서버사이드 라이브러리가 자동 디코딩하니까 이론상 무의미해야 하는데, 대부분의 하베스터가 워낙 기초적이라 이것만으로도 먹힘
- **100% 차단 달성한 기법들이 꽤 많음** — 핵심은 "JS 실행 필요" 또는 "CSS 해석 필요"라는 장벽
  - CSS `display: none`으로 미끼 텍스트 숨기기 — 접근성도 완벽하게 유지되는 최고의 기법 중 하나
  - JS 커스텀 변환 — HTML에는 의미 없는 문자열만 두고, 브라우저에서 커스텀 함수로 복원. 허무할 정도로 간단한데 효과 최강
  - JS AES-256 암호화 — NSA 기밀 등급 승인된 암호로 이메일 자체를 암호화. SubtleCrypto API 사용이라 브라우저 밖에선 복호화 불가
  - JS 사용자 인터랙션 — 페이지에서 사용자가 뭔가 조작해야만 이메일이 노출됨

> [!IMPORTANT]
> 대부분의 하베스터는 극히 기초적임. HTML 엔티티조차 제대로 못 파싱하는 수준이라, 간단한 기법 하나만 써도 95%+ 차단 가능

- SVG `<object>` 태그 안에 이메일을 숨기는 방법도 100% 차단
  - 반드시 `<object>`여야 함 — `<img>`는 비인터랙티브하고, 인라인 SVG는 소스코드에 그대로 노출
- **비추 기법들**: CSS `content` 속성(보이지만 복사 불가 → UX 최악), CSS `direction: rtl`(텍스트 뒤집기 → 복사하면 거꾸로), 이미지(접근성 파괴)
  - 100% 차단이라도 사용성을 깨면 무의미

## 클릭 가능한 mailto 링크 보호

- `mailto:` 링크도 평문과 별도로 보호해야 함 — 399명의 스패머 대상 별도 통계
- HTML 엔티티로 href 인코딩하면 100% 차단 (평문에선 95%였는데 링크에선 100%)
- URL 인코딩(`%61%6f%40...`)은 95% — 서버사이드에서 trivial하게 풀 수 있는데도 대부분 못 품
- HTTP 리다이렉트 기법이 꽤 영리함
  - 일반 링크처럼 보이는 URL → .htaccess에서 302로 `mailto:`로 리다이렉트
  - `rel="nofollow, noindex"`로 검색엔진 크롤링도 방지
  - 테스트 끝나면 301(영구)로 전환 가능하지만, 브라우저 캐시 때문에 이후 변경이 어려워짐

## 흔한 반론에 대한 답변

- "요즘 스패머는 웹 스크래핑 안 하고 데이터 유출로 이메일 사감" → 이 실험의 이메일들은 오직 이 웹페이지에만 게시했는데 수천 통의 스팸을 받음
- "내 이메일은 보호 안 해도 스팸 안 옴" → 콘텐츠가 바이럴 되는 순간 집중 스크래핑 당함. 지금 괜찮다고 앞으로도 괜찮은 게 아님
- "그냥 스팸 필터 쓰면 되잖아" → 이 기법들은 오탐률 0%에 무료. 안 쓸 이유가 없음
- "내가 이 기법 뚫 수 있는데?" → 대다수 하베스터는 HTML 엔티티도 못 푸는 수준. 네가 뚫 수 있다고 대부분이 뚫는 건 아님

---

## 기술 맥락

- 이 실험이 흥미로운 건 허니팟 방법론 자체예요. 각 난독화 기법마다 고유한 이메일 주소를 배정하고, 그 주소로 스팸이 오면 해당 기법이 뚫렸다는 뜻이거든요. 스팸 "건수"가 아니라 스패머 "수"로 세는 것도 포인트인데, 한 스패머가 100통 보내는 것과 100명이 각 1통 보내는 건 의미가 다르니까요
- CSS `display: none` 기법이 "최고의 기법 중 하나"인 이유는 단순히 차단율 때문만이 아니에요. 스크린리더 접근성까지 완벽하게 유지되거든요. 시각적으로만 숨기는 다른 기법들(font-size: 0, position: absolute 등)은 스크린리더가 읽어버려서 접근성을 깨뜨려요
- JS 커스텀 변환이 AES 암호화보다 실용적인 이유가 있어요. AES는 SubtleCrypto가 HTTPS 환경에서만 작동하는 제약이 있는 반면, 커스텀 변환은 그런 제약 없이 동일한 100% 차단율을 달성하거든요. "가장 단순한 방법이 가장 효과적"인 전형적인 사례예요
- 여러 기법을 조합해서 이메일 주소를 세그먼트별로 다르게 보호하라는 조언도 중요해요. 하나의 기법에 의존하지 않고 레이어를 쌓으면 단일 실패점이 사라지거든요

## 핵심 포인트

- HTML 엔티티만으로 95% 스패머 차단 가능
- CSS display:none과 JS 기반 기법은 100% 차단 달성
- 대부분의 하베스터는 극히 기초적 수준
- 사용성을 깨는 기법은 차단율과 무관하게 비추
- 허니팟 방법론으로 스패머 수 기준 정량 측정

## 인사이트

2026년에도 웹 스크래핑 기반 이메일 수확이 활발하다는 실증 데이터. 가장 효과적인 방어가 가장 단순한(CSS display:none) 방법이라는 점이 인상적.
