Skip to content

feat: Add macOS Endpoint Security Framework (ESF) logsource and fields#204

Open
eric-nebulock wants to merge 1 commit into
SigmaHQ:mainfrom
eric-nebulock:feat/macos-esf-logsource
Open

feat: Add macOS Endpoint Security Framework (ESF) logsource and fields#204
eric-nebulock wants to merge 1 commit into
SigmaHQ:mainfrom
eric-nebulock:feat/macos-esf-logsource

Conversation

@eric-nebulock
Copy link
Copy Markdown

PR: Add macOS Endpoint Security Framework (ESF) Logsource and Fields

Summary

This PR adds documentation for macOS Endpoint Security Framework (ESF) events to the Sigma Taxonomy, as requested in pySigma-backend-elasticsearch PR #171.

Changes

1. New Logsource (macOS Folder Section)

Added service: endpointsecurity under the macOS Folder with supported categories:

Logsource Description
product: macos
service: endpointsecurity
Apple ESF events via eslogger or Elastic Defend

Supported Categories:

  • process_creation - ESF exec events (type 9)
  • file_event - General file events
  • file_create - File creation (type 13)
  • file_delete - File deletion (type 19)
  • file_rename - File rename (type 21)
  • authentication - Authentication events (type 111)
  • process_injection / process_access - Ptrace events (type 64)
  • driver_load - Kernel extension events (types 17, 18)

2. Added to Specific Section

Added macOS to the Specific section alongside Windows and Linux:

- `product: macos`: macOS Operating System logs
  - `service: endpointsecurity`: Apple Endpoint Security Framework (ESF) events

3. New Fields Section

Added comprehensive field documentation for macOS ESF events:

  • Process Fields - Standard fields (Image, CommandLine, ProcessId, etc.)
  • User/Group Fields (Unix-Specific) - Real/effective user/group IDs for Unix privilege model
  • File Fields - Target/source filenames for file operations
  • Code Signature Fields (macOS-Specific) - SigningID, TeamID for Apple code signing
  • Process Injection/Access Fields - Source/target process fields for ptrace events
  • Unix/macOS-Specific Fields - SignalNumber, PtraceRequest, XpcServiceName, etc.
  • ESF Event Type Reference - Complete reference table of ESF event types

Why These Changes?

The macOS Endpoint Security Framework is Apple's modern security telemetry API. The service: endpointsecurity attribute is necessary because:

  1. ESF-specific fields: Many fields are unique to ESF (SigningID, TeamID, SignalNumber, PtraceRequest, etc.)
  2. Unix user model: ESF provides real/effective user/group IDs not present in generic macOS categories
  3. Event type specificity: ESF has specific event types that need to be documented

Related

Checklist

  • Added service to macOS Folder section
  • Added macOS to Specific section
  • Added field documentation as new subsection
  • Updated Table of Contents
  • Updated History section

Add documentation for macOS ESF events:
- New service: endpointsecurity under macOS Folder
- Supported categories: process_creation, file_event, file_create, file_delete,
  file_rename, authentication, process_injection, process_access, driver_load
- New fields section documenting Unix user/group, code signature, and
  process injection fields specific to ESF
- ESF event type reference table

This complements pySigma-backend-elasticsearch PR SigmaHQ#171 which adds the
ecs_macos_esf pipeline.

References:
- Apple ESF: https://developer.apple.com/documentation/endpointsecurity
- eslogger: https://keith.github.io/xcode-man-pages/eslogger.1.html
eric-nebulock added a commit to eric-nebulock/pySigma-backend-elasticsearch that referenced this pull request Jan 21, 2026
Add processing pipeline for macOS Endpoint Security Framework (ESF) events
that maps Sigma taxonomy fields to ECS (Elastic Common Schema) fields.

Features:
- Maps Sigma taxonomy fields to ECS fields (process.executable, process.pid, etc.)
- Supports 16 logsource categories (process_creation, file_event, authentication, etc.)
- Includes macOS-specific field mappings (SigningID, TeamID, SignalNumber, etc.)
- Includes Unix user/group field mappings (UserId, RealUserId, GroupId, etc.)
- 8 unit tests with 100% coverage on macos.py

Logsource: product: macos, service: endpointsecurity

Related: SigmaHQ/sigma-specification#204
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant