You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: defender-xdr/advanced-hunting-aiagentsinfo-table.md
+21-24Lines changed: 21 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -69,8 +69,8 @@ For information on other tables in the advanced hunting schema, [see the advance
69
69
It is critical to identify agents that lack authentication mechanisms, as these may pose significant risks to the organization due to their public availability. Organizations should know about these agents so they can acknowledge any issues.
70
70
71
71
**Recommendations:**
72
-
1. Confirm the agent's use case with the owner to determine if it is intended for public access.
73
-
2. Review the Topics, Actions, and Knowledge sources to ensure there is no internal or sensitive information included.
72
+
-Confirm the agent's use case with the owner to determine if it is intended for public access.
73
+
-Review the Topics, Actions, and Knowledge sources to ensure there is no internal or sensitive information included.
74
74
75
75
```kusto
76
76
AIAgentsInfo
@@ -84,8 +84,8 @@ It is critical to identify agents that lack authentication mechanisms, as these
84
84
It is critical to identify agents that lack authentication requirements mechanisms, as these may pose significant risks to the organization due to their public availability. Organizations should know about these agents so they can acknowledge any issues.
85
85
86
86
**Recommendations:**
87
-
1. Confirm the agent's use case with the owner to determine if it is intended for public access.
88
-
2. Review the Topics, Actions, and Knowledge sources to ensure there is no internal or sensitive information included.
87
+
-Confirm the agent's use case with the owner to determine if it is intended for public access.
88
+
-Review the Topics, Actions, and Knowledge sources to ensure there is no internal or sensitive information included.
89
89
90
90
```kusto
91
91
AIAgentsInfo
@@ -99,8 +99,8 @@ AIAgentsInfo
99
99
100
100
Identify agents that are published and are using the maker’s personal credentials in their authentication or integration flows. This practice increases the risk of credential exposure, privilege misuse, and weakens the separation of duties, potentially leading to compromised access.
101
101
102
-
**Recommendations:**
103
-
1. Verify with the agent's owner if Author Authentication is necessary.
102
+
**Recommendations:**
103
+
-Verify with the agent's owner if Author Authentication is necessary.
104
104
105
105
```kusto
106
106
let base = AIAgentsInfo
@@ -126,9 +126,10 @@ directActions
126
126
### Agent shared with entire organization or multi-tenant
127
127
128
128
Identify agents that are shared with the entire organization or configured for multi-tenant access. Broad sharing increases the risk of unauthorized access by unintended users.
129
+
129
130
**Recommendations:**
130
-
1. Confirm with the owner whether wide sharing is intentional and justified.
131
-
2. Consider sharing to specific users or security groups, to avoid “organization-wide” sharing.
131
+
-Confirm with the owner whether wide sharing is intentional and justified.
132
+
-Consider sharing to specific users or security groups, to avoid “organization-wide” sharing.
132
133
133
134
```kusto
134
135
AIAgentsInfo
@@ -141,10 +142,10 @@ AIAgentsInfo
141
142
### Orphaned Agents
142
143
143
144
Identify agents whose owners are either disabled or removed from the organization. Having an owner for each agent is essential for governance and maintaining the agent.
145
+
144
146
**Recommendations:**
145
-
1. Assign a new owner to the agent (Reassign an agent to a new owner - Microsoft Copilot Studio | Microsoft Learn).
146
-
```
147
-
147
+
- Assign a new owner to the agent (Reassign an agent to a new owner - Microsoft Copilot Studio | Microsoft Learn).
148
+
148
149
**Option 1:**
149
150
```kusto
150
151
AIAgentsInfo
@@ -156,7 +157,6 @@ AIAgentsInfo
156
157
) on $left.OwnerAccountUpns == $right.AccountUpn
157
158
```
158
159
159
-
160
160
**Option 2:**
161
161
```kusto
162
162
let EnabledAccountUpns =
@@ -172,6 +172,7 @@ AIAgentsInfo
172
172
### Suspicious HTTP request to non-standard port
173
173
174
174
Identify agents that use HTTP actions on ports other than 443 or 80.
175
+
175
176
**Recommendations:**
176
177
- Confirm with the agent owner whether it is necessary and inquire about the specific business use case.
177
178
@@ -196,9 +197,9 @@ AIAgentsInfo
196
197
### Suspicious HTTP request to non-standard schema
197
198
198
199
Identify agents that use HTTP actions to non https endpoints.
200
+
199
201
**Recommendations:**
200
202
- Confirm with the agent owner whether it is necessary and inquire about the specific business use case.
Identify agents that use HTTP actions to an endpoint with available Power Platform connector.
222
223
223
224
**Recommendations:**
224
-
225
225
- Verify with the agent owner if it's necessary and ask about the business use case. Consider using a connector instead.
226
226
227
227
```kusto
@@ -265,11 +265,11 @@ AIAgentsInfo
265
265
### Sending email to external mailbox
266
266
267
267
Identify agents where a topic or action is configured to send emails to external mailboxes (outside the organization’s domains). This can potentially lead to sensitive or internal data being exfiltrated or leaving the organization's boundaries.
268
+
268
269
**Recommendations:**
269
-
1. Verify with the agent owner whether sending external emails is necessary for the business scenario, what data will be sent, and if the external domain is authorized to receive that data.
270
+
-Verify with the agent owner whether sending external emails is necessary for the business scenario, what data will be sent, and if the external domain is authorized to receive that data.
270
271
271
272
```kusto
272
-
273
273
// Identify agents where a topic or action is configured to send emails to external mailboxes (outside the organization's domains)
274
274
let OrgDomains =
275
275
IdentityInfo
@@ -316,14 +316,12 @@ FromActions
316
316
317
317
### Published dormant agent (30d) (Runtime Rule)
318
318
319
-
320
319
Identify published agents that have not being used by any user in the organization for the last X days.
321
320
322
321
**Recommendations:**
323
322
- Confirm with the agent owner if this behavior is expected. Otherwise, consider removing the agent to mitigate any potential risks.
324
323
325
324
```kusto
326
-
327
325
//Identify published agents that have not being used by any user in the organization for the last X days.
328
326
let ActiveAgents =
329
327
CloudAppEvents
@@ -350,10 +348,9 @@ AIAgentsInfo
350
348
Identify agents that are not published and have not been modified in the last 30 days.
351
349
352
350
**Recommendations:**
353
-
1. Confirm with the agent owner if the agent is still needed. Otherwise, consider removing the agent to mitigate any potential risks.
351
+
-Confirm with the agent owner if the agent is still needed. Otherwise, consider removing the agent to mitigate any potential risks.
354
352
355
353
```kusto
356
-
357
354
//Identify agents that are not published and have not been modified in the last 30 days.
358
355
AIAgentsInfo
359
356
| summarize arg_max(Timestamp, *) by AIAgentId
@@ -364,12 +361,12 @@ AIAgentsInfo
364
361
### Hard-coded credentials in Topics or Actions
365
362
366
363
Agents with hard-coded credentials in Topics or Actions can expose clear-text credentials to unintended entities.
364
+
367
365
**Recommendations:**
368
366
- Consider keeping the credentials in Azure Key Vault and retrieve in in runtime using Environment Variables (Use environment variables for Azure Key Vault secrets - Power Apps | Microsoft Learn)
369
367
- If not possible, make sure secured input option are enabled (Manage sensitive input like passwords in Power Automate - Power Automate | Microsoft Learn).
370
368
371
369
```kusto
372
-
373
370
//Find Agents with hard-coded credentials in Topics or Actions can expose clear-text credentials to unintended entities.
374
371
let suspicious_patterns = @"(AKIA[0-9A-Z]{16})|(AIza[0-9A-Za-z_\-]{35})|(xox[baprs]-[0-9a-zA-Z]{10,48})|(ghp_[A-Za-z0-9]{36,59})|(sk_(live|test)_[A-Za-z0-9]{24})|(SG\.[A-Za-z0-9]{22}\.[A-Za-z0-9]{43})|(\d{8}:[\w\-]{35})|(eyJ[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+)|(Authorization\s*:\s*Basic\s+[A-Za-z0-9=:+]+)|([A-Za-z]+:\/\/[^\/\s]+:[^\/\s]+@[^\/\s]+)";
0 commit comments