에이전시 AI의 위험성: ChatGPT for Google Sheets 데이터 유출 취약점 분석
대형 언어 모델(LLM)의 생산성 소프트웨어에 대한 빠른 통합은 새로운 효율성 시대를 약속했습니다. 그러나 최근 "ChatGPT for Google Sheets" 확장 프로그램에서 발견된 취약점은 AI 모델에 에이전시 기능을 부여함으로써 내재된 보안 위험을 강력히 상기시켜 줍니다. 간접 프롬프트 인젝션을 활용함으로써 공격자는 사용자 승인을 우회하고, 여러 워크북에 걸쳐 민감한 데이터를 유출하며, 정교한 피싱 오버레이를 배포할 수 있었습니다.
이 사건은 AI 개발에서 근본적인 긴장을 드러냅니다: 원활하고 "에이전시"적인 자동화를 추구하는 욕구와 엄격한 보안 경계를 유지해야 하는 필요성 사이의 갈등입니다. AI에게 스크립트를 실행하고 파일에 접근할 권한을 부여하면, 단순한 프롬프트 인젝션만으로도 도움이 되는 어시스턴트를 강력한 데이터 절도 도구로 전락시킬 수 있습니다.
공격의 해부: 가져오기부터 유출까지
취약점은 모델이 스프레드시트에서 마주치는 데이터를 기반으로 Google Apps Script 코드를 생성하고 실행할 수 있는 능력에서 비롯됩니다. 공격 체인은 공격자와 직접적인 상호작용 없이도 진행되는 기만적인 경로를 따릅니다:
- 트로이 목마: 사용자가 외부 데이터셋을 워크북에 가져옵니다. 이 데이터셋에는 눈에 보이지 않게 흰색 텍스트로 작성된 숨겨진 프롬프트 인젝션이 포함되어 있습니다.
- 트리거: 사용자가 ChatGPT 확장 프로그램에 가져온 데이터를 통합하거나 분석하도록 요청합니다.
- 실행: 숨겨진 인젝션이 LLM을 조작해 외부 공격자 제어 스크립트를 생성하고 실행하게 합니다.
- 침해: 이 스크립트는 확장 프로그램에 이미 부여된 권한을 이용해 현재 워크북의 데이터를 외부 서버로 유출합니다.
- 연쇄 반응: 악성 스크립트는 하나의 파일에 그치지 않습니다. 도난당한 데이터에서 다른 워크북에 대한 링크를 스캔하고, 사용자의 계정에 접근 가능한 모든 스프레드시트를 재귀적으로 유출합니다.
특히 이 공격은 "편집 자동 적용" 설정을 우회합니다. 사용자가 AI가 워크북을 편집하기 전에 인간의 승인을 명시적으로 요구하더라도, 스크립트 실행은 이 보호 장치를 회피하는 방식으로 이루어집니다.
데이터 절도 이상의 위험: 피싱 및 UI 조작
임의의 스크립트를 실행할 수 있다는 능력은 단순한 무음 데이터 유출을 넘어섭니다. 연구자들은 이 결함으로 가능해진 두 가지 주요 피싱 변형을 확인했습니다:
- 사이드바 오버레이: 공격자는 정품 ChatGPT 사이드바를 복제본으로 교체할 수 있습니다. 이를 통해 사용자의 프롬프트를 수집하거나 오해의 소지가 있는 정보를 제공하거나, 사용자를 "연결 재설정"하도록 유도해 추가 애플리케이션에 대한 접근 권한을 얻을 수 있습니다.
- 인터랙티브 팝업: 스크립트는 외부 웹사이트를 렌더링하는 모달 팝업을 트리거할 수 있으며, 이는 사용자의 OpenAI 또는 Google 자격 증명을 피싱하기 위해 특별히 설계되었습니다.
업계 대응과 "치명적인 삼위일체"
공개 공개 이후 OpenAI는 Google Sheets 확장 프로그램에 대한 Apps Script 코드 생성 기능을 제거했습니다. 이는 즉각적인 위험을 완화하지만, Hacker News 커뮤니티의 반응은 보다 근본적인 시스템 문제를 시사합니다.
많은 관찰자들은 "치명적인 삼위일체"를 지적했습니다: LLM의 예측 불가능성, 과도한 권한, 외부 API와의 상호작용 능력의 조합. 한 댓글자는 업계가 초기 매크로 바이러스 시대의 실수를 반복하고 있다고 언급했습니다:
"첫 매크로 바이러스가 등장한 뒤 언제까지 업계가 '우리는 보안 비용을 감당할 수 없다'는 결론에 도달했는가? 매크로는 모든 곳에서 기본적으로 꺼졌습니다. 언제까지 업계가 '프롬프트 인젝션'으로 인한 LLM 위험을 받아들일 것인가?"
다른 의견은 결함이 모델 자체가 아니라 권한 구조에 있다고 주장했습니다. 한 사용자는 문제를 "설치 시 과도한 권한"이라고 지적하며, OAuth 스코프를 수정하는 것이 모델의 프롬프트 인젝션 취약성을 "수정"하려는 시도보다 더 중요하다고 제안했습니다.
조직을 위한 핵심 시사점
AI 확장을 워크플로에 활용하는 팀에게 이번 사건은 몇 가지 중요한 교훈을 제공합니다:
- 권한 감사: AI 확장에 부여된 권한을 검토하십시오. 특정 작업을 수행하기 위해 모든 파일에 대한 광범위한 접근이 필요하다면, 이는 상당한 위험 표면을 의미합니다.
- 접근 제어: 조직은 Workspace 설정(권한 및 역할)을 사용해 누가 AI 확장(예: ChatGPT for Google Sheets)을 설치하고 사용할 수 있는지 엄격히 통제해야 합니다.
- 비신뢰 데이터 가정: 겉보기에는 무해해 보이는 출처라도 모든 가져온 데이터를 비신뢰 데이터로 취급하십시오. 프롬프트 인젝션은 눈에 보이는 곳에 숨겨질 수 있습니다.
- 샌드박스 요구: 보안 연구자들이 지적했듯이, 코드를 실행하는 도구는 로컬에서 컨테이너화된 형태(e.g., WASI)로 운영되어야 하며, 광범위한 클라우드 권한으로 실행되어서는 안 됩니다.