容器漏洞评估 REST API
概述
Azure Resource Graph (ARG) 提供了一个 REST API,可用于以编程方式访问漏洞评估结果来获取 Azure 注册表和运行时漏洞建议。 详细了解 ARG 引用和查询示例。
Azure 容器注册表漏洞子评估作为安全资源的一部分发布到 ARG。 详细了解安全子评估。
ARG 查询示例
要拉取特定子评估,需要使用评估密钥。 对于由 MDVM 提供支持的容器漏洞评估,密钥为 c0b7cfc6-3172-465a-b378-53c7ff2cc0d5
。
下面是一个通用安全子评估查询示例,可用作生成查询的示例。 此查询可提取过去一小时内生成的第一个子评估。
securityresources
| where type =~ "microsoft.security/assessments/subassessments" and properties.additionalData.assessedResourceType == "AzureContainerRegistryVulnerability"
| extend assessmentKey=extract(@"(?i)providers/Microsoft.Security/assessments/([^/]*)", 1, id)
| where assessmentKey == "c0b7cfc6-3172-465a-b378-53c7ff2cc0d5"
| extend timeGenerated = properties.timeGenerated
| where timeGenerated > ago(1h)
查询结果 - Azure 子评估
[
{
"id": "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.ContainerRegistry/registries/{Registry Name}/providers/Microsoft.Security/assessments/c0b7cfc6-3172-465a-b378-53c7ff2cc0d5/subassessments/{SubAssessmentId}",
"name": "{SubAssessmentId}",
"type": "microsoft.security/assessments/subassessments",
"tenantId": "{TenantId}",
"kind": "",
"location": "global",
"resourceGroup": "{ResourceGroup}",
"subscriptionId": "{SubscriptionId}",
"managedBy": "",
"sku": null,
"plan": null,
"properties": {
"id": "CVE-2022-42969",
"additionalData": {
"assessedResourceType": "AzureContainerRegistryVulnerability",
"vulnerabilityDetails": {
"severity": "High",
"exploitabilityAssessment": {
"exploitStepsPublished": false,
"exploitStepsVerified": false,
"isInExploitKit": false,
"exploitUris": [],
"types": [
"Remote"
]
},
"lastModifiedDate": "2023-09-12T00:00:00Z",
"publishedDate": "2022-10-16T06:15:00Z",
"workarounds": [],
"references": [
{
"title": "CVE-2022-42969",
"link": "https://nvd.nist.gov/vuln/detail/CVE-2022-42969"
},
{
"title": "oval:org.opensuse.security:def:202242969",
"link": "https://ftp.suse.com/pub/projects/security/oval/suse.linux.enterprise.server.15.xml.gz"
},
{
"title": "oval:com.microsoft.cbl-mariner:def:11166",
"link": "https://raw.githubusercontent.com/microsoft/CBL-MarinerVulnerabilityData/main/cbl-mariner-1.0-oval.xml"
},
{
"title": "ReDoS in py library when used with subversion ",
"link": "https://github.com/advisories/GHSA-w596-4wvx-j9j6"
}
],
"weaknesses": {
"cwe": [
{
"id": "CWE-1333"
}
]
},
"cveId": "CVE-2022-42969",
"cvss": {
"2.0": null,
"3.0": {
"cvssVectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"base": 7.5
}
},
"cpe": {
"language": "*",
"softwareEdition": "*",
"version": "*",
"targetHardware": "*",
"targetSoftware": "python",
"vendor": "py",
"edition": "*",
"product": "py",
"update": "*",
"other": "*",
"part": "Applications",
"uri": "cpe:2.3:a:py:py:*:*:*:*:*:python:*:*"
}
},
"artifactDetails": {
"lastPushedToRegistryUTC": "2023-09-04T16:05:32.8223098Z",
"repositoryName": "public/azureml/aifx/stable-ubuntu2004-cu117-py39-torch200",
"registryHost": "ptebic.azurecr.io",
"artifactType": "ContainerImage",
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:4af8e6f002401a965bbe753a381af308b40d8947fad2b9e1f6a369aa81abee59",
"tags": [
"biweekly.202309.1"
]
},
"softwareDetails": {
"category": "Language",
"language": "python",
"fixedVersion": "",
"version": "1.11.0.0",
"vendor": "py",
"packageName": "py",
"osDetails": {
"osPlatform": "linux",
"osVersion": "ubuntu_linux_20.04"
},
"fixStatus": "FixAvailable",
"evidence": []
},
"cvssV30Score": 7.5
},
"description": "This vulnerability affects the following vendors: Pytest, Suse, Microsoft, Py. To view more details about this vulnerability please visit the vendor website.",
"displayName": "CVE-2022-42969",
"resourceDetails": {
"id": "/repositories/public/azureml/aifx/stable-ubuntu2004-cu117-py39-torch200/images/sha256:4af8e6f002401a965bbe753a381af308b40d8947fad2b9e1f6a369aa81abee59",
"source": "Azure"
},
"timeGenerated": "2023-09-12T13:36:15.0772799Z",
"remediation": "No remediation exists",
"status": {
"description": "Disabled parent assessment",
"severity": "High",
"code": "NotApplicable",
"cause": "Exempt"
}
},
"tags": null,
"identity": null,
"zones": null,
"extendedLocation": null,
"assessmentKey": "c0b7cfc6-3172-465a-b378-53c7ff2cc0d5",
"timeGenerated": "2023-09-12T13:36:15.0772799Z"
}
]
定义
名称 | 描述 |
---|---|
ResourceDetails | 被评估的 Azure 资源的详细信息 |
ContainerRegistryVulnerability | 容器注册表漏洞评估的更多上下文字段 |
CVE | CVE 详细信息 |
CVSS | CVSS 详细信息 |
SecuritySubAssessment | 对资源进行安全子评估 |
SecuritySubAssessmentList | 安全子评估列表 |
ArtifactDetails | 受影响容器映像的详细信息 |
SoftwareDetails | 受影响软件包的详细信息 |
FixReference | 有关修补程序的详细信息(如果可用) |
OS 详细信息 | 有关 os 信息的详细信息 |
VulnerabilityDetails | 有关检测到的漏洞的详细信息 |
CPE | 通用平台枚举 |
Cwe | 常见漏洞枚举 |
VulnerabilityReference | 指向漏洞的参考链接 |
ExploitabilityAssessment | 指向示例攻击的参考链接 |
ContainerRegistryVulnerability (MDVM)
Azure 容器注册表漏洞评估的其他上下文字段
Name | 类型 | 描述 |
---|---|---|
assessedResourceType | string: AzureContainerRegistryVulnerability AwsContainerRegistryVulnerability GcpContainerRegistryVulnerability |
子评估资源类型 |
cvssV30Score | Numeric | CVSS v3 分数 |
vulnerabilityDetails | VulnerabilityDetails | |
artifactDetails | ArtifactDetails | |
softwareDetails | SoftwareDetails |
ArtifactDetails
受影响容器映像的上下文详细信息
Name | 类型 | 描述 |
---|---|---|
repositoryName | 字符串 | 存储库名称 |
RegistryHost | 字符串 | 注册表主机 |
lastPublishedToRegistryUTC | 时间戳 | 上次发布日期的 UTC 时间戳 |
artifactType | 字符串:ContainerImage | |
mediaType | 字符串 | 层媒体类型 |
摘要 | 字符串 | 易受攻击的图像的摘要 |
标记 | 字符串 | 易受攻击的图像的标记 |
软件详细信息
受影响软件包的详细信息
Name | 类型 | 描述 |
---|---|---|
fixedVersion | 字符串 | 已修复的版本 |
category | 字符串 | 漏洞类别 - OS 或语言 |
osDetails | OsDetails | |
language | 字符串 | 受影响包的语言(例如 Python、.NET)也可能为空 |
版本 | 字符串 | |
vendor | 字符串 | |
packageName | 字符串 | |
fixStatus | 字符串 | Unknown、FixAvailable、NoFixAvailable、Scheduled、WontFix |
证据 | 字符串 | 包的证据 |
fixReference | FixReference |
FixReference
有关修补程序的详细信息(如果可用)
Name | 类型 | 说明 |
---|---|---|
ID | 字符串 | 修复 ID |
说明 | 字符串 | 修复说明 |
releaseDate | 时间戳 | 修复时间戳 |
url | 字符串 | 用于修复通知的 URL |
OS 详细信息
有关 os 信息的详细信息
Name | 类型 | 描述 |
---|---|---|
osPlatform | 字符串 | 例如:Linux、Windows |
osName | 字符串 | 例如:Ubuntu |
osVersion | 字符串 |
VulnerabilityDetails
有关检测到的漏洞的详细信息
严重性 | 严重性 | 子评估严重性级别 |
---|---|---|
LastModifiedDate | 时间戳 | |
publishedDate | 时间戳 | 发布日期 |
ExploitabilityAssessment | ExploitabilityAssessment | |
CVSS | 字典 <字符串,CVSS> | 从 cvss 版本到 cvss 详细信息对象的字典 |
解决方法 | 解决方法 | 已发布的漏洞解决方法 |
参考 | VulnerabilityReference | |
缺点 | 弱点 | |
cveId | 字符串 | CVE ID |
Cpe | CPE |
CPE(通用平台枚举)
Name | 类型 | 说明 |
---|---|---|
语言 | 字符串 | 语言标签 |
softwareEdition | 字符串 | |
版本 | 字符串 | 包版本 |
targetSoftware | 字符串 | 目标软件 |
vendor | 字符串 | Vendor |
product | 字符串 | 产品 |
edition | 字符串 | |
update | 字符串 | |
其他 | 字符串 | |
part | 字符串 | 应用程序硬件操作系统 |
uri | 字符串 | CPE 2.3 格式的 URI |
弱点
Name | 类型 | 描述 |
---|---|---|
Cwe | Cwe |
Cwe(常见漏洞枚举)
CWE 详细信息
Name | 类型 | 说明 |
---|---|---|
ID | 字符串 | CWE ID |
VulnerabilityReference
指向漏洞的参考链接
Name | 类型 | 描述 |
---|---|---|
link | 字符串 | 引用 URL |
title | 字符串 | 引用标题 |
ExploitabilityAssessment
指向示例攻击的参考链接
Name | 类型 | 描述 |
---|---|---|
exploitUris | 字符串 | |
exploitStepsPublished | 布尔 | 已发布攻击步骤 |
exploitStepsVerified | 布尔 | 已验证攻击步骤 |
isInExploitKit | 布尔 | 是攻击工具包的一部分 |
types | 字符串 | 攻击类型,例如:NotAvailable、Dos、Local、Remote、WebApps、PrivilegeEscalation |
ResourceDetails - Azure
被评估的 Azure 资源的详细信息
Name | 类型 | 描述 |
---|---|---|
ID | string | 被评估资源的 Azure 资源 ID |
source | 字符串:Azure | 被评估资源所在的平台 |
SubAssessmentStatus
子评估的状态
Name | 类型 | 描述 |
---|---|---|
cause | 字符串 | 评估状态原因的编程代码 |
code | SubAssessmentStatusCode | 评估状态的编程代码 |
description | string | 评估状态的人工可读说明 |
severity | severity | 子评估严重性级别 |
SubAssessmentStatusCode
评估状态的编程代码
Name | 类型 | 描述 |
---|---|---|
正常 | string | 资源运行正常 |
不适用 | string | 未进行此资源的评估 |
不正常 | string | 资源存在需要解决的安全问题 |
SecuritySubAssessment
对资源进行安全子评估
Name | 类型 | 描述 |
---|---|---|
ID | string | 资源 ID |
name | string | 资源名称 |
properties.additionalData | AdditionalData:AzureContainerRegistryVulnerability | 子评估的详细信息 |
properties.category | string | 子评估的类别 |
properties.description | string | 评估状态的人工可读说明 |
properties.displayName | string | 子评估的用户友好显示名称 |
properties.id | string | 漏洞 ID |
properties.impact | string | 此子评估的影响说明 |
properties.remediation | string | 有关如何修正此子评估的信息 |
properties.resourceDetails | ResourceDetails: Azure 资源详细信息 |
已评估的资源的详细信息 |
properties.status | SubAssessmentStatus | 子评估的状态 |
properties.timeGenerated | string | 生成子评估的日期和时间 |
type | string | 资源类型 |
SecuritySubAssessmentList
安全子评估列表
Name | 类型 | 描述 |
---|---|---|
nextLink | string | 用于提取下一页的 URI。 |
value | SecuritySubAssessment | 对资源进行安全子评估 |