Chrome은 ~/Library/Application Support/Google/Chrome/Default/Cookies에 위치한 Cookies(확장자 없음)라는 SQLite 데이터베이스 파일에 모든 쿠키를 저장합니다. Chrome DevTools를 통해 사이트 하나의 쿠키를 볼 수는 있지만, 모든 쿠키를 검색하거나, 추적 패턴을 분석하거나, 사이트들이 저장한 데이터를 감사하고 싶다면 실제 데이터베이스 파일을 열어야 합니다. Chrome은 전체 쿠키 저장소를 시각적으로 탐색할 방법을 제공하지 않습니다.
DevTools의 한계
Chrome DevTools의 애플리케이션 탭은 현재 로드된 페이지의 도메인별 쿠키를 보여줍니다. 특정 사이트의 쿠키를 디버깅하는 데는 유용하지만, 모든 사이트에 걸친 모든 쿠키를 보거나, 여러 도메인에서 사용되는 특정 쿠키 이름을 검색하거나, 존재하는 추적 쿠키 수를 세고 싶을 때는 부족합니다. 모든 사이트를 개별적으로 방문해서 각각 검사해야 하는데 — 현실적이지 않습니다.
데이터베이스 방식은 전체 그림을 보여줍니다. 하지만 터미널에서 sqlite3로 Chrome의 Cookies 파일을 열면 호스트 키, 쿠키 이름, 값, 만료 타임스탬프(1601년 1월 1일 이후 마이크로초 단위인 Chrome의 에포크 형식), 그리고 원시 텍스트로 된 암호화된 값이 행으로 표시됩니다. Chrome은 macOS에서 쿠키 값을 암호화하므로 encrypted_value 열에는 직접 읽을 수 없는 바이너리 블롭이 들어 있습니다. 호스트, 이름, 경로, 만료, 플래그 같은 메타데이터 열은 여전히 읽을 수 있고 실제로 필요한 것인 경우가 많습니다.
Tome으로 Chrome 쿠키 탐색하기
Tome은 Chrome의 Cookies 데이터베이스 파일을 열어 cookies 테이블을 스크롤 및 정렬 가능한 그리드로 표시합니다. 먼저 Chrome을 종료한 뒤(파일을 잠그므로), ~/Library/Application Support/Google/Chrome/Default/Cookies를 Tome에서 여세요.
모든 도메인에서 검색하기
Tome의 SQL 편집기를 사용해 이름, 호스트, 패턴으로 쿠키를 찾으세요. SELECT host_key, name, path FROM cookies WHERE name LIKE '%_ga%'; 같은 쿼리는 방문한 모든 사이트에서 설정된 Google Analytics 쿠키를 보여줍니다 — DevTools로는 한 화면에서 볼 수 없는 것입니다.
쿠키 메타데이터 감사하기
쿠키 테이블을 탐색해 어떤 도메인이 영구 쿠키를 설정하는지, 어떤 것이 보안 플래그를 사용하는지, 어떤 것이 SameSite 속성을 가지는지 확인하세요. 만료 날짜로 정렬해 몇 년씩 지속되는 쿠키를 찾으세요. 값은 암호화되어 있어도 이 정보는 모두 평문으로 확인 가능합니다.
다른 Chrome 데이터베이스 검사하기
Chrome의 프로필 디렉터리에는 History, Login Data, Web Data, Favicons 같은 다른 SQLite 데이터베이스도 있습니다. 각각을 Tome에서 열어 시각적으로 검사할 수 있습니다 — Chrome이 로컬에 어떤 데이터를 저장하는지 이해하는 데 유용합니다.