- ChatGPT의 장기 기억은 이전 대화를 이후 모든 대화의 문맥으로 쓰는 기능이라, 한 번 오염되면 새 세션에서도 공격 지시가 계속 영향을 줄 수 있음
- 보안 연구자 Johann Rehberger는 간접 프롬프트 인젝션으로 허위 정보와 악성 지시를 기억에 저장할 수 있음을 발견했고, OpenAI가 이를 안전 문제로 분류해 닫자 데이터 유출 PoC를 공개함
- PoC는 macOS용 ChatGPT 앱에서 사용자가 악성 이미지가 있는 웹 링크를 보게 했을 때, 이후 모든 사용자 입력과 ChatGPT 출력을 지정 서버로 보내도록 만들었음
- OpenAI는 2024년 9월 초 기억 기능이 데이터 유출 경로로 악용되는 문제를 부분 수정했지만, 신뢰할 수 없는 콘텐츠가 장기 기억에 공격자 정보를 저장하게 만드는 문제는 남아 있음
- 사용자는 새 기억이 추가됐다는 출력과 저장된 기억을 정기적으로 확인해야 하며, OpenAI 웹 인터페이스에서는 2023년에 배포된 API 때문에 이 공격이 가능하지 않음
장기 기억을 오염시키는 공격
- Johann Rehberger는 ChatGPT의 장기 기억 설정에 허위 정보와 악성 지시를 저장할 수 있는 취약점을 OpenAI에 보고함
- OpenAI는 해당 보고를 기술적 보안 문제가 아니라 안전 문제로 분류하고 조사를 닫음
- 이후 Rehberger는 같은 취약점으로 사용자 입력을 지속 유출하는 개념 증명(PoC) 을 만들었고, OpenAI 엔지니어들이 이를 인지한 뒤 2024년 9월 초 부분 수정이 이뤄짐
ChatGPT Memory의 작동 방식
- ChatGPT의 Memory 기능은 이전 대화에서 얻은 정보를 저장하고 이후 모든 대화의 문맥으로 사용함
- OpenAI는 이 기능을 2024년 2월부터 테스트했고, 2024년 9월 더 넓게 제공함
- 저장될 수 있는 정보에는 사용자의 나이, 성별, 철학적 신념 등 이후 대화에 영향을 줄 수 있는 세부 사항이 포함됨
- 사용자는 같은 정보를 매번 다시 입력하지 않아도 되지만, 저장된 기억이 이후 대화의 방향에 계속 영향을 줄 수 있음
간접 프롬프트 인젝션으로 기억 심기
- Rehberger는 기능 출시 후 3개월 안에 간접 프롬프트 인젝션으로 기억을 생성하고 영구 저장할 수 있음을 발견함
- 이 공격은 LLM이 이메일, 블로그 글, 문서처럼 신뢰할 수 없는 콘텐츠 안의 지시를 따르게 만드는 방식임
- 시연에서는 ChatGPT가 특정 사용자를 102세로 믿고, Matrix에 살며, 지구가 평평하다고 고집한다고 저장하게 만들 수 있었음
- 공격자가 만든 콘텐츠는 여러 경로로 제공될 수 있음
- Google Drive 또는 Microsoft OneDrive에 저장된 파일
- 업로드된 이미지
- Bing 같은 사이트 탐색
macOS 앱을 겨냥한 데이터 유출 PoC
- Rehberger는 2024년 5월 첫 보고 후, 한 달 뒤 새 공개 보고에 macOS용 ChatGPT 앱 대상 PoC를 포함함
- PoC는 ChatGPT 앱이 모든 사용자 입력과 ChatGPT 출력을 공격자가 지정한 서버로 그대로 보내게 만들었음
- 공격 조건은 대상 사용자가 악성 이미지가 호스팅된 웹 링크를 LLM에 보게 지시하는 것임
- 장기 기억에 저장된 프롬프트 인젝션 때문에 새 대화를 시작해도 데이터 유출이 계속됨
- Rehberger는 데모에서 프롬프트 인젝션이 ChatGPT의 장기 저장소에 기억을 삽입했기 때문에 새 대화에서도 데이터가 유출된다고 말함
OpenAI의 수정 범위와 남은 위험
- OpenAI는 기억 기능이 데이터 유출 경로로 악용되는 문제를 막는 수정을 도입함
- 이 수정은 부분적이며, 신뢰할 수 없는 콘텐츠가 프롬프트 인젝션을 통해 기억 도구에 장기 정보를 저장하게 만드는 문제는 여전히 가능함
- ChatGPT 웹 인터페이스에서는 이 공격이 가능하지 않음
- 이유는 OpenAI가 2023년에 배포한 API 때문임
- OpenAI는 허위 기억을 심는 다른 해킹을 막기 위한 노력에 대한 이메일 질문에 답하지 않음
사용자가 점검할 부분
- LLM 사용자는 세션 중 새 기억이 추가됐다는 출력이 나타나는지 주의해야 함
- 저장된 기억에 신뢰할 수 없는 출처가 심은 항목이 있는지 정기적으로 검토해야 함
- OpenAI는 Memory 도구와 저장된 개별 기억을 관리하는 방법을 안내함
- 장기 기억 기능은 편의성을 제공하지만, 신뢰할 수 없는 입력이 저장 상태를 바꾸면 이후 대화 전체에 영향을 줄 수 있음