Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Hardened Runtime on macOS #133

Merged
merged 1 commit into from
Jan 9, 2024
Merged

Enable Hardened Runtime on macOS #133

merged 1 commit into from
Jan 9, 2024

Conversation

lunacookies
Copy link
Collaborator

Using the Hardened Runtime without any exceptions set means pipes-rs cannot access the user’s camera, microphone, location, address book, calendar or photo library. Moreover, a third party can no longer inject code into pipes-rs by:

  • modifying dynamic libraries that pipes-rs uses
  • using the macOS equivalent of LD_PRELOAD
  • exploiting bugs in runtime machine code generation
  • attaching a debugger and patching the program as it’s running

If someone really really needs to debug a release build (like that’s ever gonna happen lol) then removing the signature from the binary and signing it again without the Hardened Runtime is easy enough:

$ codesign --remove-signature $(which pipes-rs)
$ codesign --sign - $(which pipes-rs)

Copy link
Owner

@lhvy lhvy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should probably bump the version after this

@lunacookies lunacookies merged commit a9cca64 into master Jan 9, 2024
4 checks passed
@lunacookies lunacookies deleted the hardened-runtime branch January 9, 2024 06:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants