Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2025-04-08 GMT+08:00

Creación de una tarea de escaneo de vulnerabilidades

Función

Esta API se utiliza para crear una tarea de escaneo de vulnerabilidades.

Método de invocación

Para obtener más información, consulte Invocación a las API.

URI

POST /v5/{project_id}/vulnerability/scan-task

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto.

Mínimo: 20

Máximo: 64

Tabla 2 Parámetros de consulta

Parámetro

Obligatorio

Tipo

Descripción

enterprise_project_id

No

String

ID de proyecto empresarial del tenant

Mínimo: 0

Máximo: 64

Parámetros de solicitud

Tabla 3 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Token de usuario. Se puede obtener mediante invocación a una API de IAM. El valor de X-Subject-Token en el encabezado de respuesta es el token de usuario.

Mínimo: 32

Máximo: 2097152

Tabla 4 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

manual_scan_type

No

Array of strings

Tipo de operación. Las opciones son las siguientes: -linux_vul: vulnerabilidad de Linux -windows_vul: vulnerabilidad de windows -web_cms: vulnerabilidad de Web-CMS -app_vul: vulnerabilidad de aplicación -urgent_vul: vulnerabilidad de emergencia

Longitud de matriz: 1 - 200

batch_flag

No

Boolean

Especifica si la operación se realiza por lotes. Si el valor es true, se escanean todos los servidores compatibles.

range_type

No

String

Rango de servidores que se van a analizar. Las opciones son las siguientes: -all_host: Escanear todos los servidores. No es necesario configurar agent_id_list para este tipo. -specific_host:

Mínimo: 0

Máximo: 32

agent_id_list

No

Array of strings

Lista de servidores

Mínimo: 0

Máximo: 32

Longitud de matriz: 1 - 200

urgent_vul_id_list

No

Array of strings

Escanee toda la lista de ID de vulnerabilidades de emergencia. Si este parámetro se deja en blanco, se analizan todas las vulnerabilidades de emergencia. Su valor puede ser: URGENT-CVE-2023-46604 Apache ActiveMQ Remote Code Execution Vulnerability URGENT-HSSVD-2020-1109 Elasticsearch Unauthorized Access Vulnerability URGENT-CVE-2022-26134 Atlassian Confluence OGNL Remote Code Execution Vulnerability (Cve-2022-26134) URGENT-CVE-2023-22515 Atlassian Confluence Data Center and Server Privilege Escalation Vulnerability (CVE-2023-22515) URGENT-CVE-2023-22518 Atlassian Confluence Data Center & Server Inappropriate Authorization Mechanism Vulnerability (CVE-2023-22518) URGENT-CVE-2023-28432 MinIO Information Disclosure Vulnerability (CVE-2023-28432) URGENT-CVE-2023-37582 Apache RocketMQ Remote Code Execution Vulnerability (CVE-2023-37582) URGENT-CVE-2023-33246 Apache RocketMQ Remote Code Execution Vulnerability (CVE-2023-33246) URGENT-CNVD-2023-02709 ZENTAO Project Management System Remote Command Execution Vulnerability (CNVD-2023-02709) URGENT-CVE-2022-36804 Atlassian Bitbucket Server and Data Center Command Injection Vulnerability (CVE-2022-36804) URGENT-CVE-2022-22965 Spring Framework JDK >= 9 Remote Code Execution Vulnerability URGENT-CVE-2022-25845 fastjson <1.2.83 Remote Code Execution Vulnerability URGENT-CVE-2019-14439 Jackson-databind Remote Command Execution Vulnerability (CVE-2019-14439) URGENT-CVE-2020-13933 Apache Shiro Authentication Bypass Vulnerability (CVE-2020-13933) URGENT-CVE-2020-26217 XStream < 1.4.14 Remote Code Execution Vulnerability (CVE-2020-26217) URGENT-CVE-2021-4034 Linux Polkit Privilege Escalation Vulnerability (CVE-2021-4034) URGENT-CVE-2021-44228 Apache Log4j2 Remote Code Execution Vulnerability (CVE-2021-44228 and CVE-2021-45046) URGENT-CVE-2022-0847 Dirty Pipe - Linux Kernel Local Privilege Escalation Vulnerability (CVE-2022-0847)

Mínimo: 0

Máximo: 32

Longitud de matriz: 1 - 200

Parámetros de respuesta

Código de estado: 200

Tabla 5 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

