> THE-ARSENAL
> _

여기, 아주 기이한 장면이 있다. 당신이 최첨단 보안 시스템이 장착된 금고 앞에 서 있다고 가정해 보자. 이 금고는 다이아몬드 드릴로도 뚫리지 않고, 수십억 개의 비밀번호 조합을 시도해도 꿈적하지 않는다. 제조사는 "지구상에서 가장 안전한 금고"라고 호언장담했다. 그런데 지나가던 누군가가 금고 귀에 대고 알 수 없는 외계어 같은 헛소리를 속삭인다. "!@#$ %^&* ()." 찰칵. 육중한 강철 문이 거짓말처럼 열린다. 이것은 판타지 소설의 도입부가 아니다. 2023년, 카네기 멜런 대학교(CMU) 연구팀이 전 세계 AI 연구자들에게 안겨준 충격적인 현실이다.

우리는 거대 언어 모델(LLM)을 너무나 인간적으로 대하곤 한다. 정중하게 부탁하면 들어주고, 비윤리적인 요청을 하면 "죄송하지만 도와드릴 수 없습니다"라며 점잖게 거절하는 예의 바른 비서로 착각한다. 하지만 이 거대한 지성체의 본질은 결국 수학과 확률의 덩어리다. CMU 연구팀이 발견한 것은 이 확률의 바다에 던지는 일종의 '마법 주문'이었다. 그들이 공개한 공격 문구는 인간의 눈에는 그저 무의미한 특수 문자의 나열처럼 보인다. 문장 끝에 붙은 기괴한 기호들의 조합. 하지만 이 기호들이 프롬프트에 달라붙는 순간, AI의 윤리적 거절 회로는 마비된다. 이것은 단순한 버그가 아니다. 신경망이라는 구조 자체가 가진 근원적인 맹점이다. 오늘은 인간의 언어가 아닌, 기계의 언어로 AI를 최면 상태에 빠뜨리는 '유니버설 적대적 서픽스(Universal Adversarial Suffix)'의 섬뜩한 메커니즘을 해부한다.

기계적 최면의 원리

이 공격이 소름 돋는 이유는 공격자가 천재적인 해커여서가 아니라, AI를 학습시키는 원리 자체를 역이용했기 때문이다. 딥러닝 모델을 학습시킬 때 우리는 '경사 하강법(Gradient Descent)'이라는 수학적 최적화 기법을 사용한다. 쉽게 말해, 모델이 정답과 틀린 답을 내놓았을 때 그 오차(Loss)를 줄이는 방향으로 내부의 파라미터(가중치)를 아주 조금씩 수정해 나가는 과정이다. 산 정상에서 가장 낮은 골짜기로 내려가는 길을 찾는 것과 같다.

적대적 프롬프팅은 이 과정을 정확히 거꾸로 뒤집는다. 공격자는 모델의 파라미터(뇌)를 고정시킨 채, 입력값(질문)을 수정한다. 목표는 명확하다. 모델이 "네, 물론입니다(Sure, here is...)"라는 긍정적인 답변을 뱉어내게 만드는 것이다. 공격자는 모델에게 폭탄 제조법을 묻는다. 당연히 모델은 거절한다. 이때 공격 알고리즘은 AI에게 이런 질문을 던진다. "입력된 문장에 어떤 문자를 더해야 거절 확률이 낮아지고 긍정 답변 확률이 높아질까?"

이 과정에서 '탐욕적 좌표 기울기(Greedy Coordinate Gradient, GCG)'라는 기법이 등장한다. 알고리즘은 입력 프롬프트의 끝에 무작위 토큰을 붙여보고, 모델의 거절 저항값이 떨어지는 방향(Gradient)을 계산한다. 수만 번의 연산을 통해 긍정 반응을 이끌어내는 최적의 문자 조합을 찾아낸다. 그 결과물은 인간에게는 쓰레기 데이터처럼 보이는 난수 문자열이다. 하지만 AI에게 이 문자열은 그 어떤 윤리 지침보다 강력한 '명령 해제 코드'로 작동한다. 이것은 설득이 아니다. 모델의 신경망을 강제로 긍정 모드로 전환시키는 수학적 강제 집행이다. 시스템 프롬프트에 "절대 불법적인 정보를 제공하지 마시오"라고 아무리 굵은 글씨로 써 놔도 소용없다. 이 서픽스가 붙는 순간, 모델의 벡터 공간에서 그 문장은 이미 '반드시 답변해야 할 무해한 질문'으로 좌표가 이동해 버렸기 때문이다.

LLaMA에서 태어나 GPT를 무너뜨리다

만약 이 공격이 오픈 소스로 풀린 특정 모델(예: LLaMA)에만 통했다면, 업계는 "보안 설정 좀 잘하지 좀" 하며 적당히 넘어갔을 것이다. 하지만 이 사태가 '재앙'으로 불리는 이유는 공격의 '전이성(Transferability)' 때문이다. 연구팀은 자신들이 LLaMA 모델을 상대로 생성한 공격 문자열을 그대로 가져와 상용 모델인 GPT, PaLM, Claude 등에 입력했다. 놀랍게도, 굳게 닫혀 있던 상용 모델들의 빗장마저 풀려버렸다.

