Hi,
I am trying to build an installer package of an usual(?) format:
-
it contains a binary that I am developing
- code signing and notarization is straightforward here.
-
it contains a 3rd-party binary that is open source, code signed and notarized by this third party
- code signing and notarization is also straightforward here as it's already been done.
-
it also contains a 3rd-party binary that is also open source, however, it is not code signed or notarized
This last one is the subject of my question.
It is a well-established project with thousands of stars on GitHub, however their own "installation method" is a shell script that downloads the binary, checks its checksum and just places it in the right location.
When building an installer package (it's an installer package of these three binaries packaged - productbuild with --distribution flag) this binary needs to be code signed and notarized for Developer ID distribution.
I trust this binary, however the chance of supply chain attacks is never zero.
My questions are:
- How can I shield myself best against accidentally submitting a malicious version of this third binary via
notarytoolto Apple? - Should I separately submit versions of this binary for notarization from submitting new versions of my app? This binary is bound to change way less frequently than the app I'm actually developing.
I really don't want to risk termination of my Apple Developer account because it has many high-value applications available.
I am doing some basics - matching the intended checksum before packaging, signing with the hardened runtime entitlement - but I would love to hear if there's other steps I can do to protect this pipeline and my company from accidents like these that may unintentionally damage our reputation.
Thanks in advance!