마이크로소프트가 지난 9월 3일 공개한 자사 보안 블로그 글에서, 사람 눈에는 전혀 보이지 않는 유니코드 문자가 대규모 스팸 필터 회피에 쓰이고 있다고 밝혔다. 원래 이 기법은 AI 에이전트를 속이는 프롬프트 인젝션 공격에서 유명해졌다. 그런데 올해 2월 9일 하루 만에 이 문자 패턴이 걸린 메일 수가 하루 약 2만 1000건에서 130만 건 이상으로 뛰었고, 나흘 뒤에는 250만 건을 넘겼다. 공격 대상이 AI가 아니라 이메일 스팸 필터로 바뀐 것이다.
보이지 않는 문자로 필터를 속이는 수법 자체는 새롭지 않다. 제로폭 공백이나 노브레이크 스페이스로 단어를 쪼개 스팸 필터를 피하는 시도는 예전부터 있었다. 이번에 새로운 것은 사용된 문자의 종류와 규모다. 마이크로소프트는 지난 1년간 AI 보안 연구자들이 프롬프트 인젝션을 숨기는 데 쓰던 바로 그 유니코드 블록이 이번에는 금융 사기성 스팸에서 대량으로 쓰이는 것을 확인했다.


어떤 문자이길래 사람 눈에 안 보이나
이 문자들은 유니코드의 '태그 블록'(U+E0000부터 U+E007F까지)에 속한다. 알파벳 A부터 Z, 숫자, 기호까지 일반 아스키 문자를 그대로 본뜬 128개의 코드가 이 블록에 들어 있다. 예를 들어 U+E0041은 대문자 A를, U+E0061은 소문자 a를 그대로 미러링한다. 다만 결정적인 차이가 하나 있다. 대부분의 글꼴과 화면은 이 코드들을 아예 그리지 않는다. 화면에는 아무것도 나타나지 않지만, 텍스트를 그대로 읽어 들이는 프로그램에는 정상적인 문자로 인식된다.
이 블록은 원래 어떤 텍스트가 영어인지 일본어인지 표시하는 언어 태그 용도로 만들어졌다가 폐기됐다. 이후 미국이나 일본 국기 이모지를 지역 국기로 바꾸는 용도로 재활용하려던 계획도 크게 자리 잡지 못했다. 독립 연구자 라일리 구드사이드가 국기 이모지 없이 이 문자만 단독으로 쓰면 화면에는 아무것도 안 보이면서 일부 AI 모델은 여전히 텍스트로 읽어 낸다는 점을 발견하면서, 이 방치된 문자 블록이 프롬프트 인젝션 공격의 도구로 주목받기 시작했다.
AI를 속이던 기법이 왜 스팸 필터로 넘어갔나
AI 프롬프트 인젝션에서 이 문자들의 쓰임은 이렇다. 공격자가 웹페이지나 이메일, 문서 안에 태그 문자로 명령어를 숨겨 두면 사람은 아무 이상도 못 느끼지만, 그 내용을 그대로 읽어 들이는 AI 비서는 숨겨진 명령을 문자로 해석해 실행할 수 있다. 사람에게는 안 보이고 기계에는 보인다는 성질이 핵심이다.
스팸 필터 회피는 이 성질을 정반대 방향으로 쓴다. 마이크로소프트 설명대로 태그 문자가 사람에게는 안 보이면서 텍스트 처리 단계에서는 존재한다는 바로 그 속성이, 모델에 명령을 몰래 넣는 데도 쓰이고 탐지기가 판정하기 전에 키워드를 흐트러뜨리는 데도 쓰인다. 의도는 정반대지만 메커니즘은 같다는 뜻이다.

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


이 캠페인은 얼마나 크고 오래갔나
마이크로소프트가 추적한 발신 도메인은 약 150개로, 하나같이 사업자금·신용대출을 미끼로 쓰는 이름이었다. 2월 9일 하루 만에 상위 도메인 하나가 3만 건 넘는 탐지 히트를 기록했고, 도메인 이름은 'capital', 'funding', 'loan', 'boost', 'guardian' 같은 28개 남짓한 단어를 조합해 계속 새로 만들어졌다. 이 활동은 이후 석 달 가까이 이어지며 평일마다 하루 100만 건에서 최대 237만 건 사이를 오갔고, 주말에는 거의 0에 가깝게 떨어지는 패턴을 반복했다. 요일별로 켜고 끄는 이 패턴은 예약된 대량 발송 인프라의 전형적인 흔적이라고 마이크로소프트는 설명했다.
이 기법을 쓴 고강도 구간은 5월 15일을 기점으로 급격히 잦아들었고, 이후에는 소규모 잔여 활동만 이어졌다. 다만 이 날짜들은 유니코드 태그 문자를 쓴 특정 구간의 범위일 뿐, 더 넓은 캠페인 자체는 이 기법 이전부터 다른 방식으로 이미 진행 중이었고 기법을 버린 뒤에도 계속됐다.

필터를 정말로 뚫었나
결론부터 말하면 대부분은 뚫지 못했다. 마이크로소프트는 디펜더 포 오피스365 기준으로 전체 메일의 99% 이상이 이 태그 문자 시그니처 하나에 의존하지 않는 다른 방어 계층에서 걸러졌다고 밝혔다. 발신자·IP·URL·도메인 평판, 머신러닝 기반 스팸·피싱 분류, 브랜드 사칭 탐지, 인증 검사 같은 계층이 함께 작동했기 때문이다. 실제로 이 캠페인 메일 대부분은 정식 이메일 마케팅 플랫폼 액티브캠페인의 발송 인프라를 거쳤는데, 링크 클릭 추적 도메인도 이 플랫폼 것을 그대로 썼다. 액티브캠페인 측은 마이크로소프트에 자사 콘텐츠 심사 시스템이 보이지 않는 유니코드 문자를 포함한 메일과 포함하지 않은 메일에 같은 판정을 내리며, 이런 문자를 과도하게 쓰는 것 자체를 의심 신호로 취급한다고 밝혔다.
그렇다고 안심할 부분만 있는 것은 아니다. 마이크로소프트는 문자열 그대로를 대조하는 키워드·정규식 매칭이나, 화면에 보이는 문자만 인식하지 않는 토큰화 기반 분류기라면 이 수법에 걸릴 여지가 남아 있다고 짚었다. 방어의 핵심 원칙은 간단하다. 매칭을 하기 전에 먼저 정규화한다. 이메일 제목과 본문에서 보이지 않는 유니코드 문자를 걸러 낸 뒤에 스팸·피싱 시그니처를 적용해야 이런 삽입형 우회를 무력화할 수 있다는 뜻이다. 태그 블록 문자가 정상 메일에는 거의 등장하지 않는다는 점에서, 이 문자의 존재 자체를 강한 이상 신호로 다루는 방식도 함께 권장됐다.

이번 사례가 보여 주는 것
보안 기법은 한 영역에만 머물지 않는다. 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일
