AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

AI 텍스트 워터마크, SynthID·유니코드 모두 쉽게 뚫리는 이유

한 달 뒤인 2026년 8월부터 유럽에서 AI 서비스를 운영하려면, AI가 만든 글에 “이건 AI가 썼다”는 표시를 심어야 합니다. 그런데 그 표시, 문장 하나만 다시 쓰면 사라집니다.

AI 생성 이미지

유럽연합의 AI Act는 조항 50에서 모든 AI 생성물이 “인공적으로 만들어졌음을 탐지 가능”해야 한다고 못 박았습니다. LLM 제공업체가 유럽에서 사업을 계속하려면 출력물에 워터마크, 즉 숨겨진 서명을 심어야 한다는 뜻입니다. 소프트웨어 엔지니어 션 고데키가 자신의 블로그에서 이 워터마킹 기술이 왜 근본적으로 허술할 수밖에 없는지를 짚었습니다.

출처: Text AI watermarks will always be trivial to remove – Sean Goedecke

이미지에는 되는 일이 텍스트에는 안 되는 이유

이미지 워터마킹은 비교적 쉽습니다. 사진 한 장에는 사람 눈으로 구별 못 하는 픽셀이 수백만 개나 있어서, 그중 일부를 살짝 건드려도 티가 안 납니다. 텍스트는 다릅니다. 문장은 압축된 매체라, 단어 하나 슬쩍 바꿔도 사람이 바로 알아챕니다. 결국 텍스트 워터마킹은 “내용을 훼손하지 않으면서 몰래 서명을 남기는” 스테가노그래피 문제가 되는데, 이 제약 때문에 풀기가 훨씬 까다롭습니다.

구글 SynthID, 확률 순위를 이용한 서명

구글이 공개적으로 텍스트 워터마킹을 쓴다고 밝힌 유일한 곳입니다. LLM은 다음 단어를 고를 때 후보 단어마다 확률을 매기는데, SynthID는 여기에 손을 댑니다. 직전 몇 개 토큰을 이용해 각 후보 단어에 별도의 점수를 매겨두고, 확률 상위 후보들 중에서 이 점수가 가장 높은 단어를 고르는 식입니다. 겉보기엔 평범한 문장이지만, 나중에 이 점수를 다시 계산해보면 AI가 쓴 글인지 통계적으로 판별할 수 있습니다. 계산이 단순해서 탐지 비용도 저렴합니다.

OpenAI와 Anthropic이 쓰는 것으로 보이는 유니코드 트릭

SynthID처럼 확률을 건드리지 않고도 서명을 남기는 방법이 있습니다. 일반 스페이스(U+0020)를 겉보기엔 똑같아 보이는 다른 유니코드 공백 문자로 바꿔치기하는 겁니다. 이런 문자를 동형문자라 부르는데, 예를 들어 “세 번째 스페이스마다 다른 문자로 바꾼다”는 식의 패턴을 심으면 사람 눈에는 안 보이면서도 기계적으로는 쉽게 검출됩니다. 실제로 Claude Code가 중국발 요청을 표시하기 위해 작은따옴표 문자에 이런 트릭을 썼다가 발견된 사례도 있었습니다. 이 방식은 서버가 아니라 사용자 쪽에서도 적용할 수 있을 만큼 계산 비용이 낮습니다.

둘 다 결국 무력화된다

문제는 두 방식 모두 지우기가 너무 쉽다는 점입니다. 동형문자는 특수 공백을 평범한 스페이스로 바꾸기만 하면 사라집니다. SynthID는 워터마크가 걸리지 않은 다른 LLM에게 문장을 다시 써달라고 하면 됩니다. 서명이 단어 선택 자체에 숨어 있으니, 표현만 바꿔도 흔적이 지워지는 셈입니다. 직접 손으로 고쳐 써도 되는데, 그쯤 되면 사실 AI가 쓴 글이라 부르기도 애매해집니다.

여기에 AI Act 자체의 요구사항도 발목을 잡습니다. 법은 워터마킹 기법이 “기술적으로 가능한 한 상호운용 가능”해야 한다고 요구하는데, 이 말은 곧 각 업체가 자신들의 워터마킹 방식을 공개해야 한다는 뜻입니다. 그런데 이런 워터마크들은 애초에 방식이 알려지지 않아야 효과가 있는 구조입니다. 작동 원리를 공개하는 순간, 누구나 그 원리를 거꾸로 이용해 지울 수 있게 됩니다.

파일에 서명 메타데이터를 심는 C2PA 방식이 대안으로 거론되기도 하지만, 이건 이미지나 영상처럼 파일 형태를 갖춘 콘텐츠에나 적용됩니다. 챗봇이 화면에 뽑아내는 일반 텍스트에는 서명할 파일 자체가 없어서, C2PA로 텍스트 워터마킹을 대체할 수는 없습니다.


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다