티스토리 수익 글 보기

티스토리 수익 글 보기

Jekyll2025-11-05T08:41:36+00:00https://brew.sh/atom.xmlHomebrewThe Missing Package Manager for macOS (or Linux).4.6.02025-08-05T00:00:00+00:002025-08-05T00:00:00+00:00https://brew.sh/2025/08/05/homebrew-4.6.0Today, I’d like to announce Homebrew 4.6.0. The most significant changes since 4.5.0 are opt-in concurrent downloads with HOMEBREW_DOWNLOAD_CONCURRENCY, preliminary macOS 26 (Tahoe) support and a built-in brew mcp-server.

Major changes and deprecations since 4.5.0:

Other changes since 4.5.0 I’d like to highlight are the following:

Finally:

Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far.

]]>
MikeMcQuaid4.5.02025-04-29T00:00:00+00:002025-04-29T00:00:00+00:00https://brew.sh/2025/04/29/homebrew-4.5.0Today, I’d like to announce Homebrew 4.5.0. The most significant changes since 4.4.0 are major improvements to brew bundle/services, preliminary Linux support for casks, official Support Tiers, Tier 2 ARM64 Linux support, Ruby 3.4 and several deprecations.

Major changes and deprecations since 4.4.0:

brew bundle and brew services

Linux casks

Support Tiers

ARM64 Linux

Ruby

Deprecations

Other changes since 4.4.0 I’d like to highlight are the following:

Finally:

Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far.

]]>
MikeMcQuaidHomebrew’s new git signing key2025-02-03T00:00:00+00:002025-02-03T00:00:00+00:00https://brew.sh/2025/02/03/Homebrew-git-signingOver the next few days, Homebrew’s repositories will begin to transition from PGP-based signing to SSH-based signing for @BrewTestBot commits.

As part of this change, we will be rotating our @BrewTestBot’s key. This rotation should not affect most users, but you may notice it if you currently manually verify git commits from Homebrew/brew, Homebrew/homebrew-core, or similar.

Once all repositories have been transitioned, we will revoke the old PGP key to prevent unintended future use:

  • Main key: 3C76C3F1E573FA9E
  • Signing subkey: 82D7D104050B0F0F

The new SSH signing key has the following public half:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE0QzQJ6gl6Yxru0QrSaDRNatiHajcKxDu9lxQrFl8Nw

Users can also discover this signing key programmatically through GitHub’s REST API:

$ gh api /users/BrewTestBot/ssh_signing_keys
[
  {
    "id": 475371,
    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE0QzQJ6gl6Yxru0QrSaDRNatiHajcKxDu9lxQrFl8Nw",
    "title": "BREWTESTBOT_SSH_SIGNING_KEY",
    "created_at": "2025-02-03T17:50:27.377+01:00"
  }
]
]]>
woodruffwHomebrew and Workbrew2024-11-19T00:00:00+00:002024-11-19T00:00:00+00:00https://brew.sh/2024/11/19/homebrew-and-workbrewHomebrew is pleased to congratulate Workbrew on their 1.0 launch today. Workbrew is a company founded by several Homebrew members and the Project Leader, @MikeMcQuaid, to use Homebrew as the foundation of a secure software delivery platform. Workbrew’s product is out of beta and ready to solve your workplace’s problems with securing Homebrew at scale, so go check it out!

We understand that the community will, rightly, have questions. You’ll find some answers below. This relationship is mutually beneficial: Workbrew employees work on Homebrew during working hours, and Workbrew sponsors Homebrew on GitHub Sponsors. Workbrew’s founders care deeply about the success and independence of Homebrew.

Homebrew itself is and will always remain open source and free (as in speech and beer 🍺).

Homebrew and Workbrew FAQs

Homebrew is an open source project and part of the non-profit Open Source Collective run by unpaid volunteers (bar a small $300/month stipend for opted-in active maintainers).

Workbrew is a product (with paid tiers) and company run by founders and employees.

At the time of writing, some of Homebrew and Workbrew’s leadership overlap (@MikeMcQuaid, @mozzadrella) and Workbrew employs some Homebrew maintainers (@Bo98, @carlocab).

Is Workbrew in control of Homebrew?

No. Homebrew has an independent governance structure that can only be changed through a supermajority of votes cast. Homebrew’s Project Leadership Committee (PLC) restricts any employer (including Workbrew) from holding more than 2 seats on the PLC.

Additionally, on the code side, Homebrew is BSD-2 licensed with no CLA and >10,000 contributors.

In practice, this means that neither Homebrew or Workbrew could relicense Homebrew without >10,000 people agreeing to it (or their code being rewritten) which is essentially impossible.

Is Workbrew going to make us pay for Homebrew?

No. Only Homebrew could decide to do this and we have no plans to do so. Workbrew includes Homebrew and charges money for certain Workbrew plans – as permitted by Homebrew’s license – but cannot ever make Homebrew not open source.

Did Homebrew know this was coming?

