Detection rules › Sigma
macOS TCC Database Modification
Detects modifications to the TCC (Transparency, Consent, and Control) database which controls privacy permissions on macOS. Direct TCC database modification is a sophisticated evasion technique to bypass privacy protections and grant unauthorized access to sensitive resources (camera, microphone, files, etc.). This is a critical security event available on macOS 15.4+.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Stealth | T1562.001 Impair Defenses: Disable or Modify Tools |
| Defense Impairment | T1222 File and Directory Permissions Modification |
Rule body yaml
title: macOS TCC Database Modification
id: d187fdf7-5c6f-4f23-9694-71d87472407a
status: experimental
description: 'Detects modifications to the TCC (Transparency, Consent, and Control)
database
which controls privacy permissions on macOS. Direct TCC database modification
is a sophisticated evasion technique to bypass privacy protections and grant
unauthorized access to sensitive resources (camera, microphone, files, etc.).
This is a critical security event available on macOS 15.4+.
'
author: Eric Brown - Nebulock, Inc.
date: 2025/10/31
modified: 2025/10/31
references:
- https://attack.mitre.org/techniques/T1562/001/
- https://attack.mitre.org/techniques/T1222/
logsource:
product: macos
service: endpointsecurity
detection:
selection:
esf.event_type: 147
event.action: tcc_modify
condition: selection
falsepositives:
- System updates and installations
- MDM policy changes
- Legitimate applications requesting permissions
- User-initiated permission changes (rare to see at this level)
fields:
- event_type
- event_name
- ProcessId
- Image
- User
- service
- client
tags:
- attack.defense_evasion
- attack.t1562.001
- attack.t1222
level: critical
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
esf.event_type: 147
event.action: tcc_modify
Indicators
Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.
| Field | Kind | Values |
|---|---|---|
esf.event_type | eq |
|
event.action | eq |
|