objective-see / objective-see/BlockBlock

Notarized mode not blocking as expected

Open
#91 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Objective-C
Stars
848
Forks
49
PR merge metrics
No merged PRs in 30d

Description

I've tried out BlockBlock Notarization Mode with app called Protégé, and with the command line executable for Neovim.

Expected behavior: for BlockBlock to block the launch, hoped for both the app and command line executable to be blocked.

Actual behavior: both app and command line executable launch unimpeded by BlockBlock. No messages show up in BlockBlock Helper app.

Testing with spctl shows both test objects are not notarized:

block@BlockTests-Virtual-Machine ~ % spctl -a -t exec -vvv /Users/block/Desktop/VirtualBuddyShared/VirtualBuddySharedFolder/Protege-5.6.5\ -\ un-quarantined/Protégé.app
/Users/block/Desktop/VirtualBuddyShared/VirtualBuddySharedFolder/Protege-5.6.5 - un-quarantined/Protégé.app: rejected
source=no usable signature
block@BlockTests-Virtual-Machine ~ % spctl -a -t exec -vvv /Users/block/Desktop/VirtualBuddyShared/VirtualBuddySharedFolder/nvim-macos-arm64/bin/nvim
/Users/block/Desktop/VirtualBuddyShared/VirtualBuddySharedFolder/nvim-macos-arm64/bin/nvim: rejected

codesign -dv shows both test objects are signed as flags=0x20002(adhoc,linker-signed).

Protegé is a Java app with Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64] and nvmim is a Mach-O thin (arm64).

Tested on macOS version 26.01 Tahoe, and on a fresh install of 26.0 VM with no other 3rd party software in VirtualBuddy. On arm64.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing BlockBlock Notarization Mode with the Protégé.app and Neovim nvim executable described in the issue. Compare the expected blocking and BlockBlock Helper messages with the reported spctl rejection and codesign adhoc signatures; done means both test objects are blocked and the helper reports each event.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, objective-c
Domain
operating-systems, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.