macOS에서 앱을 실행했을 때 "손상되었기 때문에 열 수 없습니다." 오류 메시지가 뜨는 문제와 해결 방법

2016.10.20 15:52    작성자: ONE™

며칠 전 한 구독자로부터 블로그에서 내려받은 파일이 작동하지 않는다는 메일을 받았습니다.

마우스 오른쪽 버튼으로 파일이나 텍스트 등을 클릭했을 때 표시되는 컨텍스트 메뉴의 서비스 항목 개수를 조절하는 앱인데 (링크), macOS 시에라에서 실행하면 다음과 같은 메시지만 뜬다는 것이었습니다.

"xxx은(는) 손상되었기 때문에 열 수 없습니다. 해당 항목을 휴지통으로 이동해야 합니다."

제 맥에서도 같은 현상이 나타나 인터넷을 검색하니 비슷한 질문과 게시물을 많이 발견할 수 있었습니다.

원인은 크게 두 가지로 압축할 수 있는데 하나는 앱이 실제로 손상된 것이고, 다른 하나는 맥 운영체제의 보안 기능인 '게이트키퍼(Gatekeeper)'를 통과하지 못해서 발생하는 문제입니다.

첫 번째 케이스는 다운로드 도중 오류가 발생했거나 애초에 개발자가 문제가 있는 앱을 배포하고 있는 것일 수 있습니다. 따라서 앱을 다시 내려받거나 개발자에서 정상적인 파일을 요청하셔야 합니다.

두 번째 케이스는 앱 내부에 있는 디지털 서명이 손상되었거나, 다른 사람에 의해 변조된 경우일 수 있습니다. (이번 질문과는 상관 없지만, 유료 앱을 공짜로 사용할 수 있도록 디지털 서명을 크랙한 경우 실행할 때 주로 발생하는 것으로 전해지더군요.)

macOS Sierra에 숨겨진 '모든 곳' 옵션 활성화하기

앞서 백투더맥에 올린 앱은 애플스크립트를 앱 형태로 사용할 수 있도록 제작한 것일 뿐 크랙 앱과는 거리가 멉니다. macOS 시에라부터 보안 정책이 엄격해지면서 이런 형태의 앱도 마치 위변조된 앱으로 취급되는 듯한데, 이를 우회하기 위해서는 한 가지 작업을 별도로 해주어야 합니다.

가장 확실한 해결 방법은 앞서 한 차례 소개한 것과 같이 게이트키퍼를 잠시 끄는 것입니다. OS X 10.11 엘 캐피탄까지는 시스템 환경설정을 통해 게이트키퍼를 간단히 끌 수 있 수 있지만, macOS 시에라부터는 터미널 명령어를 사용해야 합니다.

1. 응용 프로그램 > 유틸리티 폴더에 있는 '터미널(Terminal)'을 실행하고 아래와 같이 명령어를 입력하고 엔터 키를 누르세요. 사용자 계정 암호도 이어서 입력해야 합니다. ▼

sudo spctl --master-disable

2. 애플() 메뉴 > 시스템 환경설정 > 보안 및 개인 정보 보호 > 일반 탭을 열면 앱 스토어나 확인된 개발자가 아닌 프로그램도 실행할 수 있는 '모든 곳' 옵션이 활성화된 것을 볼 수 있습니다. ▼

이 옵션이 체크된 상태에서 앱을 다시 실행하면 정상적으로 작동됩니다. ▼

앱을 한 번 실행하면 같은 작업을 반복할 필요 없이 정상적으로 이용할 수 있습니다. 앱 작동 여부가 확인되면 운영체제 보안을 위해 게이트키퍼 옵션은 가급적이면 기본값으로 재설정하시기 바랍니다.



관련 글
애플, macOS에서 확인되지 않은 개발자가 배포한 앱 실행하는 옵션 삭제
애플, OS X 요세미티에 새로운 소프트웨어 인증 방식 도입
서비스 항목 개수에 상관없이 컨텍스트 메뉴에 모두 표시하기

저작자 표시 비영리 변경 금지
신고
    
  1. Blog Icon
    EZ2MAX

    다운로드 파일이 아니라 원래 있던 모션 프로젝트 파일이 손상되었다는 문제도 같은 이슈일까요? ㅠㅠ

  2. 파일이 패키지 형태로 되어 있다면 같은 문제가 발생할 수 있을 듯합니다. 위 방법을 한 번 적용해 보세요.

  3. Blog Icon
    ㅡㅡ;;

    이거 크랙판 받았을 때 이러는거 아닌가..

  4. 본문에도 적었지만 정상적인 앱도 패키징이나 디지털 서명 문제로 같은 증상이 나타날 수 있습니다.

  5. Blog Icon
    Ken


    $ xattr -l <App>
    com. ...
    $ xattr -d com... <App>

    으로 처리하면, 게이트키퍼를 손대지 않고 앱을 실행시킬수 있습니다.

  6. 팁 감사합니다. 그런데 확장 속성(xattr)이 없는 파일도 같은 문제가 발생할 수 있어서 게이트키퍼를 끄는 방법을 기준으로 했는데, 일반적인 경우라면 말씀하신 방법으로 충분히 대체가 가능할 듯하네요.

  7. Blog Icon
    h987

    1번 앱파일 손상시에는 zip파일로 압축된 .app파일을 반디집으로 풀었을때 생기는것같습니다. 매번 손상되는지는 모르겠는데 몇번 그랬던적이 있습니다. finder 아카이브유틸리티로 열어서 풀면 잘되더라고요. 참고하시면 좋을거같네요.

  8. 좋은 팁 감사합니다.

  9. Blog Icon
    DDK

    유용한 팁입니다 감사합니다

  10. Blog Icon
    kbh1227

    터미널에 sudo spctl --master-disable 입력후 password 뒤에 열쇠 표시 다음에 비밀번호가 입력이 안되는데... 비밀번호 입력 방법을 알려주세요 ㅠㅠ

  11. Blog Icon
    라다

    비밀 번호를 입력하더라도 화면에는 표시되지 않고, * 등도 나타나지 않으니 입력 후 엔터를 누르면 됩니다.

  12. Blog Icon
    애플러

    터미널에 말씀해주신거 적고 비번 입력후 엔터 친 다음 저장하고 터미널 꺼야되나요 아니면 걍 끄고 다음꺼 하면 되나요? 커맨드+s 버튼 눌러서 저장하나요? 누르니 어떤 창이 또 떠서요.. (맥처음이라ㅜㅠㅜ)