macOS에서 xattr 명령어로 바이낸스 클라이언트의 격리 속성을 해제하는 방법
브라우저에서 다운로드한 바이낸스 .dmg 파일을 더블 클릭하여 마운트한 후 앱을 실행하면, macOS에서 "개발자를 확인할 수 없기 때문에 Binance.app을(를) 열 수 없습니다"라는 알림이 자주 나타납니다. 이는 Gatekeeper가 파일에 격리 마커(quarantine)를 달았기 때문입니다. 시스템 설정에서 "그래도 열기"를 클릭하는 것 외에 터미널의 xattr 도구로도 이 문제를 해결할 수 있습니다. 이 노트에서는 그 사용법을 명확히 설명합니다. 클라이언트 다운로드는 먼저 바이낸스 공식 사이트 또는 바이낸스 공식 앱을 이용하세요. iPhone 설치는 iOS 설치 튜토리얼을 참고하세요.
격리 속성이란 무엇인가
macOS의 com.apple.quarantine은 브라우저나 메일 앱이 파일을 다운로드할 때 자동으로 추가하는 파일 확장 속성(xattr)입니다. 이는 Gatekeeper에게 "이 파일은 인터넷에서 다운로드되었으므로 처음 실행할 때 엄격한 검사를 수행하라"고 지시하는 역할을 합니다.
파일의 서명이 확인되고 Apple의 공증을 받았다면 Gatekeeper는 사용자에게 한 번의 확인을 거친 후 실행을 허용합니다. 만약 서명이 누락되었거나 검증에 실패하면 실행을 즉시 거부합니다.
바이낸스 macOS 앱의 서명 상태
바이낸스 macOS 클라이언트는 Developer ID로 서명되어 있으며 Apple의 공증을 받았기 때문에, 이론적으로는 Gatekeeper가 정상적인 실행을 허용해야 합니다. 하지만 다음과 같은 상황에서는 여전히 차단될 수 있습니다.
- macOS 13 이상에서 "응용 프로그램을 시스템 설정에서 명시적으로 허용해야 함"이라는 더 엄격한 정책이 활성화된 경우
- 특정 환경에서 DMG 파일을 전송할 때 서명 정보가 손실된 경우
- 사용자가 Apple 기본 브라우저가 아닌 다른 브라우저(예: Brave, Firefox)로 다운로드하여 Gatekeeper의 처리 경로가 약간 달라진 경우
이러한 상황에서는 xattr 명령어가 대안이 될 수 있습니다.
시스템 설정에서 허용하기 (권장)
가장 안전한 처리 방법은 명령어를 사용하지 않는 것입니다.
- 바이낸스 앱을 더블 클릭하여 "열 수 없음" 대화상자를 봅니다.
- "휴지통으로 이동"을 누르지 말고 "취소"를 클릭합니다.
- 시스템 설정 → 개인정보 보호 및 보안을 엽니다.
- 맨 아래로 스크롤하여 "Binance.app 사용이 차단되었습니다"라는 메시지를 찾습니다.
- 옆에 있는 "그래도 열기"를 클릭합니다.
- 팝업창에서 확인 → 사용자 비밀번호를 입력합니다.
- 이후부터는 앱을 더블 클릭하여 바로 실행할 수 있습니다.
이 경로가 Apple이 가장 권장하며, 가장 안전한 방법입니다.
xattr 명령어를 사용하는 방법
터미널 환경에 익숙하다면 xattr 명령어로 한 번에 격리 속성을 제거할 수 있습니다.
- 터미널을 엽니다. (응용 프로그램 → 유틸리티 → 터미널)
- 명령어를 입력합니다. (구체적으로
xattr -d com.apple.quarantine뒤에 앱의 전체 경로를 입력합니다. 예:/Applications/Binance.app) - 엔터를 눌러 실행합니다.
- 명령어가 성공하면 아무런 내용도 출력되지 않습니다.
- 앱을 더블 클릭하여 정상적으로 실행합니다.
작업 시 주의사항:
- 앱 경로를 끝까지 정확하게 입력해야 합니다. Finder에서 앱을 터미널로 드래그하면 경로가 자동 완성됩니다.
- 앱이 사용자 디렉터리가 아닌 Applications(응용 프로그램) 폴더에 있다면
sudo권한이 필요할 수 있습니다. - 명령어 자체는 파일을 손상시키지 않습니다.
명령어 고급 활용법
xattr은 이 밖에도 다음과 같은 관련 작업을 수행할 수 있습니다.
- 특정 파일에 어떤 확장 속성이 있는지 확인
- 특정 디렉터리 내 모든 파일의 격리 마커를 재귀적으로 삭제
- 파일에 사용자 정의 확장 속성 추가
일반 사용자는 격리 마커 제거 하나면 충분하며, 기타 기능은 주로 개발자를 위한 것입니다.
작업의 위험성
격리 속성을 제거하면 다음과 같은 부작용이 있습니다.
- Gatekeeper의 "최초 실행 확인" 프로세스를 건너뛰게 됩니다.
- "인터넷에서 다운로드된 앱입니다..."라는 팝업 알림이 더 이상 나타나지 않습니다.
- 사용자가 서명 정보를 확인하도록 유도되지 않습니다.
긍정적인 영향:
- 파일이 손상되지 않습니다.
- 앱의 후속 업데이트에 영향을 주지 않습니다.
- 디지털 서명 검증에 영향을 주지 않습니다. (서명은 여전히 유효함)
앱의 출처가 100% 안전하다고 확신한다면(바이낸스 공식 사이트에서 다운로드한 경우), xattr을 사용해도 위험이 없습니다. 출처가 불분명한 경우 xattr을 사용하여 강제로 실행하지 마세요.
xattr이 적용되지 않는 경우
xattr은 "개발자를 확인할 수 없음" 경고만 처리할 수 있습니다. 다음과 같은 문제는 해결할 수 없습니다.
- macOS 부팅 보안 정책이 서명되지 않은 커널 확장을 차단하는 경우
- 사용자 계정에 관리자 권한이 없는 경우
- 파일 자체가 손상된 경우 (격리 속성 문제뿐만이 아님)
- macOS 13 이상의 "보안 정책 낮추기"로 인해 재부팅 후 복구 모드 진입이 요구되는 경우
이러한 상황은 다른 방법으로 해결해야 합니다.
SIP와 xattr의 관계
시스템 무결성 보호(SIP, System Integrity Protection)는 root 권한으로도 특정 디렉터리를 수정할 수 없도록 제한하는 Apple의 시스템 수준 보호 기능입니다. xattr과 SIP는 서로 다른 두 가지 메커니즘입니다.
xattr은 파일 메타데이터를 수정합니다. (사용자 권한 범위 내에 속함)- SIP는 시스템 디렉터리와 서명 검증 인프라를 보호합니다.
일반 사용자는 더 큰 위험을 초래할 수 있으므로 SIP를 비활성화해서는 안 됩니다.
명령어 별칭(Alias)과 간소화
xattr을 자주 사용하는 사용자는 ~/.zshrc 파일에 별칭을 설정할 수 있습니다. 예를 들어 "unquar"를 xattr 격리 해제 명령어로 지정할 수 있습니다. 단, 주의할 점이 있습니다.
- 별칭은 현재 사용자의 셸 환경에서만 유효합니다.
sudo로 실행할 때는 별칭이 작동하지 않습니다. (전체 명령어를 입력해야 함)
작업 중 발생하는 오류 처리
| 오류 메시지 | 해결 방법 |
|---|---|
| Operation not permitted | 명령어 앞에 sudo를 추가하여 재시도 |
| No such xattr | 파일에 처음부터 격리 마커가 없으므로 작업할 필요가 없음 |
| No such file | 경로를 잘못 입력함 |
| Permission denied | 파일 권한 문제, chown으로 수정 필요 |
장기적인 권장 사항
가장 안정적인 방법은 시스템 설정 → 개인정보 보호 및 보안을 통해 진행하는 것입니다. 그 이유는 다음과 같습니다.
- 작업이 직관적이며 명령어를 외울 필요가 없습니다.
- Apple이 향후 특정 보호 속성에 대한
xattr수정을 제한할 가능성이 있습니다. - 오작동의 위험이 낮습니다.
xattr은 드물게 발생하는 특수한 상황에서만 사용하는 것이 좋습니다.
FAQ
Q: xattr 작업을 하면 바이낸스 앱의 자동 업데이트 기능이 사라지나요? A: 아닙니다. 자동 업데이트는 앱 내부의 로직을 따르며 격리 속과는 무관합니다.
Q: 바이낸스를 업데이트한 후 xattr 명령어를 다시 실행해야 하나요? A: 보통은 필요하지 않습니다. 앱 내 업데이트 시 격리 마커가 다시 추가되지 않습니다.
Q: 응용 프로그램(Applications) 폴더 아래의 모든 앱을 한 번에 일괄 처리할 수 있나요? A: 기술적으로는 가능하지만, 출처가 확실한 앱만 처리하는 것을 권장합니다.
Q: 어떤 브라우저로 다운로드해야 격리 속성이 추가되나요? A: Safari, Chrome, Firefox, Edge, Brave 등 거의 모든 브라우저가 격리 속성을 추가합니다.