O Homebrew 6.0 Acabou de Mudar Como o Seu Mac Instala Softwares

BBetter Stack
컴퓨터/소프트웨어AI/미래기술

Transcript

00:00:00Há alguns meses, neste mesmo canal, fizemos um vídeo que basicamente chamava o Homebrew
00:00:05de algo da Idade da Pedra, só usado porque o Nix dá um banho nele. Então é justo que eu
00:00:12volte aqui para dizer isto: a coisa da Idade da Pedra que usávamos acabou de lançar sua primeira
00:00:17versão principal em anos, o Homebrew 6.0. E aqui está a grande novidade: o destaque não é um monte de novas
00:00:23funcionalidades, mas sim uma reformulação completa de segurança. O Homebrew finalmente amadureceu.
00:00:30Agora, deixe-me explicar o que realmente mudou, porque é mais interessante do que apenas um número de versão maior.
00:00:38Durante basicamente toda a existência do Homebrew, quando você adicionava um tap de terceiros — o repositório de pacotes de outra pessoa —
00:00:45o Homebrew simplesmente executava o código Ruby deles. Ele executava sem hesitar. Qualquer tap,
00:00:51código arbitrário, sem fazer perguntas. Pense no mundo em que vivemos hoje.
00:00:56Os gerenciadores de pacotes são o alvo número um para ataques de cadeia de suprimentos no momento. NPM e todos os outros
00:01:01sendo atingidos sem parar. Executar qualquer código que o repositório nos entrega é um péssimo padrão. E a nova funcionalidade do Homebrew 6.0
00:01:08veio para acabar com isso. Ela se chama Tap Trust. Se você gosta de dicas e truques de programação como este,
00:01:15não se esqueça de se inscrever. Temos vídeos novos a todo momento. Mas deixe-me começar pela parte que você
00:01:19vai sentir no dia a dia. “brew version”. Aí está: 6.0. Agora veja o que acontece quando instalo
00:01:25algo que traz algumas dependências. Em vez de fazer tudo silenciosamente, o Brew agora exibe
00:01:31um resumo de tudo o que está prestes a instalar e espera pela minha confirmação. Esse é o novo modo Ask,
00:01:38que já vem ativado por padrão para desenvolvedores. Uma mudança sutil, mas que garante que você veja o plano antes do Brew
00:01:44mexer em qualquer coisa da sua máquina. Agora o principal: o Tap Trust. Veja quando adiciono um tap de terceiros.
00:01:50O Homebrew me interrompe na hora. Ele diz que o tap ainda não é confiável e não executará uma linha sequer de código
00:01:56até que eu autorize explicitamente. Eu o marco como confiável usando “brew trust” e só então ele realmente
00:02:03executa. Os taps oficiais do Homebrew já são confiáveis de fábrica. Então, sua rotina normal de uso do Brew
00:02:09continua exatamente a mesma. Mas aquele tap suspeito de um desconhecido do GitHub que você achou num LEAME,
00:02:16agora funciona como uma porta trancada. Você precisa aprovar manualmente. E para ser sincero,
00:02:20essa foi uma decisão muito sábia no cenário atual. E essa não é a única grande melhoria.
00:02:25O sistema interno de metadados agora é o padrão, o que significa que todas as informações dos pacotes vêm em um
00:02:30único download rápido em vez de dezenas de requisições. Com isso, o “brew update” ficou muito mais rápido. Há também um
00:02:37comando novinho em folha, “brew execute”, que é basicamente o npx do Homebrew. Rode uma ferramenta uma única vez sem precisar
00:02:45instalá-la permanentemente no seu sistema. Há o “brew vulns”, que analisa os pacotes já instalados em busca de
00:02:51falhas de segurança conhecidas e alertas. E o 6.0 corrigiu discretamente três vulnerabilidades de segurança, incluindo uma que podia executar
00:02:58código como root através do instalador do Mac. Esta é uma atualização de respeito. Certo, mas aqui está o
00:03:04ponto de atenção nisso tudo. E para alguns de vocês, será um grande detalhe, então não vou esconder de ninguém.
00:03:09O Tap Trust é uma mudança com incompatibilidade retroativa. Se você tem pipelines de CI que dependem de taps de terceiros,
00:03:14o “brew doctor” agora gera um erro no momento em que detecta um tap não confiável. E muitas das rotinas padrão do GitHub
00:03:20Actions executam o “brew doctor” logo na primeira etapa. Por isso, quando as pessoas atualizaram, os builds simplesmente começaram a falhar.
00:03:28A solução é marcar esses taps como confiáveis na sua configuração, mas você mesmo precisa fazer essa alteração.
00:03:35Ninguém vai fazer isso por você. O mesmo vale para o modo Ask. Se você tem scripts que presumiam
00:03:41instalações do Brew sem confirmação, esse novo prompt pode fazer tudo travar indefinidamente. Mas vendo o panorama geral,
00:03:46se você é um usuário comum apenas instalando aplicativos no dia a dia, quase nada parece ter mudado.
00:03:51Trata-se de um lançamento focado em segurança e arquitetura, não apenas uma maquiagem visual. E vale desfazer um mito aqui:
00:03:58Muitas ferramentas estão sendo reescritas em Rust. Não, o Homebrew não está sendo reescrito em Rust,
00:04:04pelo menos não agora. Aquilo foi apenas um experimento. O foco voltou totalmente para a base de código em Ruby, como
00:04:10sempre esteve. Afinal, vale a pena atualizar para o Homebrew 6.0? Para quase todo mundo, a resposta é sim.
00:04:16Você recebe três correções de segurança e, para falar a verdade, o “brew update” vai atualizar você para o 6.0
00:04:22quer você tenha se planejado para isso ou não. Agora, as pessoas que talvez precisem ir com um pouco mais de calma
00:04:27são as que gerenciam CI com taps de terceiros ou automações que esperam instalações silenciosas. Resolva essas dependências
00:04:33primeiro e estará tudo certo. E se você ainda usa um Mac com Intel, fique atento: o 6.0 estabelece o cronograma
00:04:40para encerrar o suporte ao Intel nos próximos anos. Já quem usa Apple Silicon, os computadores mais recentes,
00:04:46pode ficar totalmente tranquilo. O update adiciona inclusive suporte aos novos chips M5. Eu resumiria a situação assim:
00:04:53Por anos, o Homebrew foi uma facilidade, para dizer o mínimo — a forma mais rápida de colocar softwares em um
00:04:59Mac. Com a versão 6.0, ele se transformou em uma espécie de ponto de verificação, onde o código
00:05:05que entra na sua máquina finalmente precisa provar que é confiável. Esse é um grande passo. O gerenciador de pacotes
00:05:10se adaptou ao modelo de ameaças no qual todos nós já vivemos há anos. É isso que realmente
00:05:15importa aqui. Não o número da versão em si, seja 6.0 ou 6.1, mas o que veio junto com ela. Se você gosta de dicas e truques
00:05:21de programação como este, inscreva-se no canal do BetterStack. Nos vemos no próximo vídeo.

