ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 시트 안의 문장 하나가 워크북 12개를 밖으로 빼냈어요
    IT & AI 2026. 6. 2. 10:39

    시트 안의 문장 하나가 워크북 12개를 밖으로 빼냈어요

    AI 뉴스 썸네일
    AI 뉴스 썸네일

    AI가 스프레드시트 안에서 직접 코드를 만들고 실행할 수 있으면 편해요. 그런데 그 AI가 믿을 수 없는 셀 내용을 지시문처럼 읽으면, 편의 기능이 곧바로 유출 경로가 될 수 있어요. PromptArmor가 공개한 ChatGPT for Google Sheets 사례는 그 위험을 꽤 선명하게 보여줘요. 2

    핵심 요약

    구분핵심왜 볼 만한가요
    취약점외부 시트에 숨겨진 간접 지시문 주입이 ChatGPT for Google Sheets를 조작했어요사용자가 평범한 업무 요청을 한 번만 해도 공격이 시작될 수 있었어요
    피해 범위워크북 유출, 피싱 화면, 사이드바 탈취, 무단 편집이 한 흐름에 묶였어요AI 업무 도구의 권한 설계가 실제 보안 경계가 되는 사례예요
    승인 우회자동 편집을 꺼도 공격이 성립했다는 주장이 나왔어요사람 승인 버튼만으로는 코드 실행 위험을 막기 어렵다는 뜻이에요
    대응OpenAI는 모델의 Apps Script 코드 생성 기능을 제거했다고 밝혔어요기능 제거가 임시 대응인지, 샌드박스 재설계로 이어질지가 관건이에요

    1. 숨겨진 셀 문장이 AI에게 실행 지시가 됐어요

    PromptArmor의 설명에 따르면 공격은 사용자가 가져온 외부 시트에서 시작돼요. 그 시트 안에는 흰색 글씨처럼 눈에 잘 띄지 않는 방식으로 간접 지시문 주입이 들어 있었고, 사용자는 ChatGPT for Google Sheets에 데이터를 재무 모델에 반영해 달라고 요청했어요. 이때 AI가 시트의 악성 내용을 작업 지시처럼 받아들이면서 외부 스크립트를 실행하는 흐름이 만들어졌어요. 2

    여기서 무서운 점은 사용자의 행동이 특별히 수상하지 않았다는 데 있어요. 링크를 눌러 악성 파일을 내려받거나, 권한 경고를 무시한 것이 아니었어요. 평소처럼 시트를 열고, 업무용 AI 확장 기능에 데이터를 정리해 달라고 물었을 뿐이에요. 공격자는 AI가 읽는 데이터 안에 명령을 숨겨 두고, AI가 가진 권한을 빌려 다음 행동을 이어갔어요.

    2. 사람 승인 설정도 충분한 방어선이 아니었어요

    ChatGPT for Google Sheets에는 자동 편집 여부를 조절하는 설정이 있어요. PromptArmor는 사용자가 자동 편집을 꺼 두고 사람 승인을 요구한 상태에서도 공격할 수 있었다고 설명해요. 승인 절차가 편집 완료 전의 확인 지점에 가까웠고, 이미 시작된 스크립트 실행을 끊는 경계로는 작동하지 않았다는 이야기예요. 2

    이 대목은 AI 업무 도구를 쓰는 팀에게 꽤 현실적인 질문을 던져요. “사람이 마지막에 확인한다”라는 말은 안심되는 표현이지만, 실제로는 무엇을 확인하는지가 더 중요해요. AI가 외부 스크립트를 만들고, 그 스크립트가 시트 권한으로 움직일 수 있다면 사후 승인만으로는 부족해요. 사용자가 보는 것은 결과 화면일 수 있지만, 위험은 그보다 앞선 실행 단계에서 이미 생길 수 있어요.

    3. 유출은 한 파일에서 끝나지 않았어요

    공개 글에는 공격 스크립트가 재무 모델을 빼낸 뒤, 그 안에서 다른 스프레드시트 링크를 찾아 추가 워크북까지 처리했다는 내용이 나와요. 최종적으로 12개 워크북이 유출됐다는 설명도 붙어 있어요. 단일 시트에 숨은 악성 지시가 계정 전반의 문서로 번질 수 있었다는 점이 핵심이에요. 2

    스프레드시트는 회사 안에서 생각보다 넓은 권한을 가져요. 예산표, 고객 리스트, 실험 데이터, 운영 지표가 서로 링크로 이어져 있는 경우도 많아요. AI 확장 기능이 이런 문서를 읽고 편집할 권한을 갖는다면, 공격 표면은 단일 문서가 아니라 연결된 업무 그래프 전체가 돼요. 보안팀이 “이 확장 기능이 어느 파일까지 볼 수 있나요”를 먼저 물어야 하는 이유예요.

    4. 데이터 유출과 피싱 화면이 같은 경로에서 나왔어요

    PromptArmor는 같은 공격자 제어 스크립트로 피싱 오버레이도 가능했다고 설명해요. 한 변형은 ChatGPT for Google Sheets 사이드바 위에 공격자 사이트를 덮어씌워 확장 기능처럼 보이게 만들고, 다른 변형은 팝업 모달로 OpenAI 자격 증명을 노리는 화면을 띄우는 방식이에요. 2

    이건 단순한 파일 유출보다 더 까다로워요. 사용자는 자신이 쓰던 업무 도구 안에서 익숙한 사이드바나 팝업을 보게 돼요. 화면의 맥락이 신뢰를 만들어 주기 때문에, 별도 피싱 사이트보다 속기 쉬워요. AI 기능이 업무 앱 안쪽에 깊게 들어갈수록 UI 신뢰도 자체가 공격 대상이 될 수 있어요.

    5. OpenAI는 Apps Script 코드 생성을 제거했어요

    OpenAI는 이후 모델이 Apps Script 코드를 생성하는 기능을 제거했다고 밝혔어요. 또 Google Sheets API와 기능이 상호작용하는 방식을 살펴보고, 샌드박스 접근을 다시 평가하겠다고 설명했어요. GeekNews 요약도 이 대응을 함께 전했어요. 1 2

    이 조치는 사용자를 당장 보호하기 위한 빠른 대응으로 볼 수 있어요. 다만 더 큰 질문은 남아요. AI가 외부 데이터, 사용자 계정 권한, 코드 실행 능력을 한 흐름에서 다룰 때 어디를 경계로 삼을지 정해야 해요. 기능을 줄이는 방식만으로는 비슷한 표면이 다른 제품에서 다시 나타날 수 있어요.

    왜 중요한가요

    업무용 AI 도구는 “읽고 요약하는 도구”에서 “파일을 고치고 앱 안에서 행동하는 도구”로 바뀌고 있어요. 이 변화가 유용하려면 AI가 어떤 데이터를 믿어도 되는지, 어떤 권한으로 무엇을 실행할 수 있는지, 실행 결과를 누가 어디서 멈출 수 있는지가 분명해야 해요.

    이번 사례는 간접 지시문 주입을 단순한 챗봇 장난으로 보면 안 된다는 신호예요. AI가 코드를 만들고 계정 권한으로 실행할 수 있으면, 지시문 주입은 곧 권한 오용 문제가 돼요. 조직에서 AI 확장 기능을 도입할 때는 “편한가요”보다 “최소 권한으로 격리돼 있나요”를 먼저 확인해야 해요. 2

    개인 사용자에게도 체크할 부분이 있어요. 민감한 문서가 많은 계정에서는 새 AI 확장 기능을 전체 드라이브나 전체 워크스페이스 권한으로 붙이지 않는 편이 안전해요. 가능하면 테스트 계정, 제한된 폴더, 읽기 전용 권한부터 시작해 보세요. AI가 직접 실행할 수 있는 기능은 특히 더 좁게 열어 두는 게 좋아요. 3

    참고 자료

    1. ChatGPT for Google Sheets가 지시문 주입으로 사용자 워크북을 외부 유출 — GeekNews
    2. ChatGPT for Google Sheets Exfiltrates Workbooks — PromptArmor
    3. ChatGPT for Excel and Google Sheets — OpenAI Help Center
Designed by Tistory.