운영자는 조용한 macOS 보안 패치 뒤 “OpenClaw가 망가졌다”고 말하기 쉽지만, 실제로는 Transparency, Consent, and Control이 지난달 옮긴 게이트웨이 바이너리에 대한 화면 기록이나 손쉬운 사용을 소리 없이 취소하는 경우가 많습니다. 이 플레이북은 증상을 권한 표면에 매핑하고, (1) 먼저 열 설정 창과 (2) SSH 대 VNC 우선순위를 담은 두 개의 결정 매트릭스, JSON-LD에도 반영된 HowTo 7단계, 인시던트 메모에 붙일 FAQ, doctor와 종합 설치 가이드 링크를 묶습니다.
TCC는 “사용자 경험의 마찰”과 “감사 가능성” 모두에 영향을 줍니다. 엔터프라이즈에서는 MDM PPPC 페이로드로 선제 대응이 가능하지만, 클라우드 전용 Mac을 소수로 돌리는 팀은 대화형 재승인과 VNC를 전제로 한 Runbook이 없으면 주말 업그레이드마다 같은 조사를 반복합니다. 본문의 HowTo는 JSON-LD HowTo 단계와 1:1로 맞춰 두었으므로 사내 포털에 구조화 데이터를 그대로 재사용할 수 있습니다.
OpenClaw 같은 게이트웨이에서는 “채팅 응답이 온다”는 것과 “도구 파이프라인이 권한을 갖고 돈다”는 것이 쉽게 갈라집니다. 화면 캡처나 AX 기반 UI 조작은 후자에 의존하므로 대화 지연만 보고 녹색으로 판정하면 프로덕션 트래픽만 조용히 실패하는 구멍이 생깁니다. 스모크는 반드시 이전에 실패했던 도구 호출로 하고, 채팅 성공만으로 안심하지 마세요.
증상을 TCC 버킷에 매핑하기
- 스크린샷이나 UI 스트림류 도구 호출이 즉시 실패하고 로그에 엔타이틀먼트류 오류 → 화면 기록.
- AppleScript나 AX 기반 자동화가 빈 트리를 반환하는데 게이트웨이 프로세스는 살아 있음 → 손쉬운 사용.
- 특정 Library 경로에 대한 워크스페이스 읽기가 OS 범프 후 갑자기 거부 → 셸뿐 아니라 정확한 헬퍼 바이너리에 대한 전체 디스크 접근.
분류를 틀리면 “일단 재부팅” 루프로 들어갑니다. 먼저 Console에서 tccd 거부를 시간으로 좁히고 어떤 서비스 이름이 반복되는지 확인하세요. 화면 기록과 파일 접근은 함께 나타나기 쉬우므로 매트릭스 A의 두 번째 창도 일찍 열어볼 가치가 있습니다.
매트릭스 A — 먼저 열 설정 창
| 주요 신호 | 첫 번째 창 | 두 번째 창 | 수집할 증거 |
|---|---|---|---|
| 픽셀 버퍼 API 실패 | 화면 기록 | 파일 및 폴더 | 지난 1시간 tccd 거부를 Console에서 필터 |
| AXUIElementCopyAttributeValues 오류 | 손쉬운 사용 | 자동화 | 타임스탬프가 있는 실패 AX 쿼리 3건 샘플 |
| 보호 경로에서 EPERM | 전체 디스크 접근 | 로컬 네트워크 | 요약이 아니라 거부된 정확한 POSIX 경로 |
매트릭스 B — 복구 채널 대 위험
| 채널 | TCC 프롬프트 클릭 가능 | 감사 친화 | 선호 시점 |
|---|---|---|---|
| SSH 전용 | ✗ | ✓ | 프롬프트가 이미 사라진 뒤의 로그 추적과 plist 편집 |
| VNC 그래픽 세션 | ✓ | ✓ | 업그레이드 직후 첫 복구. 자세한 내용은 VNC 가이드 |
| MDM 선언형 PPPC 페이로드 | N/A | 최상 | 전 플릿 엔터프라이즈. 카나리아에서는 doctor로 검증 |
전 플릿을 MDM으로 맞출 수 없어도 “카나리아 1대 + 프로덕션 풀”로 패치 시각을 어기면 TCC 재승인 절차를 주말이 아니라 평일 창에서 검증할 수 있습니다. VNC는 “화면 보기”뿐 아니라 시스템이 띄우는 시트에 서명하는 감사 흔적으로도 다루고, 세션 녹화 정책과 충돌하지 않는지 법무에 확인하세요.
HowTo 7단계를 운영자 관점에서 확장
1단계에서는 설정을 건드리기 전에 doctor 진단을 실행해 헛수고를 줄입니다. 2단계에서는 macOS가 목록에 표시하는 정확한 바이너리 이름을 읽습니다. Homebrew 업데이트는 바이너리를 옮기기 쉬운데 LaunchAgent는 오래된 경로를 가리킨 채라 TCC 항목은 있는 것처럼 보이지만 효과가 없는 상태가 됩니다.
3단계는 지루한 토글 작업입니다. 오래된 항목을 제거하고 새 바이너리를 한 번 대화식으로 실행한 뒤 권한을 다시 켜고 plist 경로를 Git에 고정합니다. 4단계는 업그레이드 직후 첫 복구에서 필수입니다. SSH는 “시스템 설정 열기” 시트를 클릭할 수 없습니다. 5단계에서 doctor를 다시 돌리고 JSON 출력을 macOS 빌드 번호 옆에 보관해 감사인이 따라갈 수 있게 합니다.
6단계는 launchctl bootout 뒤 bootstrap을 선호하고 kill -9만으로 끝내지 마세요. TCC 상태와 Mach 서비스의 일관성이 유지됩니다. 7단계는 이전에 실패했던 무해한 도구를 호출합니다. 채팅 지연만으로 검증하지 마세요. 채팅은 성공하는데 도구 파이프라인은 막힌 채인 분리가 발생합니다.
최초 설치 시에는 macOS 종합 설치의 경로 설명과 대조해 잘못된 헬퍼 바이너리를 승인하지 않았는지 확인하세요. NodeMac 호스트에서는 사용자 정의 프리픽스를 쓰기도 하므로 로컬 Mac의 Homebrew 경로를 그대로 베껴 승인하면 재발합니다.
“어제까지 됐다”는 거의 항상 경로 불일치
macOS는 TCC 허가를 inode와 Team ID 쌍에 묶습니다. 마케팅 이름이 아닙니다. brew 업데이트로 유니버설 바이너리가 옮겨지면 오래된 토글은 켜진 것처럼 보이지만 실제로 돌아가는 프로세스는 동의를 받지 않은 다른 파일일 수 있습니다. 그래서 끄는 것이 먹힙니다. 설정 UI를 방금 실행한 실제 경로—/opt/homebrew 등—에 다시 바인딩시킵니다.
게이트웨이 실행 파일과 특권 읽기를 수행하는 헬퍼를 모두 문서화하세요. CLI 래퍼만 승인하고 LaunchAgent가 중첩된 Node 바이너리를 쓰면 손쉬운 사용이 부족한 채로 남습니다. doctor가 녹색이어도 프로덕션 트래픽의 코드 경로를 조사하지 않은 경우가 있습니다.
팀이 잊기 쉬운 정량 가드레일
- 재승인 SLA: macOS 보안 대응 롤아웃 24시간 이내에 TCC 스모크 완료.
- 증거 패키지: 인시던트 티켓에 Console 발췌 최소 2개와 doctor JSON 1개 첨부.
- 카나리아 호스트: 리전당 스테이징용 Mac mini 1대를 프로덕션보다 24시간 일찍 패치.
팁: 어떤 게이트웨이 빌드가 어떤 코드 서명 Team ID에 해당하는지 문서화해 보안 검토에서 개발자 서명 나이틀리와 프로덕션 서명을 혼동하지 마세요.
HowTo 운영 체크리스트(현장용)
- 변경 전 현재 TCC 화면을 범주별로 스크린샷.
- 업그레이드 당일 VNC 로그인 가능한 백업 운영자 배정.
- launchd 레이블과 plist의 SHA256을 변경 관리에 등록.
- 도구 실패율 메트릭을 업그레이드 전후 48시간 비교.
- 롤백 절차에 “직전 macOS 빌드로 되돌리기”가 아니라 “TCC 재승인만으로 되돌리기”를 명시.
FAQ
개인 정보 보호 설정을 재설정하면 다른 앱이 깨지나요?
삭제한 항목에만 영향이 있습니다. 범주별로 작업하고 규정 준수상 롤백이 필요하면 변경 전 설정 화면을 기록하세요.
NodeMac 리전이 TCC 동작을 바꾸나요?
아니요. HK·JP·KR·SG·US 호스트는 같은 macOS 빌드를 실행하지만 지연은 운영자가 VNC로 프롬프트를 클릭하는 속도에 영향을 주고, 워치독이 서비스를 재시작하기 전에 맞출 수 있는지가 달라집니다.
초보자는 무엇을 먼저 읽어야 하나요?
도움말 센터에서 SSH 기본을 익힌 뒤, 첫 업그레이드 주말 다음에 여기로 돌아오세요.
LaunchAgent plist 경로와 TCC 승인 대상이 어긋날 때 흔한 증상은?
설정에서는 켜진 것처럼 보이지만 실행 중 프로세스는 다른 파일이라 동의되지 않은 상태입니다. 오래된 항목을 끄고 새 경로를 한 번 실행한 뒤 plist를 Git에 고정하세요.
게이트웨이 버전이 그대로인데 macOS 마이너 업데이트 후 도구가 실패하는 이유는?
Apple이 바이너리 재서명이나 경로 변경과 함께 TCC 항목을 재설정하거나 강화할 수 있기 때문입니다. 시스템 설정에 표시된 정확한 바이너리에 재승인하고 오래된 별칭이 아닌 실제 경로를 대상으로 하세요.
TCC 위생은 각 Mac mini M4를 진지한 자동화 노드로 다루는 일의 일부입니다. Apple Silicon 칩이 Apple의 개인 정보 모델을 면제해 주지는 않습니다. 네이티브 macOS 게이트웨이에는 반복 가능한 수정을 위한 SSH와 사람이 확인해야 할 동의 프롬프트를 위한 VNC가 모두 필요합니다. 홍콩·일본·한국·싱가포르·미국에서 전용 Mac mini M4를 렌탈하면 개발자 개인 노트북 프로필과 승인이 충돌하기 어렵습니다. 업그레이드가 오면 신비주의가 아니라 문서화된 TCC 매트릭스로 이기고, 카나리아와 프로덕션 플릿을 리전별로 나누려면 요금을 열어 비교하세요.