원문 캡처 · hindsig.ht
원문 캡처 · hindsig.ht

ChatGPT 대화 URL에 들어 있는 ID를 분석하면 대화가 생성된 시각을 확인할 수 있다. Unfurl 제작자는 약 28만 개의 ID를 조사해 형식과 시각 정보를 역공학으로 추정했으며, 2026.11 버전부터 이를 자동으로 해석한다.

분석에 따르면 ChatGPT 대화 ID는 2024년 8월 30일을 전후로 형식이 바뀌었다. 그 이전의 UUIDv4는 무작위 값이라 생성 시각을 담지 않지만, 이후의 UUIDv8은 처음 8자리 16진수가 Unix 초 단위 시각을 나타낸다. 따라서 URL에 접속할 수 없거나 대화가 비공개·삭제된 상태여도 URL 문자열만 있으면 생성 시각을 추정할 수 있다.

이 결과는 OpenAI가 문서화한 형식이 아니라 공개된 URL과 자료를 바탕으로 한 역공학 분석이다. 제작자는 약 18만 개의 UUIDv8 대화 ID를 인터넷 아카이브의 최초 수집 시각과 비교했다. 대다수 ID의 내장 시각은 최초 수집 시각보다 앞섰고, 두 시각 사이의 간격은 중앙값 71초였다. 일부 예외도 있어 모든 ID의 필드 해석이 확정된 것은 아니다.

UUIDv8의 다음 네 자리에는 1초 미만의 시각 정보가 들어간다. 2024년 8월 30일부터 약 10월 28일까지는 나노초 값을 일정 단위로 표현한 것으로 보이며, 그 뒤에는 0부터 16,383까지의 값이 고르게 나타난다. 제작자는 이를 1초의 이진 소수부로 추정하지만 ID만으로는 확인할 수 없다고 밝혔다. 버전 표시 뒤의 12비트는 의도된 범위에 모여 있어 서버·클러스터·샤드 식별자일 가능성이 있지만, 용도는 추정이다. 나머지 62비트에서는 추가 구조를 찾지 못했다.

같은 128비트 형식은 공유 링크, GPT와 프로젝트, Codex 작업, 일부 API ID 등에도 쓰인다. 다만 노드 범위는 제품마다 시기가 다르게 바뀌므로 ID 종류를 알아야 날짜를 좁히는 데 활용할 수 있다. OpenAI API의 chatcmpl- 응답 ID와 Sora 생성 ID는 별도 형식을 사용한다. 제작자는 공개 API 응답 152건 중 150건에서 chatcmpl- ID의 시각 해석이 created 값과 일치하거나 1초 차이가 났다고 설명했다. 이 방식은 OpenAI 자체의 29자 ID에만 적용되며, 같은 접두어를 쓰는 다른 서버의 ID에는 적용되지 않을 수 있다.

Unfurl v2026.11은 ChatGPT와 OpenAI ID를 자동으로 분류하고, 해당 형식의 시각·하위 초 단위 값·노드 등을 표시한다. ChatGPT URL을 붙여 넣어 온라인에서 사용하거나 GitHub 저장소에서 코드를 확인할 수 있으며, pip install dfir-unfurl -U로 설치할 수 있다. URL 없이 UUID만 분석할 때는 오탐을 줄이기 위해 하이픈 형식과 버전·시각·노드 범위 등 엄격한 조건을 적용한다. 제작자의 조사에서 ChatGPT·OpenAI URL이 아닌 하이픈 포함 UUIDv8 622개는 조건을 통과하지 않았지만, 하이픈 없는 16진수 값 약 14만 8천 개 중 8개는 잘못 통과했다.

부록: 원문 예시

text
2025-07-172026-09 (rare after 2026-07)900-939