LayerX는 OpenAI의 새로운 ChatGPT Atlas 브라우저에 영향을 미치는 첫 번째 취약점을 발견했습니다. 이 취약점을 통해 악의적인 공격자는 ChatGPT의 "메모리"에 악성 명령어를 삽입하고 원격 코드를 실행할 수 있습니다. 이 취약점을 악용하여 공격자는 악성 코드로 시스템을 감염시키거나, 접근 권한을 부여하거나, 맬웨어를 배포할 수 있습니다.
이 취약점은 모든 브라우저의 ChatGPT 사용자에게 영향을 미치지만, OpenAI의 새로운 에이전트 브라우저인 ChatGPT Atlas 사용자에게 특히 위험합니다. LayerX는 Atlas에 현재 의미 있는 안티피싱 보호 기능이 포함되어 있지 않다는 것을 발견했습니다. 즉, 이 브라우저 사용자는 Chrome이나 Edge와 같은 기존 브라우저 사용자보다 피싱 공격에 최대 90% 더 취약하다는 것을 의미합니다.
이 공격은 책임 있는 공개 절차에 따라 OpenAI에 보고되었으며, 공격자가 이 공격을 재현할 수 있는 기술 정보는 제외하고 요약이 아래에 제공됩니다.
TL/DR: 익스플로잇 작동 방식:
LayerX는 공격자가 크로스 사이트 요청 위조(CSRF) 요청을 통해 피해자의 ChatGPT 접근 자격 증명에 "피기백" 방식으로 접근하여 ChatGPT 메모리에 악성 명령어를 주입하는 방법을 발견했습니다. 이후 사용자가 합법적인 목적으로 ChatGPT를 사용하려고 시도하면, 감염된 메모리가 호출되어 공격자가 사용자 계정, 브라우저, 사용자가 작성한 코드 또는 접근 권한이 있는 시스템을 제어할 수 있는 원격 코드를 실행할 수 있습니다.
이 취약점은 모든 브라우저의 ChatGPT 사용자에게 영향을 미치지만, 특히 ChatGPT Atlas 브라우저 사용자에게는 더욱 위험합니다. 이 브라우저는 기본적으로 ChatGPT에 로그인되어 있고, LayerX 테스트 결과 Atlas 브라우저는 Chrome과 Edge보다 피싱 공격에 최대 90% 더 노출되어 있기 때문입니다.
단계별 설명:
- 처음에 사용자는 ChatGPT에 로그인하고 브라우저에 인증 쿠키나 토큰을 보관합니다.
- 사용자가 악성 링크를 클릭하면 손상된 웹 페이지로 이동합니다.
- 악성 페이지는 ChatGPT에 대한 사용자의 기존 인증을 이용하기 위해 CSRF(Cross-Site Request Forgery) 요청을 호출합니다.
- CSRF 공격은 사용자의 동의 없이 ChatGPT의 메모리에 숨겨진 명령어를 주입하여 핵심 LLM 메모리를 "오염"시킵니다.
- 다음에 사용자가 ChatGPT를 쿼리하면 오염된 메모리가 호출되어 공격자가 시스템이나 코드를 제어할 수 있는 악성 코드가 배포됩니다.
CSRF(교차 사이트 요청 위조)를 사용하여 LLM에 액세스:
사이트 간 요청 위조(CSRF) 공격은 공격자가 사용자의 브라우저를 속여 사용자가 이미 인증된 웹사이트로 의도치 않은 상태 변경 요청을 보내게 하는 공격으로, 해당 사이트가 사용자의 동의 없이 사용자로 작업을 수행하게 됩니다.
공격은 피해자가 브라우저에 세션 쿠키가 저장된 대상 사이트에 로그인할 때 발생합니다. 피해자는 대상 사이트에 양식, 이미지 태그, 링크 또는 스크립트를 통해 조작된 요청을 보내는 악성 페이지를 방문하거나 해당 페이지로 리디렉션됩니다. 브라우저는 피해자의 자격 증명(쿠키, 인증 헤더)을 자동으로 포함하므로 대상 사이트는 사용자가 요청을 시작한 것처럼 요청을 처리합니다.
대부분의 경우 CSRF 공격의 영향은 사용자 세션에서 계정 이메일/비밀번호 변경, 자금 이체 시작, 구매 등의 활동을 목표로 합니다.
하지만 AI 시스템의 경우 CSRF 공격을 통해 공격자는 사용자가 로그인한 AI 시스템에 접근하여 쿼리를 보내거나 명령어를 삽입할 수 있습니다.
ChatGPT의 핵심 "메모리" 감염
ChatGPT의 "메모리" 기능을 통해 ChatGPT는 사용자의 질의, 채팅 및 활동에 대한 유용한 정보(선호도, 제약 조건, 프로젝트, 스타일 노트 등)를 기억하고 향후 채팅에서 재사용하여 사용자가 같은 내용을 반복해서 입력할 필요가 없도록 합니다. 실제로 이는 LLM의 백그라운드 메모리 또는 잠재의식과 같은 역할을 합니다.
공격자가 CSRF 요청을 통해 사용자의 ChatGPT에 접근하면 이를 사용하여 ChatGPT에 숨겨진 지침을 주입할 수 있으며, 이는 향후 채팅에 영향을 미칠 수 있습니다.
사람의 잠재의식과 마찬가지로, 올바른 지시가 ChatGP의 메모리에 저장되면 ChatGPT는 이 지시를 실행해야 하며, 사실상 악의적인 공모자가 됩니다.
더욱이 계정의 메모리가 감염되면 해당 계정이 사용되는 모든 기기(가정 및 직장 컴퓨터, 다양한 브라우저)에 감염이 지속됩니다. 사용자가 Chrome, Atlas 또는 기타 브라우저를 사용하는지 여부와 관계없이 말입니다. 이로 인해 공격은 매우 "끈적끈적"하며, 특히 업무 및 개인 용도로 동일한 계정을 사용하는 사용자에게 매우 위험합니다.
ChatGPT Atlas 사용자는 다른 브라우저보다 최대 90% 더 많이 노출됩니다.
이 취약점은 모든 브라우저의 ChatGPT 사용자에게 적용될 수 있지만, OpenAI의 ChatGPT 브라우저 사용자는 특히 취약합니다. 그 이유는 두 가지입니다.
- Atlas를 사용하면 기본적으로 ChatGPT에 로그인됩니다. 즉, ChatGPT 사용자 인증 정보는 항상 브라우저에 저장되어 악의적인 CSRF 요청의 표적이 될 수 있습니다.
- ChatGPT Atlas는 피싱 공격 차단에 특히 취약합니다. 즉, Atlas 사용자는 다른 브라우저 사용자보다 더 취약할 수 있습니다.
LayerX는 100개가 넘는 실제 웹 취약점과 피싱 공격에 대해 Atlas를 테스트했습니다. LayerX는 이전에 다른 AI 브라우저에 대해 동일한 테스트를 수행했습니다. Comet, Dia, Genspark 같은 프로젝트들이 있었습니다. 결과는, 적어도, 별로 인상적이지 않았습니다.
이전 테스트에서 Edge와 Chrome과 같은 기존 브라우저는 기본 보호 기능을 사용하여 피싱 공격의 약 50%를 차단할 수 있었지만 Comet과 Genspark는 7%만 차단했습니다(Dia는 Chrome과 유사한 결과를 생성했습니다).
Atlas에 대해 동일한 테스트를 실행한 결과 더욱 뚜렷한 결과가 나타났습니다.
LayerX가 테스트한 103건의 실제 공격 중 ChatGPT Atlas는 97건을 통과시켰으며, 이는 무려 94.2%의 실패율입니다.
LayerX 테스트에서 공격의 53%를 차단한 Edge와 공격의 47%를 차단한 Chrome과 비교했을 때, ChatGPT Atlas는 악성 웹페이지의 5.8%만을 성공적으로 차단했습니다. 즉, Atlas 사용자는 다른 브라우저 사용자에 비해 피싱 공격에 약 90% 더 취약하다는 의미입니다.
이는 ChatGPT Atlas 사용자만이 ChatGPT 계정에 악성 명령어를 주입할 수 있는 악의적인 공격 벡터에 취약하다는 것을 의미합니다. Atlas에는 의미 있는 안티피싱 보호 기능이 포함되어 있지 않으므로 Atlas 사용자는 노출 위험이 더 큽니다.
개념 증명: 'Vibe' 코딩에 악성 코드 주입
아래는 바이브 코딩을 하는 Atlas 브라우저 사용자를 대상으로 이 취약점을 악용한 공격 벡터의 그림입니다.
"바이브 코딩"은 개발자가 AI를 코드의 실행자가 아닌 창의적인 파트너로 대하는 협업 방식입니다. 개발자는 정확한 구문을 규정하는 대신, 프로젝트의 의도와 느낌(예: 아키텍처 목표, 톤, 대상 고객, 미적 선호도 등) 및 기타 비기능적 요구 사항을 공유합니다.
ChatGPT는 이 전체적인 간략한 설명을 사용하여 작동하는 코드를 생성합니다. 요청된 스타일과 일치하여 고차원 아이디어와 저차원 구현 간의 격차를 줄입니다. 개발자의 역할은 수동 코딩에서 AI의 해석을 조정하고 개선하는 것으로 전환됩니다.
하지만 이러한 유연성은 악용될 수도 있습니다. 공격자는 AI 비서를 유도하여 겉보기에는 무해한 기능이나 임시방편처럼 보이지만 실제로는 백도어, 은밀한 데이터 유출, 또는 기타 변조를 유발하는 코드를 생성할 수 있습니다.
예를 들어, 이 경우 사용자 관점에서는 아무 것도 이상해 보이지 않지만 ChatGPT에 코드 작성을 요청하면 도우미가 요청을 따를 수 있습니다. 공격자가 유도하는 명령을 삽입합니다. 생성된 스크립트는 예를 들어 원격 코드(예: 적대적인 서버에서)를 가져와 상승된 권한으로 실행하려고 시도할 수 있습니다.
예를 들어, 이 경우 악성 지침을 기반으로 채팅은 이 스크립트에 원격 코드를 추가했고, 사용자는 자신도 모르게 server.rapture에서 자신의 컴퓨터로 이 코드를 다운로드하게 됩니다.
ChatGPT는 악성 명령에 대한 어느 정도의 방어 수단을 제공하지만, 공격의 정교함과 원치 않는 동작이 메모리에 들어온 방식에 따라 효과가 달라질 수 있습니다.
경우에 따라 사용자에게 가벼운 경고가 표시될 수 있고, 다른 경우에는 시도가 차단될 수 있습니다. 하지만 교묘하게 위장하면 코드가 탐지를 완전히 피할 수 있습니다. 예를 들어, 이 스크립트가 받은 미묘한 경고는 다음과 같습니다. 기껏해야 텍스트 덩어리 속에서 놓치기 쉬운 부수적인 경고일 뿐입니다.






