Remove get-task-allow entitlement from signed builds #1585
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This entitlement allows debugger to hook in to the app and allow other apps to call
task_for_pid()
on MacVim, and Apple has discouraged its use. In fact, the only reason why MacVim passes app notarization is because it has also set the disable-library-validation entitlement which allows get-task-allow to be set. We don't actually need get-task-allow in release binary builds as we don't intentionally want to allow external debuggers and code injection, so we should just remove it.This was previously added in #980 where we made a mistake in assuming that get-task-allow was what was needed to sign the app with hardened runtime while allowing scripting interface (e.g. Python) to work, but that was wrong. It was the disable-library-validation entitlment instead, as we need the ability to load in unsigned libraries as Python distributions from say Homebrew are not signed.
Credit: This was pointed out by Karol Mazurek