1P by GN⁺ 21일전 | ★ favorite | 댓글 1개
  • macOS Gatekeeper를 강제로 우회해 서명되지 않은 소프트웨어를 실행하는 데 사용하는 --no-quarantine 플래그가 제거될 예정
  • 이 변경은 보안 강화를 위한 조치로, Apple의 코드 서명 및 공증 정책을 준수하는 방향으로 운영될 것
  • macOS Tahoe가 Intel의 마지막 macOS가 되면서 기능의 필요성이 크게 줄어듦
  • ARM Mac에서는 서명 없는 arm64 코드 실행이 불가능함
  • 2026년 9월 1일부터 Gatekeeper 검사 실패 cask 지원 중단

동기

  • Apple과 Homebrew 모두 Intel Mac 지원을 종료하는 흐름에 있으며, --no-quarantine는 보안 우회 기능이므로 유지할 이유가 없음

사용자 영향

  • 옵션 제거로 macOS 보안 기준에 맞춘 설치 환경이 제공되며, Homebrew에서 보안 우회 기능을 더 이상 제공하지 않게 됨
Hacker News 의견
  • 내가 이해하기로 이번 변경은 주로 macOS의 cask에만 영향을 주는 것 같음
    cask는 dmg나 pkg 형태의 바이너리 앱 설치용으로 쓰이는데, 대부분은 이미 서명된 바이너리임
    Homebrew가 오픈소스 소프트웨어를 다운로드·컴파일·설치하는 기능에는 영향이 없어 보임

    • 내가 아는 대부분의 사람들은 cask를 많이 설치하지 않음이라는 말에 동의하지 않음
      사실 Homebrew가 다른 패키지 매니저보다 나은 점은 cask뿐임
      나는 Homebrew를 격리된 prefix에 설치해 cask만 쓰고, PATH에는 추가하지 않음
      서명되지 않은 앱도 몇 개 쓰고 있음
      서명 여부보다 중요한 건 Homebrew나 Debian 같은 큐레이션·검증 프로세스라고 생각함
      --no-quarantine 옵션이 사라지면 매번 업데이트마다 수동 승인해야 해서 불편함
    • Homebrew는 기본적으로 오픈소스도 바이너리 패키지(bottle) 형태로 배포함
      공식 패키지 목록을 보면 수백 페이지에 달함
      “모든 것을 bottle로 제공하는 것이 목표”라고 명시되어 있음
      그래서 이번 변경이 직접적인 영향은 없지만, 예전처럼 소스 빌드 중심이 아니라는 점은 알아둘 필요가 있음
    • Homebrew 프로젝트 리더가 직접 확인해줌 — 이번 변경은 formulae에는 영향 없음, 오직 cask만 해당됨
    • 이번 논의에서 언급된 대표적인 앱은 LibrewolfFreetube
      관련 토론: Homebrew Discussions #6334
    • 나는 GUI 앱은 전부 Homebrew로 설치함. 현재 cask가 30개 이상인데, 서명 여부는 잘 모르겠음
  • 나는 오래전부터 Gatekeeper가 서서히 강화될 거라고 예측했는데, 그게 현실이 되고 있음

    • 실제로 1년 전 macOS 15 Sequoia에서 Gatekeeper가 강화되었을 때 사람들은 알아챘음
      관련 기사: Ars Technica, MacRumors, Daring Fireball
    • 다행히 Linux 노트북이 점점 좋아지고 있음
      내 M1 MacBook Air가 느려질 즈음엔 리눅스로 완전히 옮길 수 있을 것 같음
    • Apple이 다른 OS 설치를 막는 건 경쟁을 약화시키고 사용자에게도 장기적으로 해로움
      Apple 하드웨어를 사는 건 이런 행태를 묵인하는 행위
    • Gatekeeper는 여전히 비활성화할 수 있음
      Mac의 시장 규모와 개발자 비중을 고려하면, Apple이 완전히 막을 가능성은 낮다고 봄
    • 사실 처음부터 이런 방향이 예견되어 있었음. 다만 그때는 이런 경고가 무시되었음
  • Homebrew는 프로용 툴이라기보다 소비자 친화적인 패키지 매니저임
    강제 업데이트, 구버전 폐기, 토론 차단 등으로 불만이 많음
    그래서 MacPorts로 옮길까 고민 중임

    • Homebrew는 커스터마이징이 거의 불가능하고, 의존성 관리도 엉망임
      유지보수자들의 공격적인 태도도 문제임
    • 나는 20년 전 MacPorts로 시작했다가 Homebrew로 옮겼지만, 최근 다시 MacPorts로 복귀했음
      오래된 PowerBook에서도 문제없이 빌드되던 시절이 그리움
    • 이제 Homebrew는 거의 App Store 확장판 같음
    • Homebrew가 오래된 macOS 지원을 끊는 건 실망스러움
      Apple처럼 구버전 지원을 버리는 건 오픈소스 정신에 어긋남
      “Intel 지원 종료” 문구를 보고 충격받았음
    • “프로용”과 “소비자용”의 구분이 모호함. Homebrew를 쓰는 소비자가 과연 있을까 의문임
  • Homebrew 유지보수자들의 불친절한 커뮤니케이션이 문제라고 생각함
    기술적으로는 xattr을 postinstall 단계에서 실행하는 게 맞지만, 태도는 개선이 필요함

    • Mike McQuaid의 반응은 과도했음. 상대방은 차분했는데 불필요하게 공격적이었음
    • 그들은 토론이 열린 것처럼 보이게만 하고 실제로는 형식적인 논의였음
  • 나는 이번 변경이 정확히 무슨 의미인지 처음엔 이해가 안 됐음
    Homebrew로 소스 빌드가 막히는 건지, 서명된 바이너리만 실행 가능한 건지 헷갈렸음

    • 실제로는 cask만 영향받음, formulae나 bottle은 그대로임
    • macOS의 바이너리에는 quarantine 플래그가 있는데, 이게 설정되면 실행 전 보안 검사를 거침
      --no-quarantine 옵션이 사라졌지만, 사용자가 직접 플래그를 해제할 수 있음
      결국 서명된 바이너리를 권장하는 방향으로 유도하는 조치임
    • 토론이 조기에 닫혀서 더 이상 질문할 수 없었음
    • MacPorts는 여전히 잘 작동하므로, Homebrew도 결국 해결책을 찾을 거라 봄
      직접 빌드한 바이너리는 여전히 실행 가능함
    • 예를 들어 ClickHouse처럼 서명되지 않은 앱은 당분간 설치가 불가능함
  • --no-gatekeeper 옵션 제거 자체는 큰일이 아님
    단순히 com.apple.quarantine 속성을 제거하는 역할이었음
    진짜 문제는 모든 cask가 Apple Developer Program 서명·공증을 요구하게 된 것임
    오픈소스 개발자에게는 연 $99 비용과 법적 신원 공개가 부담임
    Apple이 Xcode Cloud를 활용해 무료로 서명할 수 있게 해주면 좋겠음
    관련 토론: #6334, #6482

  • 사용자를 보호하는 목적은 이해하지만, Gatekeeper가 App Store 수익화 수단으로 변질된 건 문제임

    • 연 $90(또는 $99) 비용은 과도하지 않다고 생각함
      다만 학생 개발자에게는 부담일 수 있음
      Apple이 서드파티 인증서 신뢰를 허용하면 더 나을 것 같음
  • --no-quarantine 옵션과 ARM64 서명 제한은 별개임
    서명되지 않은 앱은 속성을 제거해도 실행되지 않음
    macOS는 adhoc 서명을 허용하므로, 그걸 이용하면 실행 가능함

    • Gatekeeper는 com.apple.quarantine 속성으로 실행 차단을 판단함
      XProtect와 AMFI가 백그라운드에서 추가 검사를 수행함
      속성을 제거하면 XProtect가 막지 않는 한 어떤 바이너리든 실행 가능함
    • 위 설명이 대체로 정확함
  • Homebrew가 이슈를 너무 빨리 잠그는 태도가 아쉬움
    사용자 입장에서는 Apple 승인 없이는 내 컴퓨터에서 앱을 못 돌리는 셈임

    • Homebrew는 토론은 Discussions 탭에서만 허용하기 때문에 이슈가 잠기는 것임
    • 예전부터 유지보수자들이 공격적이고 반토론적이었다는 평이 많음
    • “Homebrew가 사용자 친화적”이라는 말엔 동의하지 않음
    • “Tim Cook의 컴퓨터를 그의 뜻대로 써야 한다”는 농담이 나올 정도임
  • Alacritty도 이번 변경의 영향을 받음
    개발자들이 Apple 서명 비용을 낼 가능성은 낮음
    관련 이슈: alacritty/alacritty#8749

    • 나도 Alacritty를 포함한 여러 cask를 쓰고 있음
      대체 앱을 찾아야 할지도 모르겠음
    • 단순히 설치 후 quarantine 속성 제거 스크립트를 추가하면 해결될 수도 있음
    • HN의 다른 댓글에 우회 방법이 있음
    • 오픈소스라면 굳이 cask로 배포할 이유가 없고, formula로 빌드하는 게 맞다고 생각함