눈에 안 보이는 유니코드 문자가 스팸 필터를 통과시킨다: AI 공격 기법이 피싱 메일로 번진 이유

AI 프롬프트 인젝션을 숨기던 유니코드 문자가 스팸 필터 회피용으로 대량 쓰이면서 탐지 건수가 하루 만에 130만 건 넘게 뛰었습니다. 이 기법이 어떻게 이메일 필터를 피하는지, 왜 대부분은 막혔는지 정리했습니다.

유니코드 태그 문자 시그니처가 하루 만에 2만 1000건에서 130만 건으로 급증한 상황을 요약한 도식
마이크로소프트 디펜더 텔레메트리가 2026년 9월 3일 공개한 유니코드 태그 문자 스팸 급증 요약입니다.

마이크로소프트가 지난 9월 3일 공개한 자사 보안 블로그 글에서, 사람 눈에는 전혀 보이지 않는 유니코드 문자가 대규모 스팸 필터 회피에 쓰이고 있다고 밝혔다. 원래 이 기법은 AI 에이전트를 속이는 프롬프트 인젝션 공격에서 유명해졌다. 그런데 올해 2월 9일 하루 만에 이 문자 패턴이 걸린 메일 수가 하루 약 2만 1000건에서 130만 건 이상으로 뛰었고, 나흘 뒤에는 250만 건을 넘겼다. 공격 대상이 AI가 아니라 이메일 스팸 필터로 바뀐 것이다.

보이지 않는 문자로 필터를 속이는 수법 자체는 새롭지 않다. 제로폭 공백이나 노브레이크 스페이스로 단어를 쪼개 스팸 필터를 피하는 시도는 예전부터 있었다. 이번에 새로운 것은 사용된 문자의 종류와 규모다. 마이크로소프트는 지난 1년간 AI 보안 연구자들이 프롬프트 인젝션을 숨기는 데 쓰던 바로 그 유니코드 블록이 이번에는 금융 사기성 스팸에서 대량으로 쓰이는 것을 확인했다.

유니코드 태그 문자 시그니처가 하루 만에 2만 1000건에서 130만 건으로 급증한 상황을 요약한 도식
마이크로소프트 디펜더 텔레메트리에서 유니코드 태그 시그니처 탐지 건수는 2월 8일 약 2만 1000건에서 2월 9일 130만 건 이상으로 뛰었다. 자료: 마이크로소프트 시큐리티 블로그
유니코드 태그 시그니처의 일별 탐지 건수가 2월 9일을 기점으로 급증한 마이크로소프트 원문 차트
마이크로소프트 원문의 일별 탐지 그래프. 2월 8일까지 낮은 수천 건대였던 수치가 2월 9일 두 자릿수 배로 뛰어 2월 11일 230만 건을 넘겼다. 자료: 마이크로소프트 시큐리티 블로그

어떤 문자이길래 사람 눈에 안 보이나

이 문자들은 유니코드의 '태그 블록'(U+E0000부터 U+E007F까지)에 속한다. 알파벳 A부터 Z, 숫자, 기호까지 일반 아스키 문자를 그대로 본뜬 128개의 코드가 이 블록에 들어 있다. 예를 들어 U+E0041은 대문자 A를, U+E0061은 소문자 a를 그대로 미러링한다. 다만 결정적인 차이가 하나 있다. 대부분의 글꼴과 화면은 이 코드들을 아예 그리지 않는다. 화면에는 아무것도 나타나지 않지만, 텍스트를 그대로 읽어 들이는 프로그램에는 정상적인 문자로 인식된다.

이 블록은 원래 어떤 텍스트가 영어인지 일본어인지 표시하는 언어 태그 용도로 만들어졌다가 폐기됐다. 이후 미국이나 일본 국기 이모지를 지역 국기로 바꾸는 용도로 재활용하려던 계획도 크게 자리 잡지 못했다. 독립 연구자 라일리 구드사이드가 국기 이모지 없이 이 문자만 단독으로 쓰면 화면에는 아무것도 안 보이면서 일부 AI 모델은 여전히 텍스트로 읽어 낸다는 점을 발견하면서, 이 방치된 문자 블록이 프롬프트 인젝션 공격의 도구로 주목받기 시작했다.

