Run this KQL in Defender Advanced Hunting
Finds published agents with no authentication configured โ anyone with the link can chat with them.
AIAgentsInfo
| summarize arg_max(Timestamp, *) by AIAgentId
| where AgentStatus == "Published"
| where UserAuthenticationType == "None"
| project AIAgentName, CreatorAccountUpn, OwnerAccountUpns,
AgentCreationTime, UserAuthenticationType
โ Any result here is a critical finding. A no-auth published agent is accessible to anyone with the link โ including external users if the agent is published to a website.
Also run this change-detection query โ use as a Sentinel Analytics Rule to alert the moment any agent is switched to no-auth:
// Alert when UserAuthenticationType changes to "None"
AIAgentsInfo
| summarize arg_max(Timestamp, *) by AIAgentId
| where AgentStatus == "Published"
| order by AIAgentName
| extend PreviousAuthType = prev(UserAuthenticationType, 1)
| where UserAuthenticationType == "None"
and PreviousAuthType != "None"
| project AIAgentName, PreviousAuthType,
UserAuthenticationType,
ReportId = tostring(AIAgentId), Timestamp
๐ก Save this as a Sentinel Analytics Rule to get an incident the moment a published agent is downgraded to no-auth โ even if the change was made by someone who isn't the agent owner.