Anthropic Organization Member and Group Enumeration
Detects a single user performing at least two distinct organization discovery actions within a 10-minute window: listing users, exporting members, or viewing groups. Chaining these read actions maps membership and group structure and commonly precedes targeted role grants, invites, or data collection against high-value accounts.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2026/09/16"
3integration = ["anthropic"]
4maturity = "production"
5updated_date = "2026/09/21"
6
7[rule]
8author = ["Elastic"]
9description = """
10Detects a single user performing at least two distinct organization discovery actions within a 10-minute window: listing
11users, exporting members, or viewing groups. Chaining these read actions maps membership and group structure and
12commonly precedes targeted role grants, invites, or data collection against high-value accounts.
13"""
14false_positives = [
15 """
16 Organization administrators, identity teams, and compliance reviewers may list users, export members, and view
17 groups during audits, access reviews, or offboarding. Confirm the actor and change ticket before escalating.
18 """,
19]
20from = "now-11m"
21interval = "10m"
22language = "esql"
23license = "Elastic License v2"
24name = "Anthropic Organization Member and Group Enumeration"
25note = """## Triage and analysis
26
27### Investigating Anthropic Organization Member and Group Enumeration
28
29One email performed at least two distinct discovery actions among `org_users_listed`, `org_members_exported`, and
30`group_list_viewed` in a short window — reconnaissance of who is in the tenant.
31
32Escalate when scripting UA, follow-on invites/role grants/SSO changes/exports appear, or the actor is not an identity
33admin. Close as FP for scheduled access reviews or onboarding console browsing with a ticket.
34
35#### Possible investigation steps
36
37- Read `Esql.event_action_values` to see which discovery actions combined; all three in one window is stronger than
38 two.
39- Inspect IP/UA/actor type for automation or unfamiliar clients.
40- Pivot the same actor/org for follow-on admin or project role grants, invites, SSO changes, or data exports.
41- Note: some `org_members_exported` without user email (e.g. certain `anthropic_actor` cases) are out of scope.
42
43### False positive analysis
44
45- Membership exports during access reviews commonly combine two of these actions briefly.
46
47### Response and remediation
48
49- On unauthorized recon: revoke sessions, review recent role and invite changes, and tighten least privilege on
50 identity read actions where possible.
51"""
52references = ["https://platform.claude.com/docs/en/api/compliance/activities/list"]
53risk_score = 47
54rule_id = "3fe56f6b-75c6-4ba1-88ff-e879145e0e1d"
55severity = "medium"
56tags = [
57 "Domain: GenAI",
58 "Platform: Anthropic",
59 "Data Source: Anthropic Audit Logs",
60 "Use Case: Threat Detection",
61 "Use Case: UEBA",
62 "Resources: Investigation Guide",
63 "Rule Type: ES|QL",
64 "Tactic: Discovery",
65]
66timestamp_override = "event.ingested"
67type = "esql"
68
69query = '''
70from logs-anthropic.audit-*
71| where
72 data_stream.dataset == "anthropic.audit" and
73 event.action in ("org_members_exported", "org_users_listed", "group_list_viewed") and
74 user.email is not null
75| stats
76 Esql.event_action_count_distinct = count_distinct(event.action),
77 Esql.event_action_values = values(event.action),
78 Esql.event_count = count(*),
79 Esql.event_id_values = values(event.id),
80 Esql.source_ip_values = values(source.ip),
81 Esql.user_agent_original_values = values(user_agent.original),
82 Esql.anthropic_audit_actor_type_values = values(anthropic.audit.actor.type),
83 Esql.user_id_values = values(user.id),
84 Esql.timestamp_first_seen = min(@timestamp),
85 Esql.timestamp_last_seen = max(@timestamp)
86 by user.email, organization.id
87| where Esql.event_action_count_distinct >= 2
88| keep user.email, organization.id, Esql.*
89'''
90
91
92[[rule.threat]]
93framework = "MITRE ATT&CK"
94[[rule.threat.technique]]
95id = "T1069"
96name = "Permission Groups Discovery"
97reference = "https://attack.mitre.org/techniques/T1069/"
98[[rule.threat.technique.subtechnique]]
99id = "T1069.003"
100name = "Cloud Groups"
101reference = "https://attack.mitre.org/techniques/T1069/003/"
102
103
104[[rule.threat.technique]]
105id = "T1087"
106name = "Account Discovery"
107reference = "https://attack.mitre.org/techniques/T1087/"
108[[rule.threat.technique.subtechnique]]
109id = "T1087.004"
110name = "Cloud Account"
111reference = "https://attack.mitre.org/techniques/T1087/004/"
112
113
114
115[rule.threat.tactic]
116id = "TA0007"
117name = "Discovery"
118reference = "https://attack.mitre.org/tactics/TA0007/"
119
120[rule.alert_suppression]
121group_by = ["user.email", "organization.id"]
122missing_fields_strategy = "suppress"
123
124[rule.investigation_fields]
125field_names = [
126 "user.email",
127 "organization.id",
128 "Esql.event_action_count_distinct",
129 "Esql.event_action_values",
130 "Esql.event_count",
131 "Esql.event_id_values",
132 "Esql.source_ip_values",
133 "Esql.user_agent_original_values",
134 "Esql.anthropic_audit_actor_type_values",
135 "Esql.user_id_values",
136 "Esql.timestamp_first_seen",
137 "Esql.timestamp_last_seen",
138]
139
140[rule.alert_suppression.duration]
141unit = "m"
142value = 10
Triage and analysis
Investigating Anthropic Organization Member and Group Enumeration
One email performed at least two distinct discovery actions among org_users_listed, org_members_exported, and
group_list_viewed in a short window — reconnaissance of who is in the tenant.
Escalate when scripting UA, follow-on invites/role grants/SSO changes/exports appear, or the actor is not an identity admin. Close as FP for scheduled access reviews or onboarding console browsing with a ticket.
Possible investigation steps
- Read
Esql.event_action_valuesto see which discovery actions combined; all three in one window is stronger than two. - Inspect IP/UA/actor type for automation or unfamiliar clients.
- Pivot the same actor/org for follow-on admin or project role grants, invites, SSO changes, or data exports.
- Note: some
org_members_exportedwithout user email (e.g. certainanthropic_actorcases) are out of scope.
False positive analysis
- Membership exports during access reviews commonly combine two of these actions briefly.
Response and remediation
- On unauthorized recon: revoke sessions, review recent role and invite changes, and tighten least privilege on identity read actions where possible.
References
Related rules
- Anthropic Excessive Chat Access Failures
- Anthropic Excessive Chat Creation
- Anthropic Excessive Chat Deletion
- Anthropic Excessive Chat Snapshot Creation
- Anthropic High File Upload Activity