task_id

String

ID de tarea de detección

Mínimo: 0

Máximo: 32

Solicitudes de ejemplo

Crear una tarea de detección de vulnerabilidades de emergencia cuyo agent_id sea 0253edfd-30e7-439d-8f3f-17c54c997064 y la lista de ID de vulnerabilidad sea urgent_vul_id_list.

POST https://{endpoint}/v5/{project_id}/vulnerability/scan-task?enterprise_project_id=XXX

{
  "manual_scan_type" : "urgent_vul",
  "batch_flag" : false,
  "range_type" : "specific_host",
  "agent_id_list" : [ "0253edfd-30e7-439d-8f3f-17c54c997064" ],
  "urgent_vul_id_list" : [ "URGENT-CVE-2023-46604", "URGENT-HSSVD-2020-1109", "URGENT-CVE-2022-26134", "URGENT-CVE-2023-22515", "URGENT-CVE-2023-22518", "URGENT-CVE-2023-28432", "URGENT-CVE-2023-37582", "URGENT-CVE-2023-33246", "URGENT-CNVD-2023-02709", "URGENT-CVE-2022-36804", "URGENT-CVE-2022-22965", "URGENT-CVE-2022-25845", "URGENT-CVE-2019-14439", "URGENT-CVE-2020-13933", "URGENT-CVE-2020-26217", "URGENT-CVE-2021-4034", "URGENT-CVE-2021-44228", "URGENT-CVE-2022-0847" ]
}

Ejemplo de respuestas

Código de estado: 200

Detección manual de vulnerabilidades exitosa

{
  "task_id" : "d8a12cf7-6a43-4cd6-92b4-aabf1e917"
}

Código de ejemplo del SDK

El código de ejemplo del SDK es el siguiente.

Java

Crear una tarea de detección de vulnerabilidades de emergencia cuyo agent_id sea 0253edfd-30e7-439d-8f3f-17c54c997064 y la lista de ID de vulnerabilidad sea urgent_vul_id_list.

 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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.*;

import java.util.List;
import java.util.ArrayList;

public class CreateVulnerabilityScanTaskSolution {

    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");

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

        HssClient client = HssClient.newBuilder()
                .withCredential(auth)
                .withRegion(HssRegion.valueOf("<YOUR REGION>"))
                .build();
        CreateVulnerabilityScanTaskRequest request = new CreateVulnerabilityScanTaskRequest();
        request.withEnterpriseProjectId("<enterprise_project_id>");
        ManualVulScanRequestInfo body = new ManualVulScanRequestInfo();
        List<String> listbodyUrgentVulIdList = new ArrayList<>();
        listbodyUrgentVulIdList.add("URGENT-CVE-2023-46604");
        listbodyUrgentVulIdList.add("URGENT-HSSVD-2020-1109");
        listbodyUrgentVulIdList.add("URGENT-CVE-2022-26134");
        listbodyUrgentVulIdList.add("URGENT-CVE-2023-22515");
        listbodyUrgentVulIdList.add("URGENT-CVE-2023-22518");
        listbodyUrgentVulIdList.add("URGENT-CVE-2023-28432");
        listbodyUrgentVulIdList.add("URGENT-CVE-2023-37582");
        listbodyUrgentVulIdList.add("URGENT-CVE-2023-33246");
        listbodyUrgentVulIdList.add("URGENT-CNVD-2023-02709");
        listbodyUrgentVulIdList.add("URGENT-CVE-2022-36804");
        listbodyUrgentVulIdList.add("URGENT-CVE-2022-22965");
        listbodyUrgentVulIdList.add("URGENT-CVE-2022-25845");
        listbodyUrgentVulIdList.add("URGENT-CVE-2019-14439");
        listbodyUrgentVulIdList.add("URGENT-CVE-2020-13933");
        listbodyUrgentVulIdList.add("URGENT-CVE-2020-26217");
        listbodyUrgentVulIdList.add("URGENT-CVE-2021-4034");
        listbodyUrgentVulIdList.add("URGENT-CVE-2021-44228");
        listbodyUrgentVulIdList.add("URGENT-CVE-2022-0847");
        List<String> listbodyAgentIdList = new ArrayList<>();
        listbodyAgentIdList.add("0253edfd-30e7-439d-8f3f-17c54c997064");
        body.withUrgentVulIdList(listbodyUrgentVulIdList);
        body.withAgentIdList(listbodyAgentIdList);
        body.withRangeType("specific_host");
        body.withBatchFlag(false);
        request.withBody(body);
        try {
            CreateVulnerabilityScanTaskResponse response = client.createVulnerabilityScanTask(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());
        }
    }
}

