EXPLORE
← Back to Explore
kqlHunting

Potentially Ungoverned AI Domains such as chatgpt

This Query looks for usage of ungoverned AI Usage by using DeviceNetworkEvents

Detection Query

//This Query looks for usage of ungoverned AI Usage by using DeviceNetworkEvents
let UngoverenedAI_IOCs = externaldata(type: string, IndicatorValue: string)[@"https://raw.githubusercontent.com/jkerai1/SoftwareCertificates/refs/heads/main/Bulk-IOC-CSVs/PotentiallyUngovernedAITools.csv"] with (format="csv", ignoreFirstRecord=True);
let DomainList = UngoverenedAI_IOCs
| project IndicatorValue;
DeviceNetworkEvents
| where TimeGenerated > ago(90d) //| where Timestamp > ago(30d)  - if using Advanced Huntng use Timestamp instead of TimeGenerated
| where RemoteUrl in~(DomainList )
| summarize count() by RemoteUrl
// After Hunting visit https://github.com/jkerai1/SoftwareCertificates/tree/main/Bulk-IOC-CSVs, download the CSV and consider uploading to MDE to block all domains. Remove any results that are legitimate usage.

Data Sources

DeviceNetworkEvents

Platforms

windows

Tags

defenderhuntingioc
Raw Content
//This Query looks for usage of ungoverned AI Usage by using DeviceNetworkEvents
let UngoverenedAI_IOCs = externaldata(type: string, IndicatorValue: string)[@"https://raw.githubusercontent.com/jkerai1/SoftwareCertificates/refs/heads/main/Bulk-IOC-CSVs/PotentiallyUngovernedAITools.csv"] with (format="csv", ignoreFirstRecord=True);
let DomainList = UngoverenedAI_IOCs
| project IndicatorValue;
DeviceNetworkEvents
| where TimeGenerated > ago(90d) //| where Timestamp > ago(30d)  - if using Advanced Huntng use Timestamp instead of TimeGenerated
| where RemoteUrl in~(DomainList )
| summarize count() by RemoteUrl
// After Hunting visit https://github.com/jkerai1/SoftwareCertificates/tree/main/Bulk-IOC-CSVs, download the CSV and consider uploading to MDE to block all domains. Remove any results that are legitimate usage.