容器漏洞评估 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 对资源进行安全子评估