Hi,
I am actually working on Endpoint Security system extension. I follow the documentation and I embedded the extension on a macOS App that install it. I wonder if it was possible to install this extension without the macOS application. With a launchd agent/daemon or something else? I don't find any documentation about it, so I don't even know if it is possible.
Thanks,
Johan
Post
Replies
Boosts
Views
Activity
Hello,
I have develop a Endpoint Security Extension based on the video that I see from the WWDC20. The extensions is embedded in an app that it only use to install the extension. This is working pretty well. I can see that the extension is running when I use systemextensionsctl list.
I run this extension in a VM with SIP disabled.
The next step is to set up an XPC connection using the low level (C-based) API to communicate data from the extension with an external line commande tools.
I tried to use the NSEndpointSecurityMachServiceName bundleID.test.xpc in the Extension's info.plist so the extension should be able to create a xpc connection by using xpc_connection_create_mach_service(bundleID.test.xpc, NULL, XPC_CONNECTION_MACH_SERVICE_LISTENER).
It seems not to be working well because when I tried to connect to this listener from a command line tools project using xpc_connection_create_mach_service(bundleID.test.xpc, NULL, XPC_CONNECTION_MACH_SERVICE_PRIVILEGED) I only got a Connection Invalid
Is it even possible to use a xpc connection in an Endpoint Security Extension to communicate with an external process? If yes, can you explain me how to do it properly because I don't find any documentation about it.
Thank you,