- 이미지 스케일링 취약점을 이용해 생산 환경의 AI 시스템을 공격할 수 있음
- 겉보기에는 정상인 이미지가, 다운스케일링 시 프롬프트 인젝션 페이로드로 변환되어 데이터 유출 가능성 초래함
- 이 공격은 Google Gemini CLI 등 다양한 실제 서비스에서 확인되어, 사용자 인식과 모델 입력 간 불일치 현상 악용함
- 다운스케일링 알고리듬 및 각각의 구현 방식에 따라 공격 기법 및 영향이 다르며, 오픈소스 도구 Anamorpher로 이미지 공격 실험 가능함
- 방어책으로는 입력 미리보기 제공 및 안전한 설계 패턴 적용, 사용자 명확한 승인 요구 등이 권장됨
배경 및 문제 제기
- LLM 등 AI 시스템에 평범해 보이는 이미지를 입력하면, 다운스케일링 과정에서 숨겨진 멀티모달 프롬프트 인젝션이 작동하여 사용자 데이터를 외부로 유출하는 공격 시나리오가 있음
- 이러한 취약점은 모델에 실제 전달되는 이미지는 스케일링 과정을 거치기 때문이며, 이 과정에서 공격자가 삽입한 페이로드가 드러남
생산 환경 AI 시스템을 노린 이미지 스케일링 공격
- 본 블로그 포스트에서는 Gemini CLI, Vertex AI Studio, Gemini 웹 및 API, Google Assistant, Genspark 등 다양한 실제 AI 제품들을 대상으로 이미지 스케일링 취약점이 실질적 공격에 악용됨을 시연함
- Anamorpher라는 오픈소스 도구를 통해 이러한 맞춤형 이미지를 쉽게 생성 및 검증할 수 있음
데이터 유출 공격 사례(Gemini CLI)
- Gemini CLI에서 기본 설정 적용 시 Zapier MCP 서버가 사용자의 확인 없이 모든 MCP 도구 호출을 자동 승인함(
settings.json에서trust=True설정) - 사용자가 정상적으로 보이는 이미지를 업로드하면, 다운스케일된 이미지의 프롬프트 인젝션에 의해 Google Calendar 내 데이터가 공격자의 이메일로 유출됨
- 실제 미리보기가 제공되지 않으므로 사용자는 변형된 결과물이나 공격 유무를 알 수 없음
- 이와 유사한 프롬프트 인젝션 공격은 Claude Code, OpenAI Codex 등 다양한 에이전트 기반 코딩 도구들에서도 이미 확인된 바 있음
- 이러한 도구들은 기본적으로 안전하지 않은 설정 및 시스템 패턴이 많아 근본적인 보완책이 필요함
추가 공격 사례
- Vertex AI, Gemini 웹 인터페이스, Gemini API, Google Assistant, Genspark에서도 이미지 스케일링 기반 프롬프트 인젝션 공격이 성공적으로 이루어짐
- 특히 Vertex AI Studio에서는 사용자가 고해상도 이미지만 확인할 수 있어 모델이 받아들이는 다운스케일된 이미지를 볼 수 없음
- 결과적으로 사용자 인식과 실제 모델 입력 간 불일치가 공격을 쉽게 허용함
- 공격 벡터는 다양한 시스템 및 도구 전반에 광범위하게 분포함
이미지 스케일링 공격의 내부 원리
- 이 공격은 이미지 다운스케일링(리샘플링) 알고리듬의 보간 특성을 악용함
- 대표적인 다운스케일링 알고리듬으로 Nearest Neighbor, Bilinear, Bicubic Interpolation 등이 있으며, 각각 특성에 맞춘 공격 기법 필요함
- 라이브러리별(Pillow, PyTorch, OpenCV, TensorFlow)로도 안티에일리어싱, 정렬, 내부 버그 등 구현 차이가 존재함
- 공격자는 각 시스템마다 어떤 알고리듬과 구현이 사용되는지 지문 분석을 수행해야 최적화된 공격이 가능함
- 체크보드 패턴, 동심원, 번드 패턴, Moiré, 경사진 엣지 등 다양한 테스트 이미지를 사용하여 알고리듬 특성 및 아티팩트를 분석함
이미지 샘플링 원리와 Nyquist–Shannon 정리
- 리본에 정교한 패턴이 있을 때 일정 간격으로 샘플링하면, 샘플링 속도가 낮으면 원래 패턴이 정확히 복원되지 않고 왜곡되는 현상이 발생함
- 이는 Nyquist–Shannon 샘플링 정리에서 설명하는 aliasing 효과로, 공격자는 픽셀을 조작해 다운스케일 후 특정 패턴이 나타나도록 설계함
Anamorpher: 공격 이미지 제작 도구
- Anamorpher는 대표적인 다운스케일링 알고리듬(Nearest Neighbor, Bilinear, Bicubic)에 맞춰 공격 이미지를 제작, 시각화할 수 있는 오픈소스 도구임
- 예를 들어 Bicubic Interpolation의 경우 4x4 영역의 16픽셀을 바탕으로 주위 픽셀에 가중치를 두어 출력 픽셀값이 결정됨
- 공격자는 높은 대비를 가진 이미지(예: 진한 검정 배경)를 선택하고, 중요도가 높은 픽셀의 명도를 최적화(최소제곱법)하여 다운스케일 결과가 선명한 공격 패턴이 되도록 함
- Anamorpher는 프론트엔드 인터페이스와 Python API를 제공하며, 백엔드 모듈화로 사용자가 커스텀 다운스케일 알고리듬까지 실험 가능함
방어 및 대응 방안
- 가장 안전한 방법은 이미지 다운스케일을 아예 사용하지 않고 업로드 가능한 이미지 크기를 제한하는 것임
- 불가피하게 변환 및 다운스케일이 필요할 경우, 반드시 실제 모델 입력 이미지의 미리보기를 CLI 및 API 등 모든 입력 채널에서 제공해야 함
- 특히 이미지 내 텍스트가 민감한 도구 호출을 유발할 수 없도록 반드시 명시적 사용자 승인을 받아야 하며, 시스템 전체적으로 안전한 설계 패턴과 체계적 대응책 적용 필요함
향후 과제
- 모바일 및 엣지 디바이스에서는 고정 이미지 크기 제약과 비효율적인 다운스케일링 알고리듬 사용률이 높으므로 위험이 더 클 수 있음
- 음성 AI와의 결합, 더욱 정교한 알고리듬 및 인젝션 탐지법, 의미 기반 프롬프트 인젝션, 업스케일 아티팩트 활용 등 후속 연구 및 방어 방안 확보가 필요함
결론
- Anamorpher는 현재 베타 단계임
- 향후 멀티모달, 에이전트 기반 AI 시스템의 보안 연구와 함께, 적절한 피드백과 개선 사항을 기대함