文档首页/ 企业主机安全 HSS/ API参考/ API说明/ 漏洞管理/ 查询linux漏洞基本信息 - ShowLinuxVulDetail
更新时间:2025-12-26 GMT+08:00
分享

查询linux漏洞基本信息 - ShowLinuxVulDetail

功能介绍

查询linux漏洞基本信息。

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,当前API调用无需身份策略权限。

URI

GET /v5/{project_id}/vulnerability/linux-detail

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID,用于明确项目归属,配置后可通过该ID查询项目下资产。获取方式请参见获取项目ID

约束限制:

不涉及

取值范围:

字符长度1-256位

默认取值:

不涉及

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

参数解释:

企业项目ID,用于过滤不同企业项目下的资产。获取方式请参见获取企业项目ID

如需查询所有企业项目下的资产请传参“all_granted_eps”。

约束限制:

开通企业项目功能后才需要配置企业项目ID参数。

取值范围:

字符长度1-256位

默认取值:

0,表示默认企业项目(default)。

limit

Integer

参数解释:

每页显示个数

约束限制:

不涉及

取值范围:

取值10-200

默认取值:

10

offset

Integer

参数解释:

偏移量:指定返回记录的开始位置

约束限制:

不涉及

取值范围:

最小值0,最大值2000000

默认取值:

不涉及

vul_id

String

参数解释:

漏洞补丁编号

约束限制:

不涉及

取值范围:

字符长度1-256

默认取值:

不涉及

cve_id

String

参数解释:

漏洞编号

约束限制:

不涉及

取值范围:

字符长度1-32

默认取值:

不涉及

handle_status

String

参数解释:

漏洞处置状态

约束限制:

不涉及

取值范围:

  • unhandled:未处理

  • handled:已处理

默认取值:

不涉及

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token,包含了用户的身份、权限等信息,在调用API接口时,可通过Token进行身份认证。获取方式请参见获取用户Token

约束限制:

不涉及

取值范围:

字符长度1-32768位

默认取值:

不涉及

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

total_num

Integer

参数解释:

记录总数

取值范围:

最小值0,最大值2147483647

data_list

Array of LinuxVulDetailInfo objects

参数解释:

linux漏洞cve列表

取值范围:

最小值0,最大值10000

表5 LinuxVulDetailInfo

参数

参数类型

描述

cve_id

String

参数解释:

漏洞编号

取值范围:

字符长度0-255

cve_name

String

参数解释:

cve漏洞名称

取值范围:

字符长度0-512

cvss_vector

String

参数解释:

攻击矢量

取值范围:

字符长度0-255

cve_solution

String

参数解释:

cve修复建议

取值范围:

字符长度0-4096

cve_affect

String

参数解释:

cve漏洞危害

取值范围:

字符长度0-128

cve_affect_description

String

参数解释:

cve漏洞危害的描述信息

取值范围:

字符长度0-4096

cve_type

String

参数解释:

cve漏洞类型

取值范围:

字符长度0-128

cve_type_description

String

参数解释:

cve漏洞类型的描述信息

取值范围:

字符长度0-4096

cve_level

String

参数解释:

cve危险程度

取值范围:

  • Low:低危

  • Medium:中危

  • High:高危

cvss

Float

参数解释:

漏洞分值

取值范围:

最小值0,最大值10

cvss_version

String

参数解释:

cvss评分版本

取值范围:

字符长度0-32

description

String

参数解释:

漏洞描述

取值范围:

字符长度0-1024

public_time

Long

参数解释:

披露时间

取值范围:

最小值0,最大值2^63-1

cnvd_id

String

参数解释:

cnvd编号

取值范围:

字符长度0-32

cnnvd_id

String

参数解释:

cnnvd编号

取值范围:

字符长度0-32

hosts_num

VulnerabilityHostNumberInfo object

影响主机

表6 VulnerabilityHostNumberInfo

参数

参数类型

描述

important

Integer

参数解释:

重要主机数量

取值范围:

取值0-10000

common

Integer

参数解释:

一般主机数量

取值范围:

取值0-10000

test

Integer

参数解释:

测试主机数量

取值范围:

取值0-10000

请求示例

查询project_id为2b31ed520xxxxxxebedb6e57xxxxxxxx的linux漏洞为UTSA-2023-001306的详细信息。

GET https://{endpoint}/v5/2b31ed520xxxxxxebedb6e57xxxxxxxx/vulnerability/linux-detail?offset=0&limit=10&vul_id=UTSA-2023-001306&handle_status=unhandled&enterprise_project_id=all_granted_eps

响应示例

状态码:200

请求已成功

{
  "total_num" : 1,
  "data_list" : [ {
    "cvss" : 4.4,
    "description" : "FreeType是一款使用C语言编写的开源字体渲染库。\r\n该CVE编号已撤回。",
    "cve_id" : "CVE-2023-2004",
    "cve_name" : "FreeType 安全缺陷漏洞",
    "cvss_vector" : "CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L",
    "cve_solution" : "正式修复方案:\n1. 修复步骤:\n   由于该CVE编号已撤回,具体漏洞细节和修复方案可能不可用。建议定期检查FreeType官方网站和相关安全公告,以获取最新的安全更新和补丁信息。如果FreeType发布了针对该漏洞的补丁,请按照以下步骤进行修复:\n\n   a. 访问FreeType官方网站或安全公告页面,下载最新的补丁或更新。\n   b. 按照官方提供的安装说明,应用补丁或更新到您的FreeType库。\n   c. 重新编译和部署相关应用程序,确保使用了修补后的FreeType库。\n\n2. 预防措施:\n   为了防止类似漏洞在未来发生,建议采取以下最佳实践:\n\n   a. 定期监控FreeType和其他依赖库的安全公告,及时应用安全补丁。\n   b. 使用自动化工具定期扫描项目依赖库中的已知漏洞。\n   c. 在开发过程中严格遵循安全编码规范,避免引入常见的安全漏洞。\n   d. 对于关键系统,考虑使用多层防御策略,如入侵检测系统和应用防火墙,以增加额外的安全层。\n\n重启服务,重启系统,无需重启\n\n",
    "cve_type" : "安全缺陷",
    "cve_type_description" : "安全缺陷即因编码缺陷或者配置问题导致引发软件程序或者硬件设备出现安全风险问题。安全缺陷是所有漏洞类型的统称,即所有的漏洞类型都可以叫安全缺陷。",
    "cve_level" : "Medium",
    "cvss_version" : "3.0",
    "public_time" : 1681476566000,
    "cnnvd_id" : "CNNVD-202304-1201",
    "hosts_num" : {
      "important" : 0,
      "common" : 1,
      "test" : 0
    }
  } ]
}

SDK代码示例

SDK代码示例如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.hss.v5.region.HssRegion;
import com.huaweicloud.sdk.hss.v5.*;
import com.huaweicloud.sdk.hss.v5.model.*;


public class ShowLinuxVulDetailSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        HssClient client = HssClient.newBuilder()
                .withCredential(auth)
                .withRegion(HssRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowLinuxVulDetailRequest request = new ShowLinuxVulDetailRequest();
        try {
            ShowLinuxVulDetailResponse response = client.showLinuxVulDetail(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkhss.v5.region.hss_region import HssRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkhss.v5 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = HssClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(HssRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowLinuxVulDetailRequest()
        response = client.show_linux_vul_detail(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    hss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := hss.NewHssClient(
        hss.HssClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowLinuxVulDetailRequest{}
	response, err := client.ShowLinuxVulDetail(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

请求已成功

错误码

请参见错误码

相关文档