밤새 일하는 맥이 뚫렸다: 원격 승인과 자동 업데이트의 빈틈

항상 켜 두던 맥 미니가 침해된 벤 톰슨의 경험을 살펴봅니다. 원격 권한 승인에 필요한 화면 공유를 VPN·SSH 경유로 바꾸고, 자동 업데이트 설정과 실제 설치 버전을 따로 확인해야 합니다.

인터넷의 5900번 포트 직접 접근과 VPN 또는 SSH를 경유한 맥 화면 공유 비교
인터넷에 직접 열린 화면 공유를 차단하고 인증된 경로를 사용한다.

벤 톰슨이 항상 켜 두던 맥 미니에 암호화폐 채굴 악성코드가 들어왔다. 10월 5일 Stratechery에 공개한 경험담에 따르면, 이 맥은 Anthropic의 코딩 도구 Claude와 OpenAI의 코딩 도구 Codex를 돌리는 전용 장비였다. 일상 작업을 맡긴 Claude가 이상을 발견해 긴급 알림을 보냈고, 톰슨은 조사 뒤 맥을 초기화했다.

그가 열어 둔 접속 경로는 화면 공유였다. 자동화 프로그램이 권한 승인 창에 막힐 때마다 다른 컴퓨터나 휴대전화로 들어가 확인 버튼을 누르기 위해서였다. 보안 업데이트도 자동 설치된다고 믿었다. 이 두 가지 운영 습관이 겹치면서, 패치가 나온 뒤에도 외부에서 접근할 수 있는 맥을 그대로 두게 됐다.

채굴기를 발견한 것은 늘 돌고 있던 작업이었다

톰슨의 Claude 작업은 아이디어와 프로젝트 상태를 기록하고, 상태판과 텔레그램 봇의 입력을 감시했다. 감시 도구가 30분마다 멈추면 예약 작업으로 다시 시작했다. 이 재시작 과정에서 Claude가 셸 시작 파일의 변화를 발견했다.

톰슨이 공개한 알림에는 /etc/zshenv가 관리자 권한으로 /var/tmp/.xmr를 실행하도록 바뀌었다고 적혀 있다. 새 터미널과 명령이 이 시작 파일을 읽으므로, 자동화 작업을 다시 시작하는 행위 자체가 악성 스크립트를 불러올 수 있었다. 알림은 해당 스크립트가 채굴 프로그램을 내려받고 수익을 외부 지갑으로 보낸다고 설명했다. 두 파일은 root 소유였으며 날짜는 1969년 12월 31일로 표시돼 있었다.

톰슨이 공개한 Claude 긴급 알림 중 첫 경고와 셸 시작 파일 변경 항목. 원문 기반 한글 번역을 아래에 붙였다.
출처: Stratechery

Claude는 명령 실행을 중단했고, 톰슨은 자신의 계정에서 암호 없이 관리자 명령을 실행할 수 있게 됐다는 진단도 받았다고 썼다. 그는 Claude를 더 실행하지 말라는 권고를 따르지 않고 조사에 활용한 뒤 맥을 지웠다. 같은 징후가 보이면 먼저 장비를 네트워크에서 격리하고, 조직의 사고 대응 절차에 따라 로그 보존과 복구를 진행해야 한다. 운영 중인 에이전트가 이상을 발견했더라도 별도의 보안 감시 체계는 유지해야 한다.

권한 창을 누르려던 접속 경로가 공격 표면이 됐다

톰슨은 화면 없이 운영하는 맥에서 권한 요청이 특히 불편했다고 설명한다. macOS의 TCC(Transparency, Consent, and Control)는 앱이 카메라나 보호된 파일 등에 접근할 때 사용자의 승인을 요구한다. 그의 작업에서는 새로 만든 프로그램이 네트워크 공유에 접근하는 과정에서도 승인 창이 나타났다. 프로그램에는 창이 보이지 않아 작업이 실패하면, 그가 화면 공유로 접속해 원인을 찾아야 했다.

승인 창을 일반 프로그램이 마음대로 읽고 누를 수 없게 하는 데는 이유가 있다. 악성코드가 사용자를 대신해 자기 권한을 승인하는 일을 막기 위해서다. 톰슨의 불만은 이 보호 목적보다, 상시 자동화에서 사람이 자주 화면에 접속해야 하는 운영 방식에 있다. 권한 승인을 편하게 만들겠다고 안전장치를 끄거나 모든 프로그램에 전체 디스크 접근을 주는 것은 이 사건의 해결책이 아니다.