AI를 속이던 기법이 왜 스팸 필터로 넘어갔나

AI 프롬프트 인젝션에서 이 문자들의 쓰임은 이렇다. 공격자가 웹페이지나 이메일, 문서 안에 태그 문자로 명령어를 숨겨 두면 사람은 아무 이상도 못 느끼지만, 그 내용을 그대로 읽어 들이는 AI 비서는 숨겨진 명령을 문자로 해석해 실행할 수 있다. 사람에게는 안 보이고 기계에는 보인다는 성질이 핵심이다.

스팸 필터 회피는 이 성질을 정반대 방향으로 쓴다. 마이크로소프트 설명대로 태그 문자가 사람에게는 안 보이면서 텍스트 처리 단계에서는 존재한다는 바로 그 속성이, 모델에 명령을 몰래 넣는 데도 쓰이고 탐지기가 판정하기 전에 키워드를 흐트러뜨리는 데도 쓰인다. 의도는 정반대지만 메커니즘은 같다는 뜻이다.

같은 유니코드 태그 문자가 AI 프롬프트 인젝션과 스팸 필터 회피에서 정반대 목적으로 쓰이는 과정을 비교한 도식
같은 문자, 반대의 목적. 사람에게 안 보이고 기계에는 읽히는 성질을 명령 은닉과 키워드 은닉 양쪽에 쓸 수 있다.

실제로 메일 안에서 무슨 일이 벌어졌나

마이크로소프트가 표본으로 확인한 메일에는 AI를 겨냥한 숨은 명령이 들어 있지 않았다. 대신 'funding'처럼 흔히 스팸 필터가 감시하는 금융 관련 단어 한가운데에 태그 문자 하나(U+E0020, 태그 스페이스)를 끼워 넣어 단어를 쪼갰다. 사람이 메일을 열면 여전히 'funding'으로 읽히지만, 문자열을 그대로 대조하는 필터는 'fun'과 'ding'이라는 서로 다른 조각만 보게 된다. 다수 스팸 분류기가 문장을 통째로 보지 않고 더 작은 토큰 단위로 쪼개 처리하기 때문에, 익숙한 단어 하나에 낯선 문자가 끼어들면 분류기가 그 단어를 아예 다른 토큰으로 인식하거나 드물게 나타나는 조각으로 처리해 버릴 수 있다.

사업자금 2.7백만 달러 대출을 미끼로 쓴 실제 피싱 메일 화면
마이크로소프트가 공개한 캠페인 메일 예시. 사업자금·신용대출을 미끼로 쓰는 문구는 이 캠페인의 공통 패턴이었다. 자료: 마이크로소프트 시큐리티 블로그
피싱 메일 HTML 소스에서 보이지 않는 유니코드 태그 문자 하나가 강조 표시된 화면
실제 피싱 메일의 HTML 소스. 마우스로 짚은 위치의 문자(U+E0020)는 화면에는 나타나지 않지만 소스 코드에는 그대로 들어 있다. 자료: 마이크로소프트 시큐리티 블로그

이 캠페인은 얼마나 크고 오래갔나

마이크로소프트가 추적한 발신 도메인은 약 150개로, 하나같이 사업자금·신용대출을 미끼로 쓰는 이름이었다. 2월 9일 하루 만에 상위 도메인 하나가 3만 건 넘는 탐지 히트를 기록했고, 도메인 이름은 'capital', 'funding', 'loan', 'boost', 'guardian' 같은 28개 남짓한 단어를 조합해 계속 새로 만들어졌다. 이 활동은 이후 석 달 가까이 이어지며 평일마다 하루 100만 건에서 최대 237만 건 사이를 오갔고, 주말에는 거의 0에 가깝게 떨어지는 패턴을 반복했다. 요일별로 켜고 끄는 이 패턴은 예약된 대량 발송 인프라의 전형적인 흔적이라고 마이크로소프트는 설명했다.

이 기법을 쓴 고강도 구간은 5월 15일을 기점으로 급격히 잦아들었고, 이후에는 소규모 잔여 활동만 이어졌다. 다만 이 날짜들은 유니코드 태그 문자를 쓴 특정 구간의 범위일 뿐, 더 넓은 캠페인 자체는 이 기법 이전부터 다른 방식으로 이미 진행 중이었고 기법을 버린 뒤에도 계속됐다.

