---
title: "홈브루 6.0.0 공개, 이제 서드파티 탭은 먼저 믿어야 실행된다"
published: 2026-06-11T13:24:29.000Z
canonical: https://jeff.news/article/4042
---
# 홈브루 6.0.0 공개, 이제 서드파티 탭은 먼저 믿어야 실행된다

홈브루 6.0.0은 탭 신뢰 모델, 기본 내부 JSON API, 리눅스 샌드박스, brew bundle 개선, macOS 27 초기 지원을 한꺼번에 넣은 대형 릴리스다. 특히 서드파티 탭의 임의 Ruby 코드 실행 위험을 줄이고, 공급망 보안과 성능을 동시에 밀어붙인 게 핵심이다.

- 홈브루 6.0.0이 나왔고, 이번 릴리스의 중심은 기능 추가보다 ‘공급망 보안’에 가까움
  - 가장 큰 변화는 서드파티 tap을 자동으로 믿지 않는 Tap Trust 도입
  - 내부 JSON API 기본화, 리눅스 샌드박스, brew bundle 병렬 설치, macOS 27 초기 지원도 같이 들어감

- Tap Trust는 홈브루 사용자라면 꽤 체감될 변화임
  - 서드파티 tap에는 임의의 Ruby 코드가 들어갈 수 있고, 그 코드가 사용자의 머신에서 샌드박스 없이 실행될 수 있었음
  - 이제 공식 Homebrew tap은 기본 신뢰되지만, 외부 tap과 tap-qualified formula/cask는 명시적으로 신뢰해야 평가되거나 실행됨
  - `brew tap`, `brew trust`, `brew tap-info`, `brew bundle`에도 신뢰 상태를 관리하거나 기록하는 기능이 붙음

> [!WARNING]
> 서드파티 tap을 자동으로 가져와 설치하던 스크립트가 있다면 이번 변화에 걸릴 수 있음. 보안상 맞는 방향이지만, CI나 bootstrap 스크립트는 신뢰 설정을 명시해야 할 가능성이 큼.

- 내부 JSON API가 기본값이 된 것도 꽤 큰 방향 전환임
  - 홈브루의 메타데이터를 단일 다운로드로 합쳐서 가져오므로 `brew update`가 더 빨라지고 네트워크 왕복도 줄어듦
  - 5.0.0부터 `HOMEBREW_USE_INTERNAL_API`로 opt-in 가능했던 기능인데, 이제 기본값이라 해당 환경변수는 deprecated 처리됨
  - 단순 성능 최적화가 아니라, 설치 전에 Ruby 파일을 평가하는 일을 줄이는 쪽과도 맞물려 있음

- 리눅스 홈브루도 macOS 쪽 보안 모델에 가까워짐
  - Bubblewrap 기반 리눅스 샌드박스가 도입됐고, 개발자 환경에서는 기본으로 켜짐
  - 빌드, 테스트, postinstall 단계의 격리를 강화했고 cask executable hook도 샌드박스 대상에 포함됨
  - Ubuntu 호스팅 환경에는 Bubblewrap 설치까지 반영됐고, syntax-only 작업은 샌드박스 설정을 건너뛰도록 정리됨

- 사용자 설문을 반영해 기본 동작도 더 ‘묻고 가는’ 쪽으로 바뀜
  - 개발자에게 `ask` 모드가 기본이 되면서 `brew install`, `brew upgrade`가 의존성 변경 요약과 확인 프롬프트를 보여줌
  - upgrade 대상이 없으면 프롬프트를 생략하고, fetch 전에 요약을 더 일찍 보여주는 식으로 UX를 다듬음
  - 실수로 대량 업그레이드를 돌리는 사고를 줄이는 쪽이라, 회사 장비나 긴급 상황에서는 은근히 반가운 변화임

- `brew bundle`은 자동화 쪽에서 꽤 많이 강화됨
  - formula 설치가 자동 병렬 실행으로 바뀌었고, npm, krew, cargo, go, uv 쪽 cleanup 지원도 늘어남
  - Windows에서는 `winget` 지원이 들어가서 홈브루가 WSL/윈도우 개발 환경까지 더 노골적으로 노림
  - cleanup 시 삭제 전 확인을 묻고, npm 설치를 더 안전하게 처리하는 등 공급망 리스크 의식도 같이 들어감

- 성능 개선도 숫자로 박아놨음
  - `brew leaves`가 약 30% 빨라졌고, upgrade 때 bottle tab fetch를 병렬화함
  - Ruby 라이브러리 로딩을 줄여 시작 성능도 개선함
  - Rust로 일부 프론트엔드를 옮기던 `brew-rs` 실험은 종료됐는데, 대표적인 전체 설치 시나리오에서는 충분한 이득이 안 나왔다는 설명임

> [!IMPORTANT]
> 홈브루 팀은 Rust가 무조건 빠르다는 식의 벤치마크를 받아들이지 않았음. 캐시된 bottle fetch 같은 좁은 케이스가 아니라, bottle 붓기, 링크, 메타데이터 기록, 헬스체크까지 포함한 실제 설치 흐름에서 비교했다는 점이 포인트임.

- macOS 쪽 로드맵도 꽤 선명해짐
  - macOS 27, 코드명 Golden Gate의 초기 지원이 추가됨
  - 다만 macOS 27이 Intel을 지원하지 않기 때문에 2026년 9월부터 macOS Intel x86_64는 Tier 3로 내려감
  - 2027년 9월에는 macOS Intel x86_64 지원이 완전히 종료되고 관련 코드도 삭제될 예정

- 보안 권고도 3건 공개됐고 전부 실제 영향이 있는 이슈였음
  - POST download strategy가 HTTPS-to-HTTP redirect 보호를 우회할 수 있던 문제는 secure redirect 강제로 수정됨
  - macOS `.pkg` postinstall에서 Git hook을 통한 root code execution 가능성이 있었고, installer git directory 교체와 git 상태 정리로 막음
  - `/var/tmp`의 사용자 제어 plist를 신뢰해 로컬 공격자에게 Homebrew 소유권을 줄 수 있던 문제도 패키지 사용자 plist 처리 변경으로 수정됨

- 앞으로 홈브루는 ‘어디서나 쓰는 패키지 매니저’ 방향을 더 세게 잡는 중임
  - Microsoft의 Windows Developer Config에서 WSL 편의용으로 추천되고, Bazzite에서도 잘 동작한다고 언급함
  - `brew bundle`의 Windows-only `winget` 지원도 그 흐름에 있음
  - 동시에 npm, PyPI, RubyGems 같은 생태계의 공급망 리스크를 의식해 cooldown, sandboxing, 환경변수 필터링 같은 방어선을 계속 추가하는 중임

---

## 기술 맥락

- 이번 Tap Trust는 단순히 경고 문구 하나 추가한 게 아니에요. 홈브루 tap은 패키지 목록처럼 보이지만 실제로는 Ruby 코드가 들어 있는 저장소라서, 설치 전에 그 코드를 평가하는 순간 이미 공격 표면이 열리거든요.

- 내부 JSON API 기본화도 같은 방향이에요. 패키지 메타데이터를 얻기 위해 코드를 더 많이 실행하는 대신, 구조화된 JSON을 내려받아 처리하면 네트워크도 줄고 실행해야 하는 동적 코드도 줄어요. 성능 개선과 보안 개선이 같은 선택지에 올라탄 케이스예요.

- 리눅스 샌드박스는 홈브루가 macOS만의 도구에서 벗어나는 과정에서 필요한 정리예요. macOS에서는 이미 빌드, 테스트, postinstall 단계가 샌드박스에서 돌았는데, 리눅스 사용자가 늘수록 같은 수준의 격리 모델이 필요해졌거든요.

- `brew-rs` 종료는 꽤 현실적인 판단이에요. 언어를 Rust로 바꿨다는 사실보다, 실제 사용자가 겪는 전체 설치 경로에서 병목이 어디인지가 더 중요하다는 뜻이에요. 홈브루는 프론트엔드 언어 교체보다 Ruby 경로 최적화와 네트워크·디스크 I/O를 더 빨리 시작하는 쪽을 선택했어요.

## 핵심 포인트

- 서드파티 탭은 명시적으로 신뢰해야 코드가 평가되거나 실행됨
- 내부 JSON API가 기본값이 되면서 업데이트 네트워크 호출과 메타데이터 다운로드가 줄어듦
- 리눅스에서도 Bubblewrap 기반 샌드박스가 도입돼 macOS와 보안 모델이 가까워짐
- 2026년 9월부터 macOS Intel은 Tier 3로 내려가고 2027년 9월에는 지원 종료 예정
- brew-rs 실험은 대표 설치 시나리오에서 충분한 이득을 못 보여 종료됨

## 인사이트

이번 릴리스는 ‘패키지 매니저 기능 추가’보다 ‘신뢰할 수 없는 패키징 생태계를 어떻게 덜 위험하게 다룰 것인가’에 훨씬 가깝다. 개발자 입장에서는 brew 명령이 조금 더 물어보고, 조금 더 안전하게 막고, 대신 자동화 스크립트는 신뢰 설정을 명확히 해야 하는 방향으로 바뀐 셈이다.
