Slack Enterprise Key Management Unenrolled
Description
Detects when Slack Enterprise Key Management (EKM) is unenrolled, removing customer-controlled encryption and reverting to Slack-managed keys. EKM allows organizations to store encryption keys externally (e.g., AWS KMS), ensuring data remains protected even from Slack infrastructure compromise. Unenrollment exposes all workspace data to decryption by Slack systems and violates compliance requirements for regulated industries.
Query · python
from panther_slack_helpers import slack_alert_context
def rule(event):
# Only alert on the `ekm_unenrolled` action
return event.get("action") == "ekm_unenrolled"
def title(event):
actor = event.deep_get("actor", "user", "email", default="<UNKNOWN_ACTOR>")
workspace = event.deep_get("context", "location", "domain", default="<UNKNOWN_WORKSPACE>")
return (
f"Slack: Workspace [{workspace}] unenrolled from Enterprise Key Management "
f"by [{actor}] - Customer-controlled encryption disabled"
)
def alert_context(event):
return slack_alert_context(event)
Analyst notes
- Query Slack audit logs for all actions by actor.user.email in the 30 days around the EKM unenrollment to identify other suspicious administrative actions such as data exports, workspace settings changes, user privilege escalations, or API token creations
- Check if the unenrollment occurred outside normal business hours or from an unusual context.ip_address or geographic location that doesn't match the actor's typical access patterns
- Search Slack audit logs for data export events, file downloads, or external sharing modifications during the period when EKM was unenrolled to assess potential data exposure while customer-controlled encryption was disabled