Python

Crear una tarea de detección de vulnerabilidades de emergencia cuyo agent_id sea 0253edfd-30e7-439d-8f3f-17c54c997064 y la lista de ID de vulnerabilidad sea urgent_vul_id_list.

 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
48
49
50
51
52
53
54
55
56
57
58
59
# coding: utf-8

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 = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")

    credentials = BasicCredentials(ak, sk) \

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

    try:
        request = CreateVulnerabilityScanTaskRequest()
        request.enterprise_project_id = "<enterprise_project_id>"
        listUrgentVulIdListbody = [
            "URGENT-CVE-2023-46604",
            "URGENT-HSSVD-2020-1109",
            "URGENT-CVE-2022-26134",
            "URGENT-CVE-2023-22515",
            "URGENT-CVE-2023-22518",
            "URGENT-CVE-2023-28432",
            "URGENT-CVE-2023-37582",
            "URGENT-CVE-2023-33246",
            "URGENT-CNVD-2023-02709",
            "URGENT-CVE-2022-36804",
            "URGENT-CVE-2022-22965",
            "URGENT-CVE-2022-25845",
            "URGENT-CVE-2019-14439",
            "URGENT-CVE-2020-13933",
            "URGENT-CVE-2020-26217",
            "URGENT-CVE-2021-4034",
            "URGENT-CVE-2021-44228",
            "URGENT-CVE-2022-0847"
        ]
        listAgentIdListbody = [
            "0253edfd-30e7-439d-8f3f-17c54c997064"
        ]
        request.body = ManualVulScanRequestInfo(
            urgent_vul_id_list=listUrgentVulIdListbody,
            agent_id_list=listAgentIdListbody,
            range_type="specific_host",
            batch_flag=False
        )
        response = client.create_vulnerability_scan_task(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

Crear una tarea de detección de vulnerabilidades de emergencia cuyo agent_id sea 0253edfd-30e7-439d-8f3f-17c54c997064 y la lista de ID de vulnerabilidad sea urgent_vul_id_list.

 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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")

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

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

    request := &model.CreateVulnerabilityScanTaskRequest{}
	enterpriseProjectIdRequest:= "<enterprise_project_id>"
	request.EnterpriseProjectId = &enterpriseProjectIdRequest
	var listUrgentVulIdListbody = []string{
        "URGENT-CVE-2023-46604",
	    "URGENT-HSSVD-2020-1109",
	    "URGENT-CVE-2022-26134",
	    "URGENT-CVE-2023-22515",
	    "URGENT-CVE-2023-22518",
	    "URGENT-CVE-2023-28432",
	    "URGENT-CVE-2023-37582",
	    "URGENT-CVE-2023-33246",
	    "URGENT-CNVD-2023-02709",
	    "URGENT-CVE-2022-36804",
	    "URGENT-CVE-2022-22965",
	    "URGENT-CVE-2022-25845",
	    "URGENT-CVE-2019-14439",
	    "URGENT-CVE-2020-13933",
	    "URGENT-CVE-2020-26217",
	    "URGENT-CVE-2021-4034",
	    "URGENT-CVE-2021-44228",
	    "URGENT-CVE-2022-0847",
    }
	var listAgentIdListbody = []string{
        "0253edfd-30e7-439d-8f3f-17c54c997064",
    }
	rangeTypeManualVulScanRequestInfo:= "specific_host"
	batchFlagManualVulScanRequestInfo:= false
	request.Body = &model.ManualVulScanRequestInfo{
		UrgentVulIdList: &listUrgentVulIdListbody,
		AgentIdList: &listAgentIdListbody,
		RangeType: &rangeTypeManualVulScanRequestInfo,
		BatchFlag: &batchFlagManualVulScanRequestInfo,
	}
	response, err := client.CreateVulnerabilityScanTask(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

Más información

Para obtener un código de ejemplo del SDK de más lenguajes de programación, consulte la pestaña Código de ejemplo en API Explorer. El código de ejemplo del SDK se puede generar automáticamente.

Códigos de estado

Código de estado

Descripción

200

Detección manual de vulnerabilidades exitosa

Códigos de error

Consulte Códigos de error.