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

Deliver macOS binaries in a way that doesn't require security overrides #280

Open
ahl opened this issue Jul 13, 2023 · 4 comments
Open

Deliver macOS binaries in a way that doesn't require security overrides #280

ahl opened this issue Jul 13, 2023 · 4 comments

Comments

@ahl
Copy link
Collaborator

ahl commented Jul 13, 2023

This might mean signing the binary, but I notice that binaries installed by Homebrew aren't signed. We may need to provide instructions for downloading and installing the cli in a way that doesn't incur the security red flags.

@ahl ahl changed the title Sign macOS published binary artifacts Deliver macOS binaries in a way that doesn't require security overrides Jul 18, 2023
@ahl
Copy link
Collaborator Author

ahl commented Jul 18, 2023

This allegedly removes the warning xattr -dr com.apple.quarantine oxide

@ahl
Copy link
Collaborator Author

ahl commented Jul 25, 2023

I think we may need to create and sign an installer--not the binary itself.

@elaine-oxide
Copy link
Contributor

I decided to download the pre-built macOS Apple Silicon binary for the Oxide CLI from:
https://github.com/oxidecomputer/oxide.rs/releases
(today is v0.5.0+20240502.0)

In the macOS Terminal window, I verified the checksum with shasum -a 256 <filename>, then I did tar xvf <filename>.

Then still in the macOS Terminal window, I immediately tried to run ./oxide --help.

Since the oxide binary is not signed, it popped up a window with two useless buttons (window which I can no longer easily regenerate for testing purposes, as undoing the exception below is too annoying), and I chose the button which closed the window.

Since I am familiar with security exceptions and I will just assume the oxide binary is not malicious, I went to the Finder and on oxide I did Control-Click (or Command-Click) and Open With -> Terminal.app

Then I went back to my Terminal window and was able to proceed with ./oxide --help.

However, there is very little (no) documentation on what to do with the pre-built binaries, especially in this case of macOS, as the user needs to know the magic trick to do the security exception (there are other ways, but the Finder is the easiest), which may be a bit alarming for the user, as it shows many warnings about untrusted/malicious developer(s).

I'm running Little Snitch, and it gives me some more warnings when I try to do oxide auth login --host <hostname>.

image

In case we're interested, it looks like it is 99 USD/year to have the ability to sign the binary.
https://developer.apple.com/support/compare-memberships/

The Quick Start is not so quick so far, because I have to do a bunch of undocumented steps before I can start: https://docs.oxide.computer/cli/guides/quickstart

@elaine-oxide
Copy link
Contributor

Following up with more details based on my last comment.

Today I followed the same steps as in my last comment, but I downloaded the pre-built macOS Apple Silicon macOS binary for Oxide CLI v0.6.1+20240710.0.

Here is a screenshot of the aforementioned window with the two useless buttons that appears when I try to run oxide --help.
image

In Finder, on oxide, I did Control-Click (or Command-RightClick) and Open With -> Terminal.app, to get the option for overriding system security:
image

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

No branches or pull requests

2 participants