Post

Replies

Boosts

Views

Activity

Reply to The launchd launches LaunchDaemons and the system extensions after the LaunchAgents when FileVault is enabled
Thank you for sharing this information. We believe this is a misunderstanding of how PIDs get assigned to new processes - this happens at fork(2) time, not execve(2)/posix_spawn(2) time. The early boot mechanism holds up new images from completing the exec, but the original process (e.g. commonly launchd/loginwindow at startup) has already forked a new process. A lower PID number does not mean that a new image has begun executing. I created the bug https://feedbackassistant.apple.com/feedback/12001338. When I was preparing the test data for the description, I got the same behavior. System extension could get the agent process identifier, but the agent logged only after subscription. But I thought that it was incorrect. I still think so. I'm searching for a way how to launch Endpoint Security earlier than LaunchAgents loaded by launchd. I want to block the agent before the launchd sets up any resources for it, e.g. sockets or paths to listen, mach services names, etc.
Feb ’23
Reply to Is there an API to query for SIP Protected Paths ?
You can determine if a path is protected by SIP by checking the "com.apple.rootless" extended attribute. However, this can be misleading as the attribute doesn't exist for subfolders: xattr /System/ com.apple.rootless xattr /System/Library/ <nothing> Additionally, some protected files and folders cannot be read at all, and there's no way to check for this. As example /private/var/db/KernelExtensionManagement
Mar ’24