
No último verão, realizamos uma auditoria no Homebrew, uma ferramenta essencial para desenvolvedores de software que gerencia pacotes no macOS e Linux. A auditoria abrangeu o próprio Homebrew/brew, além de três repositórios adjacentes essenciais para a segurança operacional do Homebrew, incluindo Homebrew/actions, Homebrew/formulae.brew.sh e Homebrew/homebrew-test-bot. Identificamos problemas que, embora não críticos, permitiriam a execução de código executável em momentos inesperados, comprometendo as garantias de integridade proporcionadas pela sandbox do Homebrew. Também observamos vulnerabilidades nos processos de CI/CD do Homebrew que poderiam permitir a modificação oculta dos builds de binários e, potencialmente, permitir que um ator manipulasse os fluxos de trabalho de CI/CD e exfiltrasse seus segredos. Este estudo foi patrocinado pelo Open Tech Fund, como parte de sua missão de proteger componentes críticos da infraestrutura da internet. Homebrew, desde sua criação em 2009, passou por várias mudanças arquitetônicas para melhorar a confiabilidade e usabilidade dos pacotes fornecidos aos usuários. Apesar dessas melhorias, a base de código do Homebrew continua fundamentalmente dinâmica, refletindo a necessidade histórica de carregar formulações especificadas por DSL através de código Ruby controlado pelo usuário. Durante nossa revisão do código-base do brew CLI, descobrimos várias falhas que, embora não críticas, poderiam potencialmente comprometer a integridade e as propriedades de isolamento por fórmula do Homebrew. Além disso, nossa análise dos workflows e ações de CI/CD do Homebrew revelou práticas que poderiam comprometer a integridade das execuções de CI/CD do Homebrew, permitindo que um usuário menos privilegiado ganhasse posições de maior privilégio ou mesmo obtivesse persistência nos runners de GitHub Actions hospedados pelo Homebrew. A auditoria de um ecossistema de gerenciamento de pacotes como o Homebrew apresenta desafios únicos, pois ferramentas locais de gerenciamento de pacotes instalam e executam código arbitrário de terceiros por design. Agradecemos aos mantenedores do Homebrew e ao Homebrew PLC por compartilhar seu conhecimento e expertise, e a Patrick Linnane, gerente de segurança do Homebrew, por seus esforços de triagem e coordenação.
Confira os últimos vídeos publicados no canal