🔥 Codex Chronicle, 내 Mac 화면을 스크린샷으로 기억한다

#openai#codex#chronicle#ai-coding#privacy
1107자
14분

Codex Chronicle이 Mac 화면을 캡처해 마크다운 메모리로 만드는 개념도

금요일에 Codex 업데이트 글을 올렸다. 컴퓨터 유즈, 이미지 생성, 메모리까지 한꺼번에 들어왔다고. 월요일에 OpenAI가 기능 하나를 또 끼워넣었다. 이번엔 내 Mac 화면을 주기적으로 캡처해서 '기억'으로 바꾼다. 이름은 Chronicle이다.

솔직히 공식 문서 첫 문장에서 잠깐 손이 멈췄다. "Chronicle is in an opt-in research preview." 그다음 문단이 "Chronicle uses rate limits quickly, increases risk of prompt injection, and stores memories unencrypted on your device." OpenAI가 자기 기능 소개 페이지에 이렇게 경고 세 줄을 먼저 붙이는 건 흔한 광경이 아니다.

스크린샷을 OpenAI 서버로 보낸다

Chronicle이 하는 일은 단순하다. Codex macOS 앱이 내 화면을 주기적으로 캡처하고, 그 이미지를 OpenAI 서버로 보낸다. 서버에서 OCR과 비전 모델을 돌려 "어떤 앱을 쓰고 있었고, 어떤 문서를 보고 있었으며, 어떤 코드를 쓰고 있었는지"를 마크다운 요약으로 만든다. 요약은 다시 내 Mac으로 돌아와 ~/.codex/memories_extensions/chronicle/ 아래에 암호화 없이 저장된다.

원본 스크린샷은 $TMPDIR/chronicle/screen_recording/ 에 잠깐 머물렀다가 6시간 안에 지워진다. 서버 쪽에도 보관하지 않고, 학습에도 쓰지 않는다고 OpenAI는 밝혔다. 다만 생성된 메모리는 "다른 Codex 메모리와 동일하게" 취급되는데, ChatGPT 설정에서 허용해두면 모델 개선에 쓰일 수 있다.

요구 조건이 좀 까다롭다. Apple Silicon Mac + macOS 14 이상, ChatGPT Pro 플랜($100/월), macOS 화면 기록 권한과 접근성 권한. EU, UK, 스위스는 출시 대상에서 빠졌다. 유럽 프라이버시 규제와 어떻게 맞출지 아직 정리가 안 된 상황으로 보인다.

설정은 이런 식이다.

Codex App > Settings > Personalization > Memories 활성화

같은 화면 아래 Chronicle 토글 on

동의 다이얼로그 > 화면 기록 / 접근성 권한 허용
Codex App > Settings > Personalization > Memories 활성화

같은 화면 아래 Chronicle 토글 on

동의 다이얼로그 > 화면 기록 / 접근성 권한 허용

메모리 생성에 쓸 모델도 바꿀 수 있다. 기본은 Codex 기본 모델을 따라가지만, consolidation_model 값을 넣어두면 다른 모델로 바꿀 수 있다. 공식 문서도 gpt-5.4-mini를 예시로 든다.

toml
[memories]
consolidation_model = "gpt-5.4-mini"
toml
[memories]
consolidation_model = "gpt-5.4-mini"

"this"와 "that"을 끝내기 위해

OpenAI가 이 기능을 왜 만들었는지는 공식 문서 두 번째 줄에 나온다. "Codex can better understand what you mean by 'this' or 'that.'" 코딩하다 보면 정말 자주 "이 에러" "저 문서" "아까 그거"라는 말을 한다. AI 에이전트에게는 그 "이" "저" "아까"가 공백이다.

Chronicle이 메워주려는 게 그 공백이다. 내가 에러 화면을 띄워놓고 Codex에게 질문하면, Codex는 방금 전 내 화면에 무슨 에러가 떠있었는지 알고 있다. 문서를 열어놓고 "이 함수 시그니처 대로 테스트 코드 짜줘"라고 하면 어떤 함수를 가리키는지 안다.

