I don't think the problem is coming from the macOS instance itself as the problem does not occur when the extension is updated using an installation package.
The problem only happens when replacing the system extension and its wrapper .app using basic NSFileManager APIs.
I diffed the 2 cases and there are no differences. Same files, same contents. And anyway spctl and codesign are happy.
I tried different macOS versions in VMs (14, 15). Same result.
What I'm also observing is that after updating the system extension using an installation package, just using the NSFileManager APIs is going to work fine when reverting to any version that has been previous installed via an installation package or updating to version that has been previously updated via an installation package.
Topic:
Code Signing
SubTopic:
Notarization
Tags: