메뉴
HN
Hacker News • 53일 전

애플 메일 앱이 비아이클라우드 메일 전송 시 아이클라우드에 연결하는 이유

IMP
6/10
핵심 요약

개발자가 아이클라우드 연동을 끈 상태에서도 애플 메일 앱으로 일반 이메일을 보낼 때 백그라운드에서 아이클라우드 서버로 통신을 시도하는 현상을 발견했습니다. 애플의 강력한 인증서 고정 기술로 인해 실제 전송되는 데이터의 정확한 내용은 파악하기 어려우며, 이는 사용자 동의 없는 불필요한 데이터 수집 및 개인정보 침해 우려를 낳습니다.

번역된 본문

애플 메일 앱이 아이클라우드가 아닌 이메일을 보낼 때 아이클라우드에 연결하는 이유는 무엇일까요? (2026년 8월 3일)

저는 앱스토어 앱의 아이클라우드 동기화 기능을 테스트할 때만 아이클라우드를 사용합니다. 최근 블로그 포스트인 '메일 앱을 통한 애플 계정 이메일 주소 유출'에서 언급했듯이, 저는 아이클라우드 이메일 계정을 가지고 있지 않습니다. 아래 스크린샷에서 볼 수 있듯이, 시스템 설정에서 메일의 모든 아이클라우드 사용은 비활성화되어 있습니다.

그럼에도 불구하고, 메일 앱에서 아이클라우드가 아닌 계정으로 다른 아이클라우드가 아닌 계정에 이메일을 보낼 때, Little Snitch가 보여주듯이 메일 앱은 즉시 아이클라우드 연결을 트리거합니다. 테스트 과정에서 저는 이 동작을 반복적으로 재현했습니다.

cloudd 프로세스는 URL(https://gateway.icloud.com:443/ckdatabase/api/client/query/retrieve)에 연결을 시도하고, nsurlsessiond 프로세스는 TCP와 UDP를 통해 URL(https://gateway.icloud.com:443/ckdatabase/api/client/record/save)에 연결을 시도합니다. 첫 번째 연결 시도를 차단했을 때 대체 프로토콜로 대체(fallback)되는 것으로 보입니다.

불행히도 아이클라우드는 인증서 고정(certificate pinning)을 사용하기 때문에 Proxyman이 패킷을 해독할 수 없어서 연결 세부 사항을 분석할 수 없었습니다. 테스트 결과, 네트워크 확장(network extension) 프로그램으로도 암호화되지 않은 데이터에 접근할 수 없었습니다.

따라서, 저는 이 블로그 포스트 제목이 던지는 질문, 즉 '왜 메일 앱은 아이클라우드가 아닌 이메일을 보낼 때 아이클라우드에 연결하는가?'에 대한 답을 알지 못합니다. 아이클라우드에서 메일을 비활성화했는데도 메일 앱이 CloudKit에서 무엇을 쿼리(검색)하고 저장하는 것일까요? 애플은 제가 이메일을 보낼 때 이를 왜 알아야 할까요?

저는 cloudd 및 nsurlsessiond가 gateway.icloud.com에 연결하는 것을 차단하는 Little Snitch 규칙을 만들기로 결정했으며, 소프트웨어 개발 목적으로 아이클라우드 동기화를 테스트해야 할 때만 이 규칙을 일시적으로 비활성화할 것입니다.

원문 보기
원문 보기 (영어)
Why does Mail app contact iCloud when sending a non-iCloud email? August 3 2026 I use iCloud only for testing the iCloud sync feature of my App Store apps . As I mentioned in my recent blog post Apple account email address disclosure via Mail app , I don’t have an iCloud email account. As you can see in my screenshots below, iCloud is disabled in System Settings for all uses of Mail. Nonetheless, when I send an email in Mail app, from a non-iCloud account to an non-iCloud account, Mail immediately triggers an iCloud connection, as revealed by Little Snitch . In testing, I’ve reproduced this behavior repeatedly. The cloudd process attempts to connect to the URL https://gateway.icloud.com:443/ckdatabase/api/client/query/retrieve , and the nsurlsessiond process attempts to connect to the URL https://gateway.icloud.com:443/ckdatabase/api/client/record/save , over both TCP and UDP, likely falling back to the alternate protocol when I block the first connection attempt. Unfortunately, I haven’t been able to analyze the connection details with Proxyman , because iCloud uses certificate pinning, so Proxyman can’t decrypt the packets. In my testing, a network extension doesn’t get access to unencrypted data either. Thus, I don’t know the answer to the question posed by the title of this blog post: Why does Mail app contact iCloud when sending a non-iCloud email? What could Mail be querying and saving in CloudKit when I’ve disabled Mail in iCloud? Why does Apple need to know when I’m sending emails? I’ve decided to create Little Snitch rules to block cloudd and nsurlsessiond from connecting to gateway.icloud.com , and I’ll temporarily disable the rules if and when I need to test iCloud sync for software development purposes.