시간이 쌓이면 도구와 워크플로우도 배운다. 내가 JIRA 티켓을 어떻게 관리하는지, Slack 스레드에서 어떤 식으로 맥락을 찾는지, 어떤 에디터에서 어떤 키바인딩을 쓰는지. 매 세션마다 "나는 이런 사람이야"를 반복 설명하는 AI 피로를 줄이겠다는 의도다.

공식 문서는 한 가지 단서를 덧붙인다. Chronicle은 더 나은 소스가 있으면 자기가 나서지 않는다. 파일이나 Slack 스레드, Google Doc, 대시보드, PR이 더 적절하다면 Chronicle이 "그 소스를 읽으라"고 알려주고 Codex가 그걸 직접 참조한다. 화면 요약은 컨텍스트의 '인덱스' 역할이고, 원본은 따로 가져오는 구조로 설계했다는 뜻이다.

Microsoft Recall, Rewind, 그리고 OpenAI의 선택

Mac 화면을 기억하는 도구가 Chronicle이 처음은 아니다.

Microsoft Recall은 Copilot+ PC 위에서 돌아간다. 스크린샷을 온디바이스 NPU로 처리하고, 데이터베이스는 암호화해서 저장한다. 사용자 입력을 받아 Windows Hello로 잠그는 레이어까지 붙었다. 2024년 초 프리뷰에서 혹독하게 까인 뒤 거의 다시 만든 물건이다.

Rewind는 한때 Mac 진영의 대표주자였다. 로컬에서 화면을 압축 저장하고 검색하는 모델이었는데, 창업자 Dan Siroker가 2024년 Limitless로 방향을 틀었고 2025년 12월 Meta에 인수되면서 Mac 앱은 정리됐다. 그 빈자리를 "Rewind의 개발자 친화 대안"이라며 screenpipe 같은 오픈소스가 차지하는 모양새다.

여기에 Chronicle이 들어왔다. 한 줄로 요약하면 "이미지는 로컬에서 찍고, 처리는 서버에서, 메모리는 다시 로컬로, 암호화는 없음"이다. Microsoft가 "온디바이스 + 암호화"로 안전성에 무게를 실은 쪽이라면, OpenAI는 효용 쪽에 체크 박스를 하나 더 쳤다. 자기 GPT-5.4급 모델로 스크린샷을 이해시키려면 서버로 보내는 게 가장 빠른 길이긴 하다.

왜 암호화는 안 했을까. 공식 문서를 그대로 옮기면 "Chronicle이 생성하는 메모리는 다른 Codex 메모리와 동일하게 마크다운 파일이다. 읽고 수정할 수 있고, Codex에게 검색하게 할 수도 있다." 투명성과 사용자 통제를 택한 대신 디스크 상의 암호화를 포기했다. 관점에 따라 정직하게 느껴지기도 하고 허술하게 느껴지기도 한다.

프롬프트 인젝션이라는 새로운 공격면

공식 경고문 중 가장 무거운 게 이 줄이다. "Using Chronicle increases risk to prompt injection attacks from screen content."

2026년 들어 프롬프트 인젝션은 OWASP LLM Top 10에서 3년 연속 1위를 지키고 있다. 특히 화면을 읽는 에이전트의 등장과 함께 공격 기법도 진화했다. Brave 레드팀은 노란 바탕에 연한 파란 글씨로 주입 문구를 숨긴 스크린샷을 만들어 AI 브라우저를 속이는 시연을 공개했다. 사람 눈에는 거의 안 보이지만 AI는 또렷하게 읽는다.

Chronicle이 악의적인 웹페이지를 스크린샷으로 찍어 메모리로 저장하는 순간, 그 메모리가 다음 세션에서 Codex 행동을 조작할 수 있다는 뜻이다. 예컨대 내가 해커의 프로모션 페이지를 잠깐 열어본 것만으로, 그 페이지 안의 지시문이 내 Codex 에이전트 메모리에 섞여 들어갈 수 있다. 공식 문서가 "회의 중이거나 민감한 화면을 볼 때는 Chronicle을 일시정지하라"고 반복하는 이유다.

