본문 바로가기

양방향 텍스트 제어문자 검사기

브라우저 처리

텍스트 속 RLO·LRE·RLI 같은 보이지 않는 양방향(bidi) 제어 문자를 행:칸 위치와 뜻으로 찾아내고, 닫히지 않은 제어를 경고하며 제거한 텍스트를 함께 보여 줍니다.

사용 전 확인
  • 파일·이미지·문서 처리 도구는 브라우저 안에서 처리되더라도 원본에 개인정보나 민감 정보가 포함될 수 있습니다. 공유·제출 전 원본과 결과를 한 번 더 확인하세요.
도구 실행입력 후 결과 확인
양방향 텍스트 제어문자 검사기 샘플 실행

U+202E(RLO) 같은 양방향 제어 문자는 화면에 보이지 않으면서 뒤에 오는 글자의 표시 순서를 뒤집습니다. 'invoice‮fdp.exe'처럼 실행 파일을 PDF로 위장하거나, 코드 리뷰에서 보이는 내용과 실제 동작이 다른 'Trojan Source' 공격에 악용됩니다.

브라우저 처리
샘플 결과
양방향 제어 문자 1개를 찾았습니다. RLO·LRO는 파일 이름이나 코드의 보이는 순서를 속이는 데 악용될 수 있습니다.
1행: 닫히지 않은 방향 제어(삽입·강제 1개, 격리 0개)가 줄 끝까지 영향을 줍니다.

위치(행:칸)	코드	이름	설명
1:8	U+202E	RLO	오→왼 강제(뒤 글자를 뒤집어 보이게 함)

제거한 텍스트:
invoicefdp.exe
자바스크립트가 활성화되면 이 영역이 실제 입력, 실행, 결과 패널로 바뀝니다.

양방향 텍스트 제어문자 검사기 사용 가이드

U+202E(RLO) 같은 양방향 제어 문자는 화면에 보이지 않으면서 뒤에 오는 글자의 표시 순서를 뒤집습니다. 'invoice‮fdp.exe'처럼 실행 파일을 PDF로 위장하거나, 코드 리뷰에서 보이는 내용과 실제 동작이 다른 'Trojan Source' 공격에 악용됩니다.

이 도구는 텍스트를 한 글자씩 살펴 LRM·RLM·ALM 표시 문자, LRE·RLE·LRO·RLO 삽입·강제 문자, LRI·RLI·FSI·PDI 격리 문자를 모두 찾아 몇 행 몇 번째 칸에 있는지와 각 문자의 역할을 표로 보여 줍니다.

삽입·강제 문자를 PDF로, 격리 문자를 PDI로 닫지 않은 줄은 그 뒤 내용 전체가 영향을 받으므로 따로 경고합니다. 맨 아래에는 제어 문자를 모두 지운 텍스트를 보여 줘 실제 글자 순서를 확인할 수 있습니다.

사용 방법

  1. '입력' 칸에 의심되는 파일 이름, 코드, 메시지를 붙여 넣습니다.
  2. '실행'을 누르면 찾은 제어 문자의 위치·코드·이름·설명 표와 경고가 나옵니다.
  3. 아래의 '제거한 텍스트'로 실제 글자 순서를 확인하고 필요하면 그 텍스트를 사용합니다.

예시: PDF로 위장한 실행 파일 이름

입력
invoice[U+202E]fdp.exe  (RLO 문자가 들어 있어 화면에는 invoiceexe.pdf처럼 보임)
결과
양방향 제어 문자 1개를 찾았습니다. RLO·LRO는 파일 이름이나 코드의 보이는 순서를 속이는 데 악용될 수 있습니다.
1행: 닫히지 않은 방향 제어(삽입·강제 1개, 격리 0개)가 줄 끝까지 영향을 줍니다.

위치(행:칸)	코드	이름	설명
1:8	U+202E	RLO	오→왼 강제(뒤 글자를 뒤집어 보이게 함)

제거한 텍스트:
invoicefdp.exe

제어 문자를 지우면 실제 확장자가 .exe라는 것이 드러납니다.

이럴 때 쓰면 좋아요

  • 메일로 받은 첨부 파일 이름이 위장되었는지 확인할 때
  • 코드 리뷰나 PR에 숨은 Trojan Source 문자가 있는지 점검할 때
  • 아랍어·히브리어가 섞인 문장의 표시가 이상할 때 원인을 찾을 때
  • 사용자 입력에서 방향 제어 문자를 걸러 내기 전에 어떤 문자가 들어오는지 볼 때

문제가 생겼을 때

아랍어 문장인데 LRM·RLM이 많이 나옴

LRM·RLM은 숫자와 문장 부호 방향을 바로잡는 정상적인 표시 문자일 수 있습니다. 문제는 주로 RLO·LRO처럼 순서를 강제로 뒤집는 문자입니다.

제어 문자를 지웠더니 문장 부호 위치가 달라짐

의도적으로 넣은 방향 표시까지 지워진 것입니다. 오른쪽에서 왼쪽 언어라면 HTML의 dir 속성으로 방향을 지정하세요.

활용 팁

  • GitHub는 숨은 양방향 문자가 있는 코드에 경고를 표시합니다. 경고가 보이면 이 도구로 해당 줄을 붙여 넣어 정확한 위치를 확인하세요.
  • 파일 업로드나 회원 이름처럼 방향 제어가 필요 없는 입력은 서버에서 U+202A~202E, U+2066~2069를 막아 두는 것이 안전합니다.

자주 묻는 질문

제로폭 공백(U+200B) 같은 다른 보이지 않는 문자도 찾나요?

이 도구는 방향 제어 문자만 다룹니다. 제로폭 문자와 다른 숨은 문자는 보이지 않는 유니코드 문자 검사기로 확인하세요.

위치의 '칸'은 어떻게 세나요?

줄마다 1부터 글자(코드 포인트) 단위로 셉니다. 이모지처럼 두 단위로 저장되는 글자도 한 칸으로 셉니다.

입력한 내용이 저장되나요?

아니요. 검사는 브라우저 안에서만 이루어지고 텍스트는 어디에도 보내지 않습니다.