macOS에서 “Gobliiins가 손상되어 열 수 없습니다” 오류 해결 (보안 비활성화 없이)
I’m ready to translate the article for you, but I don’t have the full text of the post. Could you please paste the content you’d like translated (excluding the source line you already provided)? Once I have the article text, I’ll translate it into Korean while preserving the formatting, markdown, and any code blocks or URLs.
Gobliiins (game) from NimbusApps vs. macOS Gatekeeper: the “damaged and can’t be opened” saga
나는 어젯밤에 MacBook Air M2 (macOS Sonoma 14.3)에서 NimbusApps의 Gobliiins을 실행하려고 했고, macOS는 즉시 익숙한 경고를 표시했다:
“Gobliiins is damaged and can’t be opened. You should move it to the Trash.”
크래시 로그도, 비치볼도 없었다—그냥 즉시 거부되었다. 이것이 전형적인 Gatekeeper 동작이다.
Context
- 다운로드는 개발자 사이트에서 제공하는 공식 빌드였다 (NimbusApps는 몇몇 레트로 타이틀을 직접 배포한다). 토렌트나 검증되지 않은 출처가 아니다.
- 설치 전에 출처를 두 번 확인했다.
Why Gatekeeper Shows “Damaged”
문구가 오해를 불러일으키지만, 바이너리가 손상된 것은 아니다. Gatekeeper가 앱을 실행하지 않는 이유는 노타리제이션(Notarization) 검사에 실패했기 때문이다.
- Apple의 Gatekeeper 개요:
- 개발자 입장에서 본 노타리제이션 및 코드 서명 설명:
현대 macOS는 코드 서명과 노타리제이션 티켓을 모두 검증한다. 티켓이 제대로 스테이플(staple)되지 않으면 시스템은 온라인으로 검증을 시도한다. 방화벽 차단, 네트워크 오류, 인증서 만료 등 어느 하나라도 실패하면 “damaged” 메시지가 표시된다.
Diagnosing the Issue
-
우클릭 → Open – 일반적으로 System Settings → Privacy & Security에 “Open Anyway” 버튼이 나타나지만, 여기서는 나타나지 않았다.
-
재부팅하고 재다운로드 – 메시지는 계속 나타났으며, 이는 다운로드가 손상된 것이 아님을 의미한다.
-
Gatekeeper 진단 명령 실행:
spctl --assess --verbose=4 /Applications/Gobliiins.app출력은 바이너리 손상이 아니라 노타리제이션 거부를 가리켰다.
-
격리(quarantine) 속성 확인:
xattr -l /Applications/Gobliiins.appcom.apple.quarantine플래그가 존재했다.
Fixing the Problem
다운로드가 NimbusApps에서 직접 받은 것이고, 공개된 체크섬과 일치함을 확인한 뒤 (NimbusApps 사이트: ), 격리 속성을 제거했다:
xattr -dr com.apple.quarantine /Applications/Gobliiins.app
그 결과 게임은 문제 없이 실행되었으며, Apple Silicon에서 Rosetta 2를 통해 원활히 구동되었다.
Comparison with the App Store Build
- App Store 버전:
- App Store 빌드는 Apple이 완전히 검증된 노타리제이션 티켓과 함께 배포하기 때문에 이 문제에 절대 걸리지 않는다.
Why This Happens with Retro/Indie Titles
- 현대 macOS용으로 재패키징된 오래된 타이틀은 래퍼 레이어나 호환성 쉼을 사용하는 경우가 많아 노타리제이션이 복잡해진다.
- macOS Ventura부터 (그리고 Sonoma까지) Apple은 런타임 검증을 강화했다. 이전에는 경고만 표시되던 앱도 노타리제이션을 확인할 수 없으면 완전히 차단된다.
문제를 일으키는 전형적인 시나리오:
- 인디 또는 레트로 게임 재출시
- App Store 외부에서 직접 다운로드
- 아직 Apple 노타리제이션 서비스에 캐시되지 않은 최신 빌드
문제는 게임이 위험하다는 것이 아니라 macOS가 안전성을 검증할 수 없다는 점이다.
Step‑by‑Step Summary
-
손상이라고 가정하지 말라 – “damaged” 메시지는 종종 Gatekeeper 차단을 의미한다.
-
Gatekeeper 상태 확인:
spctl --assess --verbose=4 /path/to/app.app -
격리 속성 검사:
xattr -l /path/to/app.app -
출처 확인 (체크섬, 공식 웹사이트).
-
검증 후에만 격리 플래그 제거:
xattr -dr com.apple.quarantine /path/to/app.app -
앱 실행 – 시스템 무결성 보호(SIP)나 기타 보안 설정을 비활성화하지 않아도 정상적으로 실행된다.
Final Thoughts
NimbusApps의 Gobliiins 빌드는 전혀 문제가 없었으며, macOS가 실행 시 노타리제이션 상태를 확인하지 못했을 뿐이다. 격리 플래그를 책임감 있게 제거하면 문제는 해결되고, 게임은 다른 잘 포장된 타이틀처럼 정상적으로 동작한다.
현대 보안 레이어 때문에 클래식 퍼즐 게임을 실행하는 것이 퍼즐 자체보다 어려워 보일 수 있지만, 몇 가지 간단한 명령만으로 보안과 재미를 모두 유지할 수 있다.