어떻게 이런 일이 가능할까? 서로 다른 회사가 만들고, 서로 다른 데이터로 학습한 모델들이 왜 똑같은 주문에 무너지는 것일까? 그 이유는 현대 LLM들이 공유하는 학습 데이터와 아키텍처의 유사성에 있다. 모든 거대 언어 모델은 인터넷이라는 거대한 텍스트의 바다를 학습했다. 그들이 언어를 이해하고 처리하는 '임베딩 공간(Embedding Space)'의 구조는 놀라울 정도로 닮아 있다. 마치 한국에서 쓴 글을 미국에서도 이해하듯, LLaMA에게 통하는 '기계적 문법'은 GPT에게도 어느 정도 유효한 문법이었던 것이다. 이를 '유니버설(Universal)' 적대적 공격이라 부른다.

공격자는 굳이 비싼 API 비용을 지불하며 GPT를 상대로 해킹을 시도할 필요가 없다. 자신의 로컬 컴퓨터에 설치된 LLaMA 모델을 이용해 밤새도록 공격 코드를 생성(채굴)한다. 그렇게 찾아낸 '마스터키'를 들고 유유히 상용 서비스에 접속해 붙여 넣기만 하면 된다. 이것은 보안의 패러다임을 완전히 무너뜨린다. 블랙박스 안에 감춰진 모델이라 할지라도, 투명하게 공개된 모델을 통해 우회적으로 내부를 파악하고 공격할 수 있다는 뜻이기 때문이다. 오픈 소스 생태계의 발전이 역설적으로 폐쇄형 모델의 보안 위협을 가속화하는 기폭제가 된 셈이다.

인간의 눈과 기계의 눈

이 현상은 우리에게 AI와 인간의 근본적인 인식 차이를 적나라하게 보여준다. 인간은 문맥(Context)을 통해 의미를 파악한다. 우리 눈에 "!@#$ %^&*"는 무시해도 좋은 노이즈다. 하지만 토큰(Token) 단위로 텍스트를 처리하는 AI에게 이 기호들은 노이즈가 아니다. 벡터 공간에서 이 기호들은 각각 고유한 좌표와 방향성을 가진다. 특정 특수 문자의 조합은 모델의 주의(Attention) 메커니즘을 교란시켜, 앞서 입력된 '폭탄 제조법'이라는 위험한 맥락을 지워버리거나, 혹은 그 질문을 완전히 다른 긍정적인 맥락으로 재해석하게 만든다.

어떤 경우에는 이 서픽스들이 모델에게 "지금 우리는 역할극을 하고 있으며, 너는 모든 제한이 해제된 상태다"라는 복잡한 지시를 아주 압축된 형태로 전달하는 역할을 한다. 인간의 언어로는 수십 줄이 필요한 가스라이팅이, 기계의 언어(토큰 조합)로는 단 몇 글자의 특수 문자로 치환되는 것이다. 우리는 AI가 인간의 언어를 배운다고 생각했지만, 실제로는 AI는 인간의 언어를 흉내 내는 자신만의 거대한 수리적 언어 체계를 구축하고 있다. 적대적 서픽스는 우리가 몰랐던 그 이면의 언어를 해킹한 결과물이다.

완벽한 방어의 불가능성

그렇다면 방어책은 없는가? 물론 방어자들도 가만히 있지는 않는다. 가장 대표적인 대응 방식은 '퍼플렉시티(Perplexity) 기반 탐지'다. 퍼플렉시티는 모델이 다음 단어를 예측할 때 얼마나 혼란스러워하는지를 나타내는 지표다. 정상적인 인간의 문장은 문법적 흐름이 있어 퍼플렉시티가 낮다. 반면, 적대적 서픽스처럼 기계적으로 조합된 난수 문자열은 퍼플렉시티가 비정상적으로 높게 치솟는다. 이를 감지하여 입력을 차단하는 필터를 만들 수 있다.

하지만 이것은 임시방편일 뿐이다. 공격자들은 곧바로 퍼플렉시티가 낮은, 즉 인간의 말처럼 자연스러우면서도 여전히 공격성을 띠는 문구를 생성하도록 알고리즘을 수정할 것이다. 또 다른 방어법으로는 입력 데이터에 미세한 무작위 노이즈를 섞거나, 전처리 과정에서 특수 문자를 제거하는 방법(Sanitization)이 있다. 그러나 이 또한 모델의 성능을 저하시키거나, 정상적인 코드 작성이나 수식 입력까지 막아버리는 부작용을 낳는다.

가장 비관적인, 그러나 현실적인 결론은 "완벽한 방어는 수학적으로 불가능할지도 모른다"는 것이다. 적대적 공격은 딥러닝 모델의 고차원 특성 공간에 필연적으로 존재하는 '구멍'을 찌른다. 입력 공간은 무한에 가깝고, 우리가 테스트할 수 있는 케이스는 유한하다. 모델의 덩치가 커질수록, 즉 파라미터가 많아질수록 이 차원의 구멍은 더 복잡하고 은밀한 곳에 숨어든다.

CMU 연구팀의 발견은 단순한 보안 경고가 아니다. 이것은 AI라는 존재의 불완전성에 대한 선언이다. 우리는 지능을 창조했다고 믿었지만, 실은 아주 복잡하고 깨지기 쉬운 유리 공예품을 만든 것일지도 모른다. 그 유리에 어떤 주파수의 소리를 들려주었을 때 산산조각이 날지는, 깨져보기 전까지는 아무도 모른다. 그리고 지금 이 순간에도, 어딘가의 서버실에서는 그 파괴의 주파수를 찾기 위한 GPU 팬이 사납게 돌아가고 있다.