About

Finder 색 태그는 AI 가 아니라 과거의 내가 붙였다 — xattr 속 「빨간색\n6」 문자열

사진 내용을 설명하는 태그는 파일 안에 없다. 서비스 서버에만 있다

OneDrive 에 동기화해 둔 사진 · 영상 5,500개쯤에서 「웃는 장면」 같은 걸 찾을 수 있나 보다가, 약 300개에 태그가 붙어 있는 걸 발견했다. iPhone 이나 OneDrive 가 붙인 AI 태그인 줄 알았다.

까 보니 전부 내가 Finder 에서 직접 붙인 색 태그였다. 로컬 파일의 「태그」 는 대부분 사람이 붙인 색 라벨이고, 사진 내용을 설명하는 AI 태그는 파일 안에 없다. 태그가 파일 어디에 있는지, 누가 붙였는지 가려내는 법을 적어 둔다.

태그는 파일 본문이 아니라 xattr 에 있다

xattr(확장 속성)는 파일 내용과 따로 파일에 붙는 「이름 = 값」 메모다. Finder 태그는 두 군데에 흔적을 남긴다.

photo.jpg file content (JPEG bytes) IPTC / XMP keywords live here — found: 0 extended attributes (xattr) _kMDItemUserTags ["Red\n6", "Green\n2"] name + color no. FinderInfo old label: 3 bits, one color only service server Photos library DB OneDrive auto tags "what is in the photo" not written into the file color numbers 1 gray · 2 green · 3 purple 4 blue · 5 yellow · 6 red · 7 orange

com.apple.metadata:_kMDItemUserTags 에 태그 목록이 binary plist 배열로 들어간다. 태그 하나는 "이름\n색번호" 형식이다. 한국어 macOS 에서 붙인 빨강은 "빨간색\n6", 일본어 macOS 에서 붙인 빨강은 "レッド\n6" 이다. 색 번호는 0 없음, 1 회색, 2 초록, 3 보라, 4 파랑, 5 노랑, 6 빨강, 7 주황이다.

com.apple.FinderInfo 에는 옛날식 라벨 색이 1바이트 안 3비트로 들어간다. 여기엔 색이 하나만 들어간다. 태그를 여러 개 붙여도 이쪽은 마지막 한 색뿐이다.

직접 보려면 이렇게 한다.

xattr -l photo.jpg
xattr -px com.apple.metadata:_kMDItemUserTags photo.jpg | xxd -r -p | plutil -p -

두 번째 줄은 binary plist 를 풀어 배열로 보여준다. 테스트 파일에 태그 두 개를 써 넣고 돌려 보니 0 => "Red 다음 줄에 6" 이 찍혔다. 문자열 안의 줄바꿈이 그대로 나온다. mdls -name kMDItemUserTags 도 있지만 Spotlight 가 색인하지 않는 폴더(/tmp 같은 곳)에서는 (null) 이 나왔다.

누가 붙였나 가려내기

후보 판정 근거
iPhone 사진 앱 아님 인물 · 장면 인식 결과는 사진 라이브러리 DB 안에 있다. 내보낸 파일에 Finder 태그로 쓰지 않는다
OneDrive 자동 태그 로컬에선 아님 태그 이름이 macOS 기본 색 이름 그대로였다. 내용을 말하는 태그는 하나도 없었다
Finder 에서 사람이 맞음 색 번호가 붙은 형식, 그리고 한 · 일 두 언어가 섞여 있었다

결정적이었던 건 언어였다. 한 여행 폴더는 レッド, 다른 폴더는 빨간색 이었다. 언어 설정이 다른 두 환경에서 붙였다는 뜻이다. 한 사진에 색이 2〜4개 겹친 것도 많았다. 색마다 뜻을 정해 두고 사람이 고른 흔적이다. 그걸 붙인 기억이 나한테 없었을 뿐이다.

실측 (2026-09-26)

OneDrive 동기화 폴더 전체 약 14,900개 중 사진 · 영상은 jpg 4,407 / heic 1,341 / png 1,305 / mov 358 / mp4 60 이었다. _kMDItemUserTags 가 있는 파일은 약 300개, 전부 색 태그였다. IPTC/XMP 키워드(kMDItemKeywords)는 0개. 코멘트가 붙은 191개는 사진이 아니라 Google 이 만든 PDF 같은 것이었다.

그러니 「웃는 사진」 같은 검색은 로컬 메타데이터로는 안 된다.

태그 세 종류, 사는 곳이 다르다

종류 어디에 파일을 옮기면
Finder 색 태그 파일의 xattr xattr 을 지키는 복사에서만 따라간다
IPTC / XMP 키워드 파일 본문 안 파일과 같이 간다
서비스 AI 태그 사진 앱 · OneDrive 서버 안 따라간다

내용으로 검색하고 싶다면 색 태그에 기대지 말고, 로컬 이미지 모델로 설명을 새로 붙이는 쪽을 봐야 한다. 그건 다음 실험이다.

아직 확인 못 한 것: OneDrive 가 Finder 태그를 다른 Mac 까지 들고 가는지, mdfind 로 빨간색 을 찾을 때 レッド 도 걸리는지. 그리고 태그를 붙인 날짜는 xattr 에 남지 않아서 언제 붙였는지는 알 수 없다.

사진 · 문서 수천 개를 내용으로 찾게 만드는 일을 고민하고 있다면 https://www.negabaro.com/contact 로 이야기해 주면 된다.

동작 흐름

1

Finder 에서 태그를 붙이면 _kMDItemUserTags xattr 에 「이름\n색번호」 문자열이 쌓인다

2

FinderInfo 에는 옛날식 라벨 색 하나만 남는다

3

`xattr -px … | xxd -r -p | plutil -p -` 로 풀어 본다

← 로컬 개발 화면을 Mac 앱으로 — Electron 말고 manifest 한 장과 launchd 도쿄 카메라가 사이타마 지도에 찍힌 이유 — 지도 서비스의 진짜 비용은 좌표에 있다 →