그가 지목한 취약점은 CVE-2026-65400이다. 애플은 네트워크의 공격자가 유효한 자격증명 없이 화면 공유에 인증할 수 있는 문제를 상태 관리 개선으로 수정했다고 설명한다. Ars Technica는 네덜란드 NCSC의 경고를 인용해, 인터넷에서 5900번 포트에 접근할 수 있던 여러 시스템이 공격받았고 root 접근과 Monero 채굴기 설치가 관찰됐다고 보도했다. 화면 공유를 켰다는 사실과 인터넷에 직접 노출했다는 사실은 다르다. 공유기나 외부 방화벽의 차단 여부까지 봐야 한다.

인터넷의 5900 직접 접근과 VPN 또는 SSH 인증을 경유한 화면 공유의 차이. 5900번 포트 직접 노출을 차단하고 인증된 내부 경로를 사용한다.
출처: Ars Technica

톰슨은 Tailscale을 기본 보안 수단으로 사용하면서도 맥 미니에 들어갈 두 번째 길을 남겨 두었다고 인정했다. 앞으로는 VPN을 쓰겠다고 했고, 예비 경로도 SSH 터널이어야 했다고 적었다. 상시 자동화용 맥을 운영하는 팀도 승인 화면에 접속할 길은 유지하되, 공유기의 5900번 포트 전달과 외부 방화벽 허용 규칙은 제거하는 편이 맞다. 화면 공유는 인증된 VPN 내부나 SSH 터널을 거쳐 접속하도록 바꾸고, 외부망에서 직접 연결이 차단되는지 확인한다. VPN이나 SSH 자체의 계정과 접근 권한도 제한해야 한다.

자동 업데이트를 켰다는 말만으로 패치를 확인할 수 없다

톰슨은 보안 업데이트 자동 설치 옵션을 켜면 취약점 수정도 자동 적용된다고 이해했다. 그러나 macOS 업데이트 설정에는 운영체제 업데이트 설치와 보안 대응·시스템 파일 설치가 별도 항목으로 있다. 애플의 macOS Tahoe 사용 설명서도 Install macOS updates와 Install Security Responses and system files를 구분한다. 후자는 시스템 파일과 신속 보안 대응을 자동 설치하는 옵션이다. 이것만 켰다는 사실로 macOS 포인트 릴리스까지 설치됐다고 판단할 수 없다.

이번 수정은 별도 macOS 릴리스에 들어갔다. 애플 보안 문서의 발표일은 2026년 8월 6일이며, 수정 버전은 Tahoe 26.6.1, Sequoia 15.7.9, Sonoma 14.8.9다. Ars 보도는 8월 15일에 나왔다. 10월에 공개된 경험담을 이번 주 새로 나온 취약점이나 패치로 받아들여서는 안 된다.

자동 업데이트 옵션의 적용 범위와 CVE-2026-65400이 수정된 macOS 릴리스.
출처: 애플 업데이트 설정·보안 문서

설정은 애플 메뉴에서 시스템 설정 → 일반 → 소프트웨어 업데이트로 들어가 자동 업데이트 옆 정보 버튼을 눌러 확인한다. macOS 업데이트 설치와 보안 대응·시스템 파일 설치를 각각 확인한 다음, 현재 설치 버전을 해당 계열의 보안 릴리스와 대조한다. 위 번호는 이번 취약점이 수정된 릴리스이며, 10월 운영 장비에는 그 계열에서 제공되는 최신 업데이트를 적용한다. 자동 설치 스위치가 켜져 있어도 실제 설치와 필요한 재시작이 끝났는지는 따로 확인해야 한다.

애플은 야간 설치를 선택할 때 맥이 켜져 있고 전원과 인터넷에 연결돼 있어야 한다고 안내한다. 밤새 작업하는 장비라면 업데이트를 미루는 대신, 예약 작업을 안전하게 멈출 수 있는 시간을 정하고 재시작 뒤 작업이 정상 복귀했는지 확인하는 절차를 둬야 한다. 팀의 장비 목록에도 자동 업데이트 설정과 실제 설치 버전을 서로 다른 항목으로 기록하면 확인이 빠진 맥을 찾기 쉽다.

다음에 권한 승인 창을 누르러 접속할 때는 그 맥의 외부 접속 경로도 함께 점검할 수 있다. 화면 공유의 인터넷 직접 노출을 막았는지 확인하고, 소프트웨어 업데이트 화면에서 설치된 버전을 기록한다. 팀에서는 누가 승인 창을 처리하고 누가 재시작 뒤 작업 복귀를 확인할지도 정해 두는 편이 좋다.

출처: Stratechery · Ars Technica · 애플 Tahoe 보안 문서 · Sequoia · Sonoma · 애플 업데이트 설정