Skip to content

Commit 13cb15f

Browse files
authored
Merge pull request #4402 from moti-ba/docs-editor/get-assessment-software-vulner-1751472348
Update get-assessment-software-vulnerabilities.md
2 parents a6bfcd6 + b638ce1 commit 13cb15f

File tree

1 file changed

+26
-27
lines changed

1 file changed

+26
-27
lines changed

defender-endpoint/api/get-assessment-software-vulnerabilities.md

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ms.topic: reference
1515
ms.subservice: reference
1616
ms.custom: api
1717
search.appverid: met150
18-
ms.date: 02/11/2025
18+
ms.date: 07/09/2025
1919
---
2020

2121
# Export software vulnerabilities assessment per device
@@ -31,9 +31,7 @@ ms.date: 02/11/2025
3131

3232
> Want to experience Microsoft Defender for Endpoint? [Sign up for a free trial.](https://go.microsoft.com/fwlink/p/?linkid=2225630)
3333
34-
Returns all known software vulnerabilities and their details for all devices, on a per-device basis.
35-
36-
Different API calls get different types of data. Because the amount of data can be large, there are three ways it can be retrieved:
34+
The ability to export software vulnerabilities per device returns all known software vulnerabilities and their details for all devices, on a per-device basis. Different API calls get different types of data. Because the amount of data can be large, there are three ways it can be retrieved:
3735

3836
1. [Export software vulnerabilities assessment: **JSON response**](#1-export-software-vulnerabilities-assessment-json-response) The API pulls all data in your organization as Json responses. This method is best for _small organizations with less than 100-K devices_. The response is paginated, so you can use the \@odata.nextLink field from the response to fetch the next results.
3937

@@ -116,7 +114,6 @@ GET /api/machines/SoftwareVulnerabilitiesByMachine
116114
|SoftwareVendor|String|Name of the software vendor.|Google|
117115
|SoftwareVersion|String|Version number of the software product.|81.0.4044.138|
118116
|VulnerabilitySeverityLevel|String|Severity level assigned to the security vulnerability based on the CVSS score.|Medium|
119-
|||||
120117

121118
### 1.6 Examples
122119

@@ -299,19 +296,13 @@ GET /api/machines/SoftwareVulnerabilitiesExport
299296
> - The files are GZIP compressed & in multiline JSON format.
300297
> - The download URLs are valid for 1 hour unless the `sasValidHours` parameter is used.
301298
> - For maximum download speed of your data, you can make sure you're downloading from the same Azure region that your data resides.
302-
>
303299
> - Each record is 1KB of data. You should take this into account when choosing the correct pageSize parameter for you.
304300
> - Some extra columns might be returned in the response. These columns are temporary and might be removed so use only the documented columns.
305301
306-
<br>
307-
308-
****
309-
310302
Property (ID)|Data type|Description|Example of a returned value
311303
:---|:---|:---|:---
312304
Export files|array[string]|A list of download URLs for files holding the current snapshot of the organization.|["https://tvmexportstrstgeus.blob.core.windows.net/tvm-export...1", "https://tvmexportstrstgeus.blob.core.windows.net/tvm-export...2"]
313305
GeneratedTime|String|The time that the export was generated.|2021-05-20T08:00:00Z
314-
|
315306

316307
### 2.6 Examples
317308

@@ -342,7 +333,21 @@ GET https://api-us.securitycenter.contoso.com/api/machines/SoftwareVulnerabiliti
342333
Returns a table with an entry for every unique combination of DeviceId, SoftwareVendor, SoftwareName, SoftwareVersion, CveId. The API pulls data in your organization as Json responses. The response is paginated, so you can use the @odata.nextLink field from the response to fetch the next results. Unlike the full software vulnerabilities assessment (JSON response), which is used to obtain an entire snapshot of the software vulnerabilities assessment of your organization by device, the delta export JSON response API call is used to fetch only the changes that happened between a selected date and the current date (the "delta" API call). Instead of getting a full export with a large amount of data every time, you only get specific information on new, fixed, and updated vulnerabilities. Delta export JSON response API call can also be used to calculate different KPIs such as "how many vulnerabilities were fixed?" or "how many new vulnerabilities were added to my organization?"
343334

344335
> [!NOTE]
345-
> It's highly recommended you use the full export software vulnerabilities assessment by device API call at least once a week and this extra export software vulnerabilities changes by device (delta) API call all the other days of the week. Unlike the other Assessments JSON response APIs, the "delta export" isn't a full export. The delta export includes only the changes that happened between a selected date and the current date (the "delta" API call).
336+
> We refresh the __Full _Software Vulnerabilities Assessment(Flat/Full VA) by Device___ export every __six hours__ and store each snapshot in blob storage; the API always serves the latest snapshot, to emphasize  calling the Get Endpoint won't to trigger a generation, call get endpoint will just read latest Flat OR Delta After sinceTime.
337+
> A successful completion of Full VA export will trigger __delta export__ that captures the changes from latest Flat VA processed by Delta to new Flat VA.
338+
> > __RBAC-scoped duplicates__
339+
> > Because exports are scoped by __RBACGroup__, a device that moves from one RBAC group to another will appear __twice__ in a Delta export when you query with the global view (`RBACGroup=*`): once under its previous group with status "Fixed" and once under its current group with status "New". Use the `rbacGroupId` and device identifiers together (or de-duplicate on your side) if you need a single authoritative record per device.
340+
>
341+
> Recommended pull pattern
342+
>
343+
1. __Baseline__ – Download the full VA(Flat VA) export on your preferred cadence (weekly is often sufficient).
344+
345+
1. __Stay current__ – delta export between full snapshots(Delta can be queried up to 14 days into the past).
346+
347+
1. __Handle RBAC moves__ – When processing a Delta, de-duplicate entries where the same `Id(deviceId_software_` version _ cve`)`appears under multiple `rbacGroupId` values.
348+
349+
1. When "Status" = Fix" the calcualtion of "EventTimestamp"- "FirstSeenTimestamp" should give you an estimation on when the CVE was fixed up to a granularity of 6 hours(because of Delta worker run interval).
350+
346351

347352
#### 3.1.1 Limitations
348353

@@ -380,24 +385,21 @@ Each returned record contains all the data from the full export software vulnera
380385
> - Some other columns might be returned in the response. These columns are temporary and might be removed so use only the documented columns.
381386
> - The properties defined in the following table are listed alphabetically, by property ID. When running this API, the resulting output isn't necessarily returned in the same order listed in this table.
382387
383-
<br>
384-
385-
****
386-
387388
|Property (ID)|Data type|Description|Example of returned value|
388389
|:---|:---|:---|:---|
389390
|CveId |String|Unique identifier assigned to the security vulnerability under the Common Vulnerabilities and Exposures (CVE) system.|CVE-2020-15992|
390391
|CvssScore|Double|The CVSS score of the CVE.|6.2|
391392
|DeviceId|String|Unique identifier for the device in the service.|9eaf3a8b5962e0e6b1af9ec756664a9b823df2d1|
392393
|DeviceName|String|Fully qualified domain name (FQDN) of the device.|johnlaptop.europe.contoso.com|
393394
|DiskPaths|Array[string]|Disk evidence that the product is installed on the device.|["C:\Program Files (x86)\Microsoft\Silverlight\Application\silverlight.exe"]|
394-
|EventTimestamp|String|The time this delta event was found.|2021-01-11T11:06:08.291Z|
395+
|EventTimestamp|String|The time this delta event was found.|2020-11-03 10:13:34.8476880|
395396
|ExploitabilityLevel|String|The exploitability level of this vulnerability (NoExploit, ExploitIsPublic, ExploitIsVerified, ExploitIsInKit)|ExploitIsInKit|
397+
|IsOnboarded |Boolean|Indicates whether a device is onboarded or not.| Possible values are true or false.|
396398
|FirstSeenTimestamp|String|First time the CVE of this product was seen on the device.|2020-11-03 10:13:34.8476880|
397399
|ID|String|Unique identifier for the record.|123ABG55_573AG&mnp!|
398400
|LastSeenTimestamp|String|Last time the software was reported on the device.|2020-11-03 10:13:34.8476880|
399401
|OSPlatform|String|Platform of the operating system running on the device; specific operating systems with variations within the same family, such as Windows 10 and Windows 11. See Microsoft Defender Vulnerability Management supported operating systems and platforms for details.|Windows10 and Windows 11|
400-
|RbacGroupName|String|The role-based access control (RBAC) group. If this device isn't assigned to any RBAC group, the value is "Unassigned." If the organization doesn't contain any RBAC groups, the value is "None."|Servers|
402+
|RbacGroupName|String|The role-based access control (RBAC) group. If this device isn't assigned to any RBAC group, the value is "Unassigned." |Servers|
401403
|RecommendationReference|string|A reference to the recommendation ID related to this software.|va--microsoft--silverlight|
402404
|RecommendedSecurityUpdate |String|Name or description of the security update provided by the software vendor to address the vulnerability.|April 2020 Security Updates|
403405
|RecommendedSecurityUpdateId |String|Identifier of the applicable security updates or identifier for the corresponding guidance or knowledge base (KB) articles|4550961|
@@ -407,7 +409,6 @@ Each returned record contains all the data from the full export software vulnera
407409
|SoftwareVersion|String|Version number of the software product.|81.0.4044.138|
408410
|Status|String|**New** (for a new vulnerability introduced on a device) (1) **Fixed** (if this vulnerability doesn't exist anymore on the device, which means it was remediated). (2) **Updated** (if a vulnerability on a device changed. The possible changes are: CVSS score, exploitability level, severity level, DiskPaths, RegistryPaths, RecommendedSecurityUpdate). |Fixed|
409411
|VulnerabilitySeverityLevel|String|Severity level that is assigned to the security vulnerability and is based on the CVSS score.|Medium|
410-
|||||
411412

412413
#### Clarifications
413414

@@ -460,7 +461,7 @@ GET https://api.securitycenter.microsoft.com/api/machines/SoftwareVulnerabilityC
460461
"exploitabilityLevel": "NoExploit",
461462
"recommendationReference": "va-_-google-_-chrome",
462463
"status": "Fixed",
463-
"eventTimestamp": "2021-01-11T11:06:08.291Z"
464+
"eventTimestamp": "2020-11-03 10:13:34.8476880"
464465
},
465466
{
466467
"id": "00e59c61234533860738ecf488eec8abf296e41e_onedrive_20.64.329.3__",
@@ -487,7 +488,7 @@ GET https://api.securitycenter.microsoft.com/api/machines/SoftwareVulnerabilityC
487488
"exploitabilityLevel": "NoExploit",
488489
"recommendationReference": "va-_-microsoft-_-onedrive",
489490
"status": "Fixed",
490-
"eventTimestamp": "2021-01-11T11:06:08.291Z"
491+
"eventTimestamp": "2020-11-03 10:13:34.8476880"
491492
},
492493
{
493494
"id": "01aa8c73095bb12345918663f3f94ce322107d24_firefox_83.0.0.0_CVE-2020-26971_",
@@ -516,7 +517,7 @@ GET https://api.securitycenter.microsoft.com/api/machines/SoftwareVulnerabilityC
516517
"exploitabilityLevel": "NoExploit",
517518
"recommendationReference": "va-_-mozilla-_-firefox",
518519
"status": "Fixed",
519-
"eventTimestamp": "2021-01-11T11:06:08.291Z"
520+
"eventTimestamp": "2020-11-03 10:13:34.8476880"
520521
},
521522
{
522523
"id": "026f0fcb12345fbd2decd1a339702131422d362e_project_16.0.13701.20000__",
@@ -543,7 +544,7 @@ GET https://api.securitycenter.microsoft.com/api/machines/SoftwareVulnerabilityC
543544
"exploitabilityLevel": "NoExploit",
544545
"recommendationReference": "va-_-microsoft-_-project",
545546
"status": "Fixed",
546-
"eventTimestamp": "2021-01-11T11:06:08.291Z"
547+
"eventTimestamp": "2020-11-03 10:13:34.8476880"
547548
},
548549
{
549550
"id": "038df381234510b357ac19d0113ef622e4e212b3_chrome_81.0.4044.138_CVE-2020-16011_",
@@ -572,7 +573,7 @@ GET https://api.securitycenter.microsoft.com/api/machines/SoftwareVulnerabilityC
572573
"exploitabilityLevel": "NoExploit",
573574
"recommendationReference": "va-_-google-_-chrome",
574575
"status": "Fixed",
575-
"eventTimestamp": "2021-01-11T11:06:08.291Z"
576+
"eventTimestamp": "2020-11-03 10:13:34.8476880"
576577
}
577578
],
578579
"@odata.nextLink": "https://wpatdadi-eus-stg.cloudapp.net/api/machines/SoftwareVulnerabilitiesTimeline?sincetime=2021-01-11&pagesize=5&$skiptoken=eyJFeHBvcnREZWZpbml0aW9uIjp7IlRpbWVQYXRoIjoiMjAyMS0wMS0xMS8xMTAxLyJ9LCJFeHBvcnRGaWxlSW5kZXgiOjAsIkxpbmVTdG9wcGVkQXQiOjV9"
@@ -584,9 +585,7 @@ GET https://api.securitycenter.microsoft.com/api/machines/SoftwareVulnerabilityC
584585
- [Export assessment methods and properties per device](get-assessment-methods-properties.md)
585586
- [Export secure configuration assessment per device](get-assessment-secure-config.md)
586587
- [Export software inventory assessment per device](get-assessment-software-inventory.md)
587-
588-
Other related
589-
590588
- [Microsoft Defender Vulnerability Management](/defender-vulnerability-management/defender-vulnerability-management)
591589
- [Vulnerabilities in your organization](/defender-vulnerability-management/tvm-weaknesses)
590+
592591
[!INCLUDE [Microsoft Defender for Endpoint Tech Community](../../includes/defender-mde-techcommunity.md)]

0 commit comments

Comments
 (0)