2월부터 6월까지 유니코드 태그 문자 스팸 탐지 건수가 평일마다 급증하고 주말마다 급감하며 5월 중순부터 크게 줄어드는 로그 스케일 그래프
2월 9일부터 6월 18일까지 금융 테마 발신 도메인의 일별 탐지 건수(로그 스케일). 평일 급증과 주말 급감이 석 달 가까이 반복되다가 5월 15일을 기점으로 크게 줄었다. 자료: 마이크로소프트 시큐리티 블로그

필터를 정말로 뚫었나

결론부터 말하면 대부분은 뚫지 못했다. 마이크로소프트는 디펜더 포 오피스365 기준으로 전체 메일의 99% 이상이 이 태그 문자 시그니처 하나에 의존하지 않는 다른 방어 계층에서 걸러졌다고 밝혔다. 발신자·IP·URL·도메인 평판, 머신러닝 기반 스팸·피싱 분류, 브랜드 사칭 탐지, 인증 검사 같은 계층이 함께 작동했기 때문이다. 실제로 이 캠페인 메일 대부분은 정식 이메일 마케팅 플랫폼 액티브캠페인의 발송 인프라를 거쳤는데, 링크 클릭 추적 도메인도 이 플랫폼 것을 그대로 썼다. 액티브캠페인 측은 마이크로소프트에 자사 콘텐츠 심사 시스템이 보이지 않는 유니코드 문자를 포함한 메일과 포함하지 않은 메일에 같은 판정을 내리며, 이런 문자를 과도하게 쓰는 것 자체를 의심 신호로 취급한다고 밝혔다.

그렇다고 안심할 부분만 있는 것은 아니다. 마이크로소프트는 문자열 그대로를 대조하는 키워드·정규식 매칭이나, 화면에 보이는 문자만 인식하지 않는 토큰화 기반 분류기라면 이 수법에 걸릴 여지가 남아 있다고 짚었다. 방어의 핵심 원칙은 간단하다. 매칭을 하기 전에 먼저 정규화한다. 이메일 제목과 본문에서 보이지 않는 유니코드 문자를 걸러 낸 뒤에 스팸·피싱 시그니처를 적용해야 이런 삽입형 우회를 무력화할 수 있다는 뜻이다. 태그 블록 문자가 정상 메일에는 거의 등장하지 않는다는 점에서, 이 문자의 존재 자체를 강한 이상 신호로 다루는 방식도 함께 권장됐다.

유니코드 태그 시그니처 하나가 아니라 발신자 평판, URL 평판, 머신러닝 분류, 인증 검사 등 여러 탐지 계층이 함께 작동해 메일의 99% 이상을 걸러낸 구조를 정리한 도식
태그 문자 시그니처는 여러 탐지 계층 중 하나일 뿐이다. 발신자·URL 평판, 머신러닝 분류, 인증 검사 등 다른 계층이 함께 작동해 전체 메일의 99% 이상을 걸러냈다. 자료: 마이크로소프트 시큐리티 블로그 기반 재구성

이번 사례가 보여 주는 것

보안 기법은 한 영역에만 머물지 않는다. AI 프롬프트 인젝션 연구에서 유명해진 기법이 전통적인 피싱·스팸 생태계로 넘어가는 데는 채 1년이 걸리지 않았다. 마이크로소프트는 이 발견이 프롬프트 인젝션 방어 연구용으로 짜 둔 헌팅 로직에서 우연히 나왔다는 점도 밝혔다. AI 보안을 들여다보려고 만든 탐지 신호가 전통적인 스팸 캠페인을 잡아낸 것이다. 앞으로 등장할 AI 공격 기법 역시 방어자만 참고하는 게 아니라, 스팸 발송자나 피싱 조직도 함께 지켜보고 있다고 가정하는 편이 안전하다.

출처: Ars Technica, "Once popular for attacking AI, ASCII smuggling is embraced by spammers", 2026년 9월 5일, 마이크로소프트 시큐리티 블로그, "ASCII smuggling crosses over from AI prompt injection to phishing evasion", 2026년 9월 3일