ChatGPT 보안: “We Took over ChatGPT Accounts”가 드러낸 것
Parameter에 따르면 ChatGPT는 코드 미리보기를 격리했음에도 조작된 공유 링크를 통해 비공개 대화가 노출될 수 있었습니다. “We Took over ChatGPT Accounts”로 알려진 이 연구는 비밀번호 탈취 공격이 아니라 브라우저 보안 실패를 설명합니다. Parameter는 OpenAI가 2026년 10월 28일 공개에 앞서 10월 26일 문제를 수정했다고 밝혔습니다.
즉각적인 의문은 평범해 보이는 보기 동작이 어떻게 로그인된 계정에 대한 권한을 얻었느냐는 것입니다. 더 넓게는 대화형 콘텐츠 공유와 비공개 정보를 둘러싼 권한 사이의 충돌이 핵심입니다. 제품은 가장 명백히 위험한 기능을 격리하더라도, 다른 구성 요소가 그 경계를 넘을 수 있는 상태로 남을 수 있습니다.
비교를 위해 Anthropic은 브라우저 어시스턴트를 악의적 콘텐츠로부터 보호하는 일이 얼마나 까다로운지 논의한 바 있습니다. 이는 업계 맥락을 제공할 뿐, Claude에 이 특정 취약점이 있다는 증거는 아닙니다. 이 문제는 OpenAI와 다른 개발사에 낯선 사람이 제공한 콘텐츠와 인증된 작업을 인터페이스에서 어떻게 분리하는지 설명하라는 압박을 가합니다.
“We Took over ChatGPT Accounts”가 실제로 입증한 것
공개된 결과는 광범위한 침해를 입증하지 않고, 기존 브라우저 세션을 통한 무단 접근을 다룹니다.
Parameter는 계정 탈취 공개 자료에서 연구진이 대화 목록을 확인하고, 무관한 비공개 대화를 가져오며, 선택한 콘텐츠를 외부로 전송했다고 밝혔습니다. 보고서는 Preview 버튼 상호작용 방식과, 수신자가 링크를 열기만 하면 되는 자동 미리보기 방식을 모두 설명합니다. 이는 이 글을 위해 독립적으로 재현한 테스트가 아니라 연구진이 보고한 결과입니다.
제목을 해석할 때 이러한 구분은 중요합니다. 계정 탈취는 활성 세션 내의 일시적 제어부터 계정 소유권에 대한 지속적 제어까지 서로 다른 수준의 접근을 뜻할 수 있습니다. 독자는 가능한 모든 결과가 발생했다고 가정하기 전에 실제로 입증된 능력을 평가해야 합니다.
인증된 세션은 브라우저가 로그인한 사용자로 행동할 수 있도록 설정된 권한입니다. 악성 코드가 이 권한을 획득한다면, 올바른 비밀번호를 사용했더라도 무단 활동은 가능할 수 있습니다. 보안의 질문은 누가 로그인을 완료했는지에서, 이후 무엇이 행동할 수 있는지로 옮겨갑니다.
이 구분은 독자가 “비공개”라는 단어를 이해하는 방식도 바꿉니다. 대화를 공유하지 않는 것은 접근에 관한 결정을 나타냅니다. 그러나 다른 기능이 보는 사람의 더 넓은 계정 권한을 획득할 수 있다면 보호를 보장하지는 않습니다.
따라서 핵심 비교 대상은 수신자가 보기를 선택한 대상과, 방문한 콘텐츠가 접근 권한을 받은 대상 사이의 차이입니다. 공유된 항목에는 해당 항목을 표시할 권한이 있어야 합니다. 수신자의 별도 자료를 탐색할 권한까지 상속해서는 안 됩니다.
가령 한 직원이 업무 계정에 로그인한 상태에서 동료의 예시 대화를 연다고 가정해 보겠습니다. 직원의 의도는 예시를 검토하는 것입니다. 직원은 그 콘텐츠가 자신의 기록에 있는 다른 기밀 대화까지 살펴보도록 허가하지 않았습니다.
이 시나리오는 실제로 그런 직원이 공격받았다고 주장하지 않으면서도 사안의 중요성을 보여 줍니다. 인터페이스에서 서로 가까이 배치되어 있더라도, 보기 동작과 계정 동작은 서로 다른 결정입니다. 보안 통제는 이 구분을 유지해야 합니다.
공개 시점 역시 중요합니다. 수정된 취약점을 설명하는 보고서는 같은 경로가 오늘도 이용 가능하다는 발표처럼 읽혀서는 안 됩니다. 반대로 수정 조치가 이 연구가 제기한 아키텍처적 의문을 없애지는 않습니다.
그러므로 “We Took over ChatGPT Accounts”를 유용하게 읽는 방식은 범위에서 시작합니다. 연구진은 어떤 접근을 입증했으며, 어떤 조건이 이를 가능하게 했고, 어떤 결론은 여전히 뒷받침되지 않는가? 이러한 질문은 제목을 무시하거나 가장 광범위한 해석을 그대로 받아들이는 것보다 더 정확한 평가로 이어집니다.
사용자에게 가장 관련 있는 변화는 정보 측면의 변화입니다. 제품 기능 사이에 이전까지 드러나지 않았던 상호작용이 공개되었습니다. 제품 팀에는 일반적인 공유 콘텐츠가 권한이 높은 인터페이스 구성 요소에 영향을 줄 수 있는지 검토할 구체적인 이유가 됩니다.
공유와 비공개 작업을 섞는 제품에 가해지는 압박
외부 콘텐츠가 사용자의 비공개 작업 환경 옆에 표시될 때, 공유는 보안 경계가 됩니다.
Cloud Security Alliance의 10월 31일 보안 브리핑은 이 문제가 수정됐으며 실제 환경에서 알려진 악용 사례는 없다고 설명합니다. 또한 이 경로를 Preview 격리의 직접적 실패가 아니라 수학 인터페이스 라이브러리인 MathLive에 귀속시킵니다.
이 평가는 중요한 제품 간 충돌을 짚습니다. 사용자는 공유 자료가 읽기 쉽고, 상호작용할 수 있으며, 쉽게 열리기를 원합니다. 동시에 공유 항목을 만든 사람이 자신과 무관한 작업에 접근할 수 없기를 기대합니다.
어느 쪽 기대도 불합리하지 않습니다. 어려운 점은 하나의 애플리케이션이 외부 제공 자료를 표시하면서 비공개 정보에 대한 접근도 제공할 때 두 가지를 모두 강제하는 데 있습니다. 세련된 인터페이스는 권한은 분리되어야 하는 활동마저 연속적으로 느끼게 할 수 있습니다.
OpenAI는 영향을 받은 경계와 수정 범위를 설명할 즉각적인 책임이 있습니다. 기업 구매자는 다른 책임을 집니다. 어떤 증거가 계속 사용을 뒷받침하는지 판단해야 합니다. 모든 보안 공개를 동일하게 다루는 방식은 어느 과제에도 도움이 되지 않습니다.
이 사건을 평가하는 구매자는 재현 가능한 접근 실패와 실제 오용의 증거를 구분해야 합니다. 전자는 아키텍처에 대한 질문을 정당화할 수 있습니다. 후자는 영향을 받은 사람, 정보 및 필요한 대응에 관한 별도의 조사를 정당화합니다.
이 사건은 저장과 학습에만 초점을 맞춘 조달 문구에도 의문을 제기합니다. 공급업체가 고객 콘텐츠로 모델을 학습하는지 여부는 인터페이스가 무단 접근을 막는지 여부와 별개입니다. 한 문제에 대한 긍정적 답변이 다른 문제까지 해결하지는 않습니다.
마찬가지로 저장 시 암호화는 저장된 정보를 다룹니다. 그것만으로는 인증된 브라우저가 무엇을 가져올 수 있는지 답하지 못합니다. 구매자는 표시, 상호작용, 공유, 계정 접근을 포함한 전체 워크플로를 따라가는 보안 설명이 필요합니다.
지식 근로자에게 이 문제는 맥락을 통해 가장 쉽게 이해됩니다. 대화 기록에는 초안, 결정, 연구의 일부, 그리고 다른 시스템에서 복사한 정보가 담길 수 있습니다. 그 민감도는 채팅 인터페이스의 가벼운 인상이 아니라 담긴 자료에 따라 결정됩니다.
개인 지식 베이스를 개발하는 팀은 관련된 계획 질문에 직면합니다. 어떤 정보가 함께 있어야 하며, 어떤 접근 경계가 이를 분리해야 하는가? 체계화는 유용한 맥락을 찾는 데 도움이 되지만, 접근 설계는 다른 누가 그 정보에 도달할 수 있는지를 결정합니다.
이는 특정 대체 제품이 더 강한 보호를 제공한다고 입증하지 않습니다. 의미 있는 비교를 위해서는 관련 권한과 구현에 관한 증거가 필요합니다. 이러한 경계를 살피지 않고 브랜드만 바꾸면 근본적인 질문은 답을 얻지 못합니다.
따라서 상업적 압박은 단순한 어시스턴트 순위가 아니라 보증에 관한 것입니다. 공급업체는 고객이 평가할 수 있을 만큼 구체적인 보안 주장을 제시해야 합니다. 고객은 그러한 주장을 실제로 허용하는 워크플로와 연결해야 합니다.
가장 어려운 질문은 동시에 가장 실용적입니다. 직원이 타인의 콘텐츠를 열 때, 그 콘텐츠는 어떤 권한을 받는가? 시스템 동작에 근거한 답변은 고객 정보가 비공개로 유지된다는 일반적인 약속보다 더 유용합니다.
샌드박스는 유지됐지만 메시지 경계는 실패했다
안전한 컨테이너도 신뢰할 수 없는 콘텐츠에서 권한을 받아들이는 인접 구성 요소를 보완할 수는 없습니다.
샌드박스는 실행 중인 콘텐츠가 접근할 수 있는 범위를 제한하는 제약 환경입니다. Parameter의 설명에 따르면 원래 Preview는 격리된 상태로 유지됐지만, 메시지 처리 경로가 악성 콘텐츠가 기본 페이지에 도달하도록 만들었습니다. 또한 허용된 YouTube 리소스와 관련된 이후의 스크립트 정책 우회도 설명합니다.
분석에서 중요한 지점은 격리와 통신의 관계입니다. 격리된 구성 요소도 정보를 교환해야 하는 경우가 많습니다. 허용된 모든 교환은 어떤 요청을 신뢰할지, 수신자가 어떤 작업을 수행할 수 있을지를 결정하게 합니다.
브라우저 메커니즘 postMessage는 분리된 웹 ID 사이에서 창이 메시지를 교환하도록 합니다. Mozilla의 창 간 메시징 문서는 수신자에게 발신자 ID를 확인하고 메시지 구조를 검증하라고 안내합니다.
이 지침은 수신과 권한 부여를 구분합니다. 메시지가 구성 요소에 도달했다고 해서 발신자가 그 구성 요소를 변경할 권한을 가졌다는 뜻은 아닙니다. 예상된 메시지 형식을 안다고 해서 신원을 입증하는 것도 아닙니다.
오리진은 프로토콜, 호스트명, 포트로 정의되는 웹 ID입니다. 이를 확인하면 메시지가 어디에서 왔는지 파악하는 데 도움이 됩니다. 애플리케이션 설계는 여전히 그 발신자가 요청한 권한을 받을 자격이 있는지 결정해야 합니다.
이것이 보고된 공격 연쇄가 갖는 더 넓은 의미입니다. Preview가 상위 페이지를 직접 검사할 수 있는지만 묻는 검토는 유용한 속성을 살핍니다. 그러나 인접 구성 요소가 Preview를 대신해 무엇을 수행할지를 완전히 검토하지는 못합니다.
이 차이는 사무실의 방문객 제한과 비슷합니다. 방문객이 기록 보관실에 들어가지 못하게 해도, 직원이 인증되지 않은 요청을 받아 그 내용을 가져온다면 보장은 거의 없습니다. 직원의 응답이 경계의 일부가 됩니다.
소프트웨어에서 이러한 응답은 합법적인 인터페이스 기능을 제공하기 때문에 무해해 보일 수 있습니다. 설정 업데이트나 렌더링 요청은 비공개 대화 요청보다 덜 민감하게 들릴 수 있습니다. 그러나 그 결과는 수신 구성 요소가 무엇을 생성하거나 실행할 수 있는지에 달려 있습니다.
Mozilla의 임베디드 프레임 문서는 프레임 제한이 임베디드 문서와 그 접근에 어떤 영향을 미치는지 설명합니다. 일반적인 함의는 새로 생성된 콘텐츠에는 그에 맞는 자체 제한이 필요하다는 것입니다. 이전 컨테이너에 적용된 제한이 이후의 모든 문서를 자동으로 설명하지는 않습니다.
이 때문에 구성 요소 조합이 핵심 설계 문제가 됩니다. 각 기능은 합리적인 개별 목적을 가질 수 있지만, 이들의 상호작용은 불합리한 권한 경로를 만들 수 있습니다. 보안 검토는 독립적으로 개발된 기능을 포함해 이러한 조합을 살펴야 합니다.
Content Security Policy는 리소스와 스크립트 실행을 제한하는 브라우저 강제 규칙 집합입니다. Mozilla의 스크립트 보안 지침은 이를 여러 삽입 위험에 대한 보호책으로 제시합니다.
이러한 정책은 가치 있는 추가 방어 계층을 제공합니다. 하지만 신뢰할 수 없는 발신자가 처음부터 페이지에 영향을 주어야 했는지에 대한 답은 되지 않습니다. 특정 실행 경로를 차단하는 일과 권한 부여 경계를 수정하는 일은 관련돼 있지만 서로 다른 문제를 해결합니다.
개발자에게 유용한 검토 질문은 의심스러운 스크립트가 실행되는지 여부보다 더 넓다. 신뢰할 수 없는 콘텐츠는 어떤 메시지를 보낼 수 있으며, 어떤 구성 요소가 이를 수신하고, 그 구성 요소는 어떤 권한을 행사하는가? 이러한 관점은 애플리케이션 전반의 권한을 추적한다.
또한 이는 성공적인 테스트의 의미도 바꾼다. 미리보기가 비공개 상태에 직접 접근할 수 없음을 보이는 것은 범위가 제한된 결과를 확립한다. 더 강한 보증을 위해서는 미리보기가 다른 구성 요소를 설득해 간접적으로 접근 권한을 행사하도록 할 수 있는지 살펴봐야 한다.
이 교훈은 익스플로잇을 재현하지 않으면서도 엔지니어링을 안내할 만큼 구체적이다. 신뢰할 수 없는 콘텐츠와 권한이 부여된 인터페이스 동작을 잇는 모든 연결을 권한 부여 결정으로 다뤄야 한다. 원래 컨테이너는 그 결정의 일부일 뿐이다.
심각한 발견에도 여전히 중요한 미해결 질문이 남는다
공개된 증거는 경계 실패에 대한 우려를 뒷받침하지만, 영향을 받은 사용자 수나 실제 피해자를 입증하지는 않는다.
“We Took over ChatGPT Accounts”는 독자가 광범위한 침해를 떠올리게 한다. 통제된 시연은 더 좁은 질문, 즉 특정 접근 경로가 테스트 조건에서 작동했는지에 답한다. 제품 전반의 노출 정도를 측정하려면 추가 증거가 필요하다.
여기서 검토한 출처는 악성 링크를 접한 사람이 얼마나 되는지, 공격자가 이전에 같은 경로를 발견했는지, 또는 테스트 외부에서 정보가 탈취됐는지를 입증하지 않는다. 이러한 공백은 분명하게 남겨야 한다.
악용이 보고되지 않았다는 점은 유용한 맥락이지만, 악용이 전혀 없었다는 증거는 아니다. 마찬가지로 취약점이 시연됐다고 해서 범죄자가 이를 이용했다는 뜻은 아니다. 두 주장 모두 결함의 존재를 넘어서는 증거가 필요하다.
수정 사실을 확인하는 것과 그 적용 범위를 설명하는 것은 다르다. 고객은 어떤 제품 표면이 영향을 받았는지, 검증이 관련 변형 사례를 어떻게 다뤘는지 알 필요가 있다. 문제가 해결됐다는 일반적인 설명만으로는 이러한 질문에 대한 답이 충분하지 않다.
Parameter에 따르면, 보고된 P1 분류는 OpenAI가 해당 제보를 심각한 문제로 취급했음을 나타낸다. 그러나 이는 문서화된 영향 평가를 대신해서는 안 된다. 심각도와 관찰된 피해는 서로 다른 차원을 설명한다.
연구자들의 공개 내용은 발견과 테스트에 관한 일차적 설명이다. 이는 출처 표기의 필요성을 유지하면서도 직접적인 증거 가치를 부여한다. 연구자의 결과를 정확히 보도한다고 해서 모든 추론을 독립적으로 확인된 사실로 취급할 필요는 없다.
독립 보도 역시 신중하게 해석해야 한다. 같은 공개 내용을 반복하는 여러 기사가 반드시 여러 차례의 재현을 의미하지는 않는다. 출처의 다양성은 독립적으로 테스트된 기술적 발견의 수를 늘리지 않으면서도 분석의 폭을 넓힐 수 있다.
경쟁은 과장될 또 다른 여지를 만든다. Anthropic의 browser injection research는 AI가 처리하는 콘텐츠에 삽입된 악성 지시인 프롬프트 인젝션에 대한 방어를 설명한다. 이 연구는 개선에도 불구하고 해당 문제가 여전히 해결되지 않았다고 말한다.
이는 모델 동작과 애플리케이션 보안의 유용한 대비를 제공한다. 프롬프트 인젝션은 어시스턴트가 무엇을 하기로 결정하는지에 영향을 미치려 한다. 브라우저 코드 실행 실패는 주변 소프트웨어가 무엇을 허용하는지와 관련된다.
이 범주들은 상호작용할 수 있지만, 하나의 점수로 통합해서는 안 된다. 악성 지시에 대한 모델의 저항성은 인터페이스가 삽입된 콘텐츠를 안전하게 처리한다는 것을 입증하지 않는다. 마찬가지로 인터페이스 수정이 조작적 지시에 대한 면역성을 보장하지도 않는다.
이 ChatGPT 공개 내용 어디에도 Claude, Gemini 또는 다른 어시스턴트가 동일한 결함을 지녔다는 결론을 뒷받침하는 내용은 없다. 그렇다고 해당 제품들이 더 안전하다는 점도 입증되지 않는다. 비교 판단에는 명확히 정의된 위협에 대한 동등한 테스트가 필요하다.
기업 구매자에게 이는 관련 없는 마케팅 주장을 비교하기보다 공급업체에 비교 가능한 질문을 해야 한다는 뜻이다. 권한 경계, 렌더링 제한, 사고 검증은 모델 보호 조치와 함께 평가해야 한다. 각각은 위험 평가의 서로 다른 부분에 답한다.
개인 사용자에게 불확실성은 균형 잡힌 해석으로 이어져야 한다. 이용 가능한 증거는 모든 계정이 침해됐다고 발표할 근거가 되지 않는다. 그러나 대화를 공유하기로 선택하는 것과 단순히 다른 사람이 공유한 내용을 여는 것 사이의 차이를 진지하게 받아들일 근거는 된다.
따라서 회의적인 해석은 양방향으로 적용된다. 헤드라인은 입증된 범위를 앞질러서는 안 되며, 패치가 완료됐다고 해서 근본 설계에 대한 검토가 끝나서도 안 된다. 정확한 보도는 두 한계를 모두 드러낸다.
ChatGPT 공유 수정 이후 주목할 점
가장 강력한 후속 증거는 수정 적용 범위를 설명하고, 관련 경계를 테스트하며, 실제 사용자가 피해를 입었는지 명확히 할 것이다.
첫 번째 신호는 영향받은 표면과 그 해결 조치에 대한 더 충실한 설명이다. 향후 몇 달 동안 유용한 공개 내용은 관련 조건, 검증 범위, 한계를 설명할 것이다. 이는 수정이 권한 경계를 해결했다는 신뢰를 높일 것이다.
공개된 사례에 대해서만 좁게 설명된 차단 조치는 보증 수준이 더 낮다. 고객은 입증된 경로를 제거하는 것과 이를 가능하게 했던 상호작용 유형을 해결하는 것을 구분해야 한다. 두 결과는 서로 다른 수준의 신뢰를 받을 만하다.
두 번째 신호는 관련 콘텐츠 공유 경계에 대한 독립 테스트다. 유용한 작업은 렌더링 기능, 메시지 수신자, 인증된 기능 간의 상호작용을 검토할 것이다. 성공적으로 적용된 제한과 남은 공백을 모두 보고해야 한다.
더 넓은 경계를 검증하는 테스트는 이 사고가 지속 가능한 개선으로 이어졌다는 주장을 뒷받침할 것이다. 동일한 권한 관계를 통한 다른 경로가 발견되면 그 결론은 약화될 것이다. 어느 결과든 범위가 불명확한 또 하나의 고립된 시연보다 더 유익하다.
이 신호는 OpenAI를 넘어서는 의미도 있다. AI 인터페이스 개발자는 외부에서 제공된 콘텐츠가 비공개 계정 작업과 어떻게 분리되는지 설명하는 평가를 공개할 수 있다. 동등한 방법론은 제품 간 비교의 신뢰성을 높일 것이다.
세 번째 신호는 악용과 실제 영향에 관한 증거다. 공급업체의 성명, 문서화된 조사 또는 재현 가능한 무단 접근 사례는 평가를 실질적으로 바꿀 것이다. 추측과 재활용된 헤드라인은 그렇지 않다.
검증된 악용이 드러난다면, 이야기는 영향을 받은 정보와 대응 의무로 옮겨갈 것이다. 추가 조사를 통해 오용의 증거가 없다고 확인된다면, 이는 더 좁은 사고 평가를 뒷받침할 것이다. 어느 결과도 경계 실패 자체를 방지하는 중요성을 바꾸지는 않는다.
이 신호들은 구별된 상태로 유지해야 한다. 수정 검증은 현재의 보호와 관련된다. 과거 조사 는 이전 노출과 관련된다. 관련 테스트는 아키텍처가 유사한 실수에 얼마나 잘 저항하는지와 관련된다. 한 영역의 진전이 다른 영역의 질문에 자동으로 답하지는 않는다.
제품 팀에 실질적인 결과는 다음 공개 전에 이러한 질문에 답할 수 있도록 만드는 것이다. 보안 설명은 신뢰할 수 없는 입력, 권한 경계, 권한이 부여된 작업, 검증 결과를 연결해야 한다. 그러면 검토자가 평가할 수 있는 구체적 내용이 생긴다.
구매자에게 다음으로 유용한 대화는 제품 구현과 사고 대응을 책임지는 사람들과 나누는 것이다. 어떤 공유 표면이 인증된 기능과 상호작용할 수 있는지 물어보라. 인터페이스 변경 후 공급업체가 그 관계를 어떻게 테스트하는지도 물어보라.
지식 노동자에게 “We Took over ChatGPT Accounts”는 공유 콘텐츠와 비공개 맥락에 관한 가정을 점검할 이유가 된다. 민감한 자료 중 무엇이 어시스턴트 기록에 속하는지 검토하고, 검증된 사고 안내와 추측을 분리하라. 조직의 승인된 워크플로를 뒷받침하는 제품 제어 기능이 무엇인지 조직에 물어보라. 어시스턴트를 평가할 때는 외부 콘텐츠가 계정 권한과 어떻게 분리되는지에 관한 증거를 요청하라. 수정 세부 사항, 독립 테스트, 영향 조사 결과가 나오는 대로 살펴보라. 다음으로 유용한 단계는 공급업체 또는 보안 팀과 구체적으로 대화하는 것이다. 내가 여는 무언가가 내가 부여할 의도가 전혀 없었던 권한으로 동작하지 못하게 하는 것은 무엇인가?