대응 방법으로 OpenAI는 메뉴바 아이콘에서 바로 끌 수 있는 Pause/Resume 토글과, 스레드 단위로 메모리 사용 여부를 끄는 옵션을 제공한다. 그래도 "내가 안 본 사이에 무슨 페이지가 메모리로 들어갔는지" 주기적으로 메모리 파일을 열어 확인하는 습관이 필요하다.

그래서 나는 쓸까

나는 아직 안 켤 것 같다. 몇 가지 이유가 있다. 첫째, 화면 기록 권한을 상시 OpenAI 앱에 넘기는 게 심리적으로 걸린다. OpenAI가 학습에 안 쓴다고 명시해도, "서버로 간다"라는 사실 자체가 내 워크플로우에서 차지하는 비중은 크다. 은행 로그인 화면, 사적인 대화창, 쓰다 만 글 같은 것들이 스크린샷으로 잠깐이라도 서버에 도달한다는 건 별개의 이야기다.

둘째, Rate limit 소모가 빠르다는 경고가 붙어 있다. 월 $100짜리 Pro 플랜을 쓰는데 백그라운드에서 메모리 생성에 할당량을 갉아먹으면, 정작 내가 코딩할 때 쓸 할당량이 줄어든다. 프로덕션 워크로드 돌리는 사람에겐 트레이드오프가 분명한 편이다.

셋째, 프롬프트 인젝션 공격면이 생각보다 넓다. 내가 브라우징하는 모든 웹페이지, 열어본 PDF, 랜덤한 마크다운 파일 모두가 잠재적 주입 벡터가 된다. 개발자가 흔히 열어보는 GitHub 이슈, Stack Overflow, 블로그 글 같은 곳에 누군가 교묘하게 텍스트를 심어두면 내 Codex가 그걸 학습된 지시처럼 취급할 가능성이 제로가 아니다.

그래도 Chronicle의 방향 자체는 이해가 간다. AI 에이전트의 가장 큰 불만이 "매번 상황을 처음부터 설명해야 한다"였고, 그걸 가장 자연스럽게 푸는 방법이 "개발자가 일하는 화면 자체를 읽게 하는 것"이라는 건 Microsoft Recall 이후 업계 전반이 동의하는 방향이다. Chronicle은 그 방향을 GPT-5.4급 모델과 클라우드 자원으로 밀어붙인 버전이다.

몇 달 더 지켜보면 이 타협점의 답이 어느 쪽인지 조금은 보일 것 같다. Microsoft 방식이 "안전하지만 느리고 온디바이스 한계에 묶이는 결과"가 될지, OpenAI 방식이 "빠르지만 주기적으로 프라이버시 스캔들을 터뜨리는 결과"가 될지. 지금은 어느 쪽도 완성형이 아니다.

굳이 써볼 생각이 있다면, 격리된 Mac 계정을 하나 따로 만들어서 거기서만 켜는 쪽을 추천한다. 내 실제 작업 환경을 통째로 맡기기엔 2026-04-21 기준으로 아직은 이른 감이 있다.

참고 자료

YouTube 영상

채널 보기
AI는 데이터를 어떻게 분류할까? 벡터의 거리와 KNN 알고리즘 | 선형대수학
트라이(Trie)에서 단어를 삭제하는 방법 | Trie 자료구조 이야기
트라이(Trie) 자료구조: 파이썬으로 삽입(Insert) 연산 구현하기 | Trie 자료구조 이야기
AI 추천 시스템의 원리, 벡터 사이의 각도와 코사인 유사도 | 선형대수학
마지막편, 트라이 노드를 50% 이상 줄이는 방법? 압축 트라이 성능 분석 | Trie 자료구조 이야기
인공지능은 세상을 어떻게 숫자로 읽는가? - 이미지, 소리 그리고 텍스트가 행렬이 되는 원리 | 선형대수학
직교성과 벡터 투영 | 선형대수학
AI를 위한 선형대수학 - 소개 | 선형대수학