Heed is a small macOS agent maintained by one person. Please report anything that looks like a vulnerability, even if you are not sure; a report that turns out to be a plain bug costs nothing.
Only the latest release gets fixes. Older versions are not patched, so a fix always means upgrading:
brew upgrade --cask rbstp/tap/heedThe installed version is in the menu bar item, or from Heed --version.
Report privately through GitHub, which keeps the report invisible until a fix ships:
https://github.com/rbstp/heed/security/advisories/new
Please do not open a public issue, a pull request, or a discussion for a vulnerability -- those are world-readable from the moment they are filed.
A report is most useful with the Heed version and the macOS version, what an attacker gains from it, and the shortest way to reproduce it. A crash report or a sample is welcome; please strip anything private from it, since window titles and file paths are often in there.
What to expect:
- an acknowledgement within 7 days,
- an assessment within 14 days, saying whether it is accepted and how severe it looks,
- a fix in a release, and a published advisory crediting you unless you would rather stay anonymous, within 90 days of the report.
Those are targets for a spare-time project, not a contract. If a deadline slips you will hear why rather than nothing. You are welcome to disclose publicly 90 days after reporting, sooner if a fix has already shipped.
In scope, roughly in the order of how much they would worry me:
- anything that lets another process make Heed act on its behalf, including the
heed://URL scheme, the command line interface and the shortcuts Heed takes away from other apps -- Heed holds an Accessibility grant, so acting on its behalf means driving other applications' windows, - anything that reads or changes what Heed sees of other applications beyond focusing their windows,
- the
io.github.rbstp.heeddefaults domain as privilege escalation: a value that turns into code Heed runs, - the release path -- the signed and notarized archive, its checksum, the Homebrew cask, and the workflow that produces them.
Out of scope:
- anything that needs the Accessibility grant to already be given to the attacker's own process, since macOS treats that grant as full control of the session,
- anything that needs administrator rights or physical access to a logged-in Mac,
- window titles or window geometry being visible to Heed itself; that is the entire point of it,
- reports from a scanner with no working path to abuse behind them,
- the vulnerabilities of other window managers, or of macOS itself -- report those to Apple.