애플 macOS 욕설 필터 데이터베이스의 비공개 단어 목록 공개
원제 I dumped Apple’s word list
132 포인트댓글 72

Key Point
개발자들이 OS 수준에서 숨겨진 필터 메커니즘과 비공개 API를 통해 언어 검열이 어떻게 작동하는지 이해할 수 있고, 자산 분석 기법을 배울 수 있으며, 정치 인물이 어떤 기준으로 필터 대상이 되는지 추적할 수 있다.
핵심 요약
- 애플 macOS는 메시지 앱과 이메일 등 앱별·수신자별로 사용자가 입력한 욕설을 추적하는 숨겨진 데이터베이스를 보유하고 있다.
- 이 데이터베이스는 iOS 17의 자동수정 기능이 사용자의 언어 습관을 학습하기 위해 설계되었으며, 기기 간 동기화되는 것으로 추정된다.
- 데이터베이스는 비공개 Lexicon.framework의 언어 사전을 참조하여 어떤 단어가 욕설인지 판단하는데, 애플은 이 함수들을 문서화하지 않았다.
- 영어 사전 19만 9019개 단어 중 4271개가 세 가지 등급으로 분류된다: vulgar(욕설·성적 은어), offensive(혐오 표현), sensitive(자판이 자동 제시하면 안 되는 표현).
- sensitive 등급 109개 중 Trump를 포함한 인물명이 있으며, 대부분 나치 관리자·독재자·테러리스트 등 기존에 사망한 인물이다.
- 트럼프는 en_US와 en_GB 사전에만 sensitive로 표시되고, 독일어는 히틀러를 offensive로, 스웨덴어는 푸틴을 sensitive로 분류한다.
- 이 플래그는 자판이 단어를 자동 제시하지 않도록 제한하는 것으로, 2025년 2월 받아쓰기 버그(사람들이 '인종차별주의자'라고 말할 때 '트럼프'로 인식)를 재발 방지하려는 의도로 추정된다.
- 토픽 비트마스크는 등급과 독립적으로 작동하며, 2052개 영어 단어는 등급 없이 '민감한 맥락' 태그를 가지고 있다(gay, fat, God, Allah, sex 등).
- 아랍어·히브리어 사전은 수십만 개의 sensitive 항목을 반환하는데, 이는 비트가 언어마다 다른 의미로 재사용되고 있음을 시사한다.
- 애플은 별도의 두 번째 필터로 blocklist.bundle을 운영하며, 이는 특정 단어 시퀀스를 차단하는 구조화된 트라이 형식이다.
- 저자가 자신의 Mac에서 데이터베이스 기록을 채우려고 시도했으나 성공하지 못했으며, 이는 Mac이 기록을 저장하지 않거나 특정 앱·설정에서만 작동함을 시사한다.
- 언어별로 욕설 분류의 기준이 다르며, 각국 사전의 인간 편집 부분에서 그 차이가 드러난다(예: 노르웨이어는 'idiot'을 offensive로, 영어는 sensitive로 분류).
- 15개 로케일의 모든 등급 단어 목록, 코드, 재생성 스크립트가 공개되었으며, 이는 macOS 15.6의 스냅샷이다.