Yes. Workbrew kept Homebrew’s leadership, maintainers and membership in the loop from early in the company’s conception. We’re very grateful for this transparency.

]]>
issyl04.4.02024-10-01T00:00:00+00:002024-10-01T00:00:00+00:00https://brew.sh/2024/10/01/homebrew-4.4.0Today, I’d like to announce Homebrew 4.4.0. The most significant changes since 4.3.0 are official macOS Sequoia (15) support, INSTALL_RECEIPT.json files for casks, macOS Monterey (12) deprecation and various other deprecations.

Major changes and deprecations since 4.3.0:

Other changes since 4.3.0 I’d like to highlight are the following:

Finally:

Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far.

]]>
MikeMcQuaid2023 Security Audit2024-07-30T00:00:00+00:002024-07-30T00:00:00+00:00https://brew.sh/2024/07/30/homebrew-security-auditHomebrew had a security audit performed in 2023. This audit was funded by the Open Technology Fund and conducted by Trail of Bits. Trail of Bits’ report contained 25 items, of which 16 were fixed, 3 are in progress, and 6 are acknowledged by Homebrew’s maintainers. Below is the scope of testing, findings by severity, and mitigation and acknowledgements.

You can read Trail of Bits’ blog post on the audit here and find the full public report here.

Homebrew’s maintainers and Project Leadership Commitee would like to thank Open Technology Fund and Trail of Bits for sponsoring and running this engagement. Our partnership directly improves the security of Homebrew and open source software in general.

Scope: Homebrew/brew, Homebrew/actions, Homebrew/formulae.brew.sh, Homebrew/homebrew-test-bot.

Findings by severity:

  • High: 0
  • Medium: 14
  • Low: 2
  • Informational: 7
  • Undetermined: 2

Mitigation & acknowledgement:

  1. Path traversal during file caching
  2. Sandbox escape via string injection
  3. Allow default rule in sandbox configuration is overly permissive
  4. Special characters are allowed in package names and versions
    • Status: Acknowledged
  5. Use of weak cryptographic digest in Formulary namespaces
  6. Extraction is not sandboxed
    • Status: Acknowledged
  7. Use of ldd on untrusted inputs
  8. Formulas allow for external resources to be downloaded during the install step
  9. Use of Marshal
  10. Lack of sandboxing on Linux
    • Status: Acknowledged
  11. Sandbox escape through domain socket pivot on macOS
  12. Formula privilege escalation through sudo
  13. Formula loading through SFTP, SCP, and other protocols
  14. Sandbox allows changing permissions for important directories
  15. Homebrew supports only end-of-life versions of Ruby
  16. Path traversal during bottling
  17. FileUtils.rm_rf does not check if files are deleted
  18. Use of pull_request_target in GitHub Actions workflows
    • Status: Fixed: 1, 2.
  19. Use of unpinned third-party workflow
    • Status: Fixed across the codebase via multiple PR’s.
  20. Unpinned dependencies in formulae.brew.sh
  21. Use of RSA for JSON API signing
    • Status: Acknowledged. Ed25519 was not an option when this was introduced. The next key reroll will use Ed25519.
  22. Bottles beginning “-“ can lead to unintended options getting passed to rm
  23. Code injection through inputs in multiple actions
    • Status: Fixed across the codebase via multiple PR’s.
  24. Use of PGP for commit signing
    • Status: Acknowledged. Plans to remove the bot account using PGP have been established.
  25. Unnecessary domain separation between signing key and key ID
    • Status: Acknowledged. Will be resolved with the next key reroll.
]]>
p-linnaneHomebrew’s Summer 2024 Hackathon2024-07-26T00:00:00+00:002024-07-26T00:00:00+00:00https://brew.sh/2024/07/26/homebrew-summer-2024-hackathonThe Homebrew Summer 2024 Hackathon brought together maintainers from across the globe to focus on enhancing security and performance aspects of Homebrew. Held July 16 to July 20 and hosted at IndyHall in Philadelphia, the event aimed to address issues identified in last year’s security audit from Trail of Bits, and to optimize the software’s performance. This post will share outcomes from the event, evaluate the effectiveness of the gathering, and serve as a blueprint for other open source projects who are considering in-person events as a way to make focused progress.

Background

Since 2019, Homebrew’s maintainers meet annually for the “Annual General Meeting” in Brussels, Belgium. At AGM’s inception, Brussels was deemed a convenient location for the predominantly European team to coincide with the free FOSDEM conference. Since then, the global distribution of the core team has expanded.

At the same time, maintenance issues related to performance (the not-so-glamorous tasks of running a mature project that the whole world relies upon) and the remaining pieces of the Trail of Bits Security Audit needed to be completed.

The Project Leadership Team decided to undertake an experiment: our first North American in-person event, thematically focused and with an application process.

Hackathon Application

Of the 16 applications, 12 participants were accepted.

Event design + impact

On the first day of the three-day event, Project Leader Mike McQuaid gave a presentation about how to triage and measure the highest-impact performance-related issues:

Mike McQuaid presentation

From there, participants tackled high-priority issues, raising pull requests in the dedicated Slack channel to ensure speedy reviews.

Participants worked synchronously and co-located over three days, with standup around 9:30am and departing at 5:00pm. Dinners were optional but provided opportunities for additional discussion:

Group dinner

Impact

Participants made significant progress in the following areas:

  • Security Issues: Several contributors focused on fixing security vulnerabilities highlighted in the Trail of Bits Homebrew audits, such as sandboxing improvements, GitHub Actions security, and privilege escalation prevention.
  • Performance Enhancements: Efforts were made to speed up operations like concurrent downloads and repository handling, resulting in significant gains.

Outcomes

In addition to the direct impact participants had by shipping code, there’s some evidence that this in-person gathering may have increased the capacity of maintainers in areas of security and performance, which will ultimately benefit the project in the future:

1 = least likely, 5 = most likely

Performance Survey Results

Security Survey Results

While the event seemed successful to us as organizers, we also wanted to hear from the participants themselves as part of our evaluation.

Event evaluation

Overall, the hackathon received positive feedback:

  • Organizational Success: Participants praised the event’s organization, particularly highlighting Vanessa’s efforts and the conducive environment at IndyHall.
  • Productive Collaboration: The in-person collaboration facilitated rapid progress and effective problem-solving, which participants found highly beneficial. Direct interaction enabled efficient idea exchange and immediate problem resolution. Participants appreciated the social interactions and the chance to work closely with peers they usually communicate with asynchronously.

Participants themselves assessed the event as successful:

1 = least successful, 5 = most successful

Event Success Results

One of the unexpected effects of the rapid progress was a flurry of notifications for the maintainers who were not attending the event:

Notification Spam

Apologies, Eric.

First-person accounts

In their own words, participants identified key benefits:

What in particular made the Hackathon successful or not successful?

  • A fun experience overall, I got to work on aspects of Homebrew that I had never dealt with before and met some wonderful people!
  • The efficient exchange of ideas made it very successful in my opinion. We have probably never had a time when we were able to fix this many issues and make this many improvements to Homebrew within such a short period.
  • There were a lot – we fixed many problems, had various foods, and had a great time together. If I had to choose one, it would still be about the in-person nature of the event. It not only made it much easier to share ideas, but also strengthened the bond between our maintainers.
  • The list of issues from the audit helped to outline the work to be done.
  • The organization – Vanessa did an awesome job – thank you! The security stuff was awesome to get some issues burned down. Philly’s a great city. IndyHall is a great venue. And it was really nice to just be!
  • Two fixed themes for the hackathon kept people focused, IMO
  • The availability of a list of issues to select from and work together with people
  • I feel like a lot was done, but with such vague goals it’s hard to tell if all were met.
  • Full focus, no distractions.
  • I feel that a lot was accomplished in a short amount of time. It was clear everyone came ready to work and the attitude of all maintainers was so upbeat.
  • All being in the same room together was great for productivity because we could easily bounce ideas and discuss with each other without dealing with timezone differences. When I was working on problems that I didn’t understand super well, I could just ask other people for help and get it immediately.

Areas for Improvement

As an experiment, we were keen to hear how we might improve the structure to be more effective. Attendees had feedback in the following areas:

  • Task Clarity: More structured task lists, especially for performance-related issues, would provide clearer direction.
  • Schedule Optimization: Participants suggested better time management, including more structured breaks and optional cultural activities.
  • Constructive Feedback: Some participants desired a mid-day stand-up for better synchronization and clarity.

Overall, the event not only addressed critical technical challenges but also strengthened the bonds within the Homebrew community, setting a positive precedent for future collaborative efforts.

]]>
mozzadrella4.3.02024-05-14T00:00:00+00:002024-05-14T00:00:00+00:00https://brew.sh/2024/05/14/homebrew-4.3.0Today, I’d like to announce Homebrew 4.3.0. The most significant changes since 4.2.0 are SBOM support, initial bottle attestation verification, new command analytics and uninstall autoremove by default.

Major changes and deprecations since 4.2.0:

Other changes since 4.2.0 I’d like to highlight are the following:

Finally:

Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far.

]]>
MikeMcQuaid4.2.02023-12-18T00:00:00+00:002023-12-18T00:00:00+00:00https://brew.sh/2023/12/18/homebrew-4.2.0Today, I’d like to announce Homebrew 4.2.0. The most significant changes since 4.1.0 are some major performance upgrades (e.g. using Ruby 3.1, upgrading fewer dependencies), .env file configuration and macOS Sonoma support.

Major changes and deprecations since 4.1.0:

Other changes since 4.1.0 I’d like to highlight are the following:

Finally:

Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far.

]]>
MikeMcQuaid4.1.02023-07-20T00:00:00+00:002023-07-20T00:00:00+00:00https://brew.sh/2023/07/20/homebrew-4.1.0Today, I’d like to announce Homebrew 4.1.0. The most significant changes since 4.0.0 are significant improvements to the security/reliability/performance/usability of Homebrew 4.0.0’s new JSON API, the completion of the migration of analytics from Google Analytics in the US to InfluxDB in the EU and groundwork for later macOS Sonoma (14) support.

Major changes and deprecations since 4.0.0:

Other changes since 4.0.0 I’d like to highlight are the following:

Finally:

Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far.

]]>
MikeMcQuaid