Skip to content

Glossary

Endpoint Security

Le framework utilisateur moderne d'Apple pour l'outillage de sécurité sur macOS — remplaçant supporté des extensions noyau, exposant ~80 événements système à un client privilégié.

Endpoint Security (ES) est le framework qu'Apple fournit aux produits de sécurité sur macOS. Il remplace l'ancien chemin par extension noyau, désormais déprécié, par une System Extension en espace utilisateur qui s'abonne à un flux d'événements curatés provenant du noyau.

En 2026, ES est la seule voie pratique pour livrer un EDR moderne sur macOS qui survit à Gatekeeper, SIP et au calendrier de dépréciation d'Apple.

Ce qu'il expose. Environ 80 types d'événements couvrant le cycle de vie des processus (EXEC, FORK, EXIT), les opérations fichier (OPEN, UNLINK, RENAME, MOUNT), les identifiants (SETUID, SUDO), la persistance (BTM_LAUNCH_ITEM_ADD), et les Mach traps les plus sensibles — notamment AUTH_GET_TASK et NOTIFY_GET_TASK pour task_for_pid.

Ce qu'il n'expose pas. Aucun événement pour read / write (volume), aucun pour le trafic Mach port brut, aucun argument syscall hors de ce que chaque événement expose explicitement. Pour le reste, retour à DTrace ou à l'instrumentation in-process.

Deux saveurs par événement. Les AUTH_* bloquent jusqu'à votre réponse — vous pouvez refuser — mais ont une deadline (5 s d'ordinaire). Les NOTIFY_* sont fire-and-forget. La plupart des événements liés aux syscalls existent dans les deux saveurs.

Prérequis. Un Developer ID Apple payant plus l'entitlement Endpoint Security, qu'Apple accorde au cas par cas. Sans lui, es_new_client() retourne ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED.

Les headers du framework vivent dans <EndpointSecurity/EndpointSecurity.h>.