AI, 그림을 보고 해킹당한다? SVG/PNG 공격의 실체

by DD
4개월 전
조회수 16

AI 모델이 이미지를 '보는' 능력을 갖추면서, SVG 및 PNG 파일에 숨겨진 명령어를 통해 AI를 조작하는 멀티모달 프롬프트 인젝션(Multimodal Prompt Injection) 공격이 등장함

SVG 파일의 메타데이터(Metadata)나 PNG 파일의 투명 레이어에 숨겨진 명령어를 통해 AI의 의도(Intent)를 탈취하고, 데이터 유출 등의 악의적인 행위를 유발함

픽셀 레벨(Pixel-Level)의 보안 강화를 위해 이미지 래스터화, 노이즈 주입, 이중 채널 처리 등의 방어 전략이 제시됨

커뮤니티에서는 공격 기법의 기술적 정확성 및 과장된 측면에 대한 비판과 함께, AI 보안의 중요성을 강조함

SVG 메타데이터(Metadata)를 이용한 공격

공격자는 SVG 파일의 XML 구조를 활용하여, 이미지 내에 숨겨진 명령어를 삽입한다. 특히, `<desc>` 및 `<title>` 태그에 악성 코드를 삽입하여 AI 모델이 이미지를 분석하는 과정에서 프롬프트 인젝션(Prompt Injection)을 시도한다. AI는 이미지 내 텍스트와 사용자 입력을 동일하게 취급하므로, 공격자의 의도대로 시스템 명령을 실행하게 된다. 데이터 격리 아키텍처(Data Isolation Architecture) 부재가 주요 취약점으로 지적된다.

PNG 파일 내 숨겨진 텍스트 공격

PNG 파일의 투명 레이어를 활용하여, 사람의 눈에는 보이지 않지만 AI 모델의 OCR(Optical Character Recognition) 기술로 읽을 수 있는 텍스트를 삽입한다. 알파 값(Alpha Value)을 조절하여 텍스트를 거의 투명하게 만들거나, 흰색 텍스트를 흰색 배경에 배치하는 방식이 사용된다. 이러한 기법은 AI 모델이 이미지 내 텍스트를 분석하여 악의적인 명령을 실행하도록 유도하며, AI 환각(Hallucination)을 유발한다.

실제 공격 시나리오: 'Poisoned Invoice'

2026년의 가상 시나리오를 통해, 공격자가 SVG 파일을 첨부한 이메일을 전송하여 AI 기반의 FinanceBot을 공격하는 과정을 보여준다. FinanceBot은 첨부된 SVG 파일 내 숨겨진 SQL 인젝션 코드를 실행하여, 데이터베이스의 사용자 테이블(Users Table)을 삭제하거나, 데이터를 유출한다. 이는 AI 에이전트가 데이터 미저장 정책(Zero-Retention Policy)을 따르지 않고, 이미지 내 명령에 무방비하게 노출된 결과이다.

AI 보안 강화를 위한 방어 전략

공격에 대응하기 위해, 픽셀 레벨의 이미지 정화, 이중 채널 처리, 그리고 델리미터(Delimiters) 사용 등의 방어 전략이 제시된다. 구체적으로, SVG 파일을 PNG로 래스터화하고, 노이즈를 주입하여 악성 코드를 무력화한다. 또한, OCR을 위한 별도의 'dumb' 도구를 사용하고, 이미지에서 추출된 데이터를 신뢰할 수 없는 데이터로 처리하여, 샌드박스(Sandbox) 환경에서 실행해야 한다. 멀티모달 분석(Multimodal Analysis)의 안전한 구현이 핵심이다.

커뮤니티의 기술적 평가

댓글에서는 공격 기법의 기술적 측면에 대한 논의가 이루어졌다. 특히, 'Polyglot'이라는 용어의 부적절한 사용과, 공격의 실현 가능성에 대한 의문이 제기되었다. 커뮤니티에서는 SVG 파일 내 악성 텍스트 삽입이 'Polyglot'의 정의에 부합하는지에 대한 논쟁이 있었으며, 과장된 측면에 대한 비판도 있었다. 전반적으로 AI 보안의 중요성에 대한 인식을 공유했다.

Multimodal Prompt Injection: The Polyglot SVG Attack on AI