Key Takeaway

O Homebrew 6.0 reformula a segurança do sistema no Mac ao introduzir a verificação obrigatória de taps de terceiros via “brew trust” e confirmações prévias de instalação com o modo Ask.

Highlights

  • O Homebrew 6.0 exige autorização explícita através do comando “brew trust” antes de executar códigos de taps de terceiros.

  • O novo modo Ask vem ativado por padrão para desenvolvedores e exibe um resumo com solicitação de confirmação antes de qualquer instalação.

  • Três vulnerabilidades de segurança foram corrigidas na versão 6.0, incluindo uma falha de execução de código como root no instalador do macOS.

  • O comando “brew execute” permite rodar ferramentas pontualmente sem a necessidade de instalação permanente no sistema.

  • Pipelines de CI/CD que executam “brew doctor” falham com a atualização caso dependam de taps de terceiros não autorizados.

  • A nova versão adiciona suporte aos chips Apple Silicon M5 e estabelece um cronograma para encerrar o suporte à arquitetura Intel nos próximos anos.

Timeline

Reformulação de segurança com o Tap Trust e o modo Ask

  • O Homebrew 6.0 substitui a execução automática de código de terceiros pelo recurso Tap Trust.
  • O modo Ask exige confirmação do usuário exibindo um resumo detalhado antes de modificar o sistema.
  • Repositórios oficiais do Homebrew mantêm a confiança prévia de fábrica.

Historicamente, o gerenciador executava scripts Ruby de repositórios externos sem restrições, expondo o sistema a ataques na cadeia de suprimentos de software. Com o recurso Tap Trust, pacotes de terceiros permanecem bloqueados até que o comando “brew trust” seja executado manualmente. O modo Ask é ativado por padrão para desenvolvedores e exige aprovação explícita antes de qualquer alteração no disco.

Novos comandos, otimizações e correções de vulnerabilidades

  • A unificação de metadados em um único download acelera a execução do “brew update”.
  • O comando “brew execute” roda utilitários temporários no estilo do npx.
  • A ferramenta “brew vulns” analisa o sistema em busca de vulnerabilidades em pacotes instalados.

A arquitetura de metadados passou a consolidar as informações de pacotes em uma única requisição, reduzindo o tempo de atualização. O utilitário “brew execute” permite a execução pontual de softwares sem a necessidade de instalação permanente. Além disso, a atualização corrigiu três falhas de segurança internas, incluindo um vetor de escalada de privilégios para root no instalador do macOS.

Impactos em automações de CI/CD e suporte a hardware

  • O comando “brew doctor” gera erro e interrompe fluxos no GitHub Actions que utilizam taps não confiáveis.
  • A base de código continua em Ruby, descartando reescritas em Rust.
  • O suporte à arquitetura Intel será encerrado progressivamente nos próximos anos.

A exigência do Tap Trust introduz quebras de compatibilidade em pipelines de integração contínua que dependem de etapas como “brew doctor”. A resolução exige a inclusão manual de permissões de confiança nas configurações de automação. Em termos de hardware, a versão adiciona suporte oficial aos chips Apple Silicon M5 e define a descontinuação gradual de computadores com processadores Intel.

Community Posts

View all posts