LuLu Helper (/Applications/LuLu.app/Contents/Library/LoginItems/LuLu Helper.app/Contents/MacOS/LuLu Helper
) is the user mode GUI app that communicates with the kernel extension, and provides a nice interface for the user to define and view socket filtering rulesets (block/allow). The kernel extension is responsible for performing socket creation filtering based on these user defined rulesets.
The user mode helper sends ruleset and preferences creation, deletion, and modification requests by calling methods in an exported interface (XPCDaemonProtocol
) on an exported XPC object. The XPC service it connects to is com.objective-see.lulu
.
The LuLu Helper ships with the get-task-allow
entitlement, so any program can get its task port using task_for_pid()
.
[ λ ~ ] jtool --ent "/Applications/LuLu.app/Contents/Library/LoginItems/LuLu Helper.app/Contents/MacOS/LuLu Helper"