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
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID del proyecto. Mínimo: 20 Máximo: 64 |
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
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
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 |
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
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.