-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMDE - CISA KEV TVM query
22 lines (22 loc) · 1.38 KB
/
MDE - CISA KEV TVM query
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
let cisaKnownExploitedVulns = materialize((externaldata (CveId:string, Vendor:string, Product:string, CisaVulnerabilityName:string, CisaAddedDate:datetime, CisaVulnerabilityDescription:string, CisaActionRequired:string, CisaDueDate:datetime)
[
h@'https://www.cisa.gov/sites/default/files/csv/known_exploited_vulnerabilities.csv'
]
with(format='csv',ignoreFirstRecord=true))
| project CveId, CisaDueDate, Vendor, Product, CisaVulnerabilityName, CisaVulnerabilityDescription
| extend IsPastDue = iff(CisaDueDate < now(),true,false)
| project-reorder CveId, CisaDueDate, IsPastDue, Vendor, Product, CisaVulnerabilityName, CisaVulnerabilityDescription);
cisaKnownExploitedVulns
| join kind=leftouter (
DeviceTvmSoftwareVulnerabilitiesKB
| project CveId, CvssScore, IsExploitAvailable, AffectedSoftware, PublishedDate, VulnerabilityDescription
) on $left.CveId == $right.CveId
| extend VulnerabilityDescription = case (
VulnerabilityDescription == 'N/A', CisaVulnerabilityDescription,
VulnerabilityDescription == '', CisaVulnerabilityDescription,
isnull(VulnerabilityDescription), CisaVulnerabilityDescription,
VulnerabilityDescription
)
| project-away CveId1, CisaVulnerabilityDescription
| project-reorder CveId, PublishedDate, CvssScore, CisaDueDate, IsPastDue, IsExploitAvailable, Vendor, Product, AffectedSoftware, CisaVulnerabilityName, VulnerabilityDescription
| sort by CvssScore