文档首页/ 企业主机安全 HSS/ API参考/ API说明/ 病毒查杀/ 查询病毒扫描结果列表 - ListAntiVirusResult
更新时间:2025-12-26 GMT+08:00
分享

查询病毒扫描结果列表 - ListAntiVirusResult

功能介绍

查询病毒扫描结果列表。

调用方法

请参见如何调用API

授权信息

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

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

URI

GET /v5/{project_id}/antivirus/result

表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)。

offset

Integer

参数解释:

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

约束限制:

不涉及

取值范围:

最小值0,最大值2000000

默认取值:

不涉及

limit

Integer

参数解释:

每页显示个数

约束限制:

不涉及

取值范围:

取值10-200

默认取值:

10

host_name

String

参数解释:

服务器名称

约束限制:

不涉及

取值范围:

字符长度1-256位

默认取值:

不涉及

private_ip

String

参数解释:

服务器私有IP

约束限制:

不涉及

取值范围:

字符长度1-128位

默认取值:

不涉及

public_ip

String

参数解释:

服务器弹性IP地址

约束限制:

不涉及

取值范围:

IPv4格式(长度7-15位)、IPv6格式(长度15-39位)

默认取值:

handle_status

String

参数解释:

处置状态

约束限制:

不涉及

取值范围:

包含如下:

  • unhandled:未处理

  • handled:已处理

默认取值:

不涉及

severity_list

Array of strings

参数解释:

威胁等级

约束限制:

不涉及

取值范围:

威胁等级,包含如下:

  • Low:低危

  • Medium:中危

  • High:高危

  • Critical:致命

默认取值:

不涉及

asset_value

String

参数解释

资产重要性

约束限制

不涉及

取值范围

  • important:重要资产

  • common:一般资产

  • test:测试资产

默认取值

malware_name

String

参数解释:

病毒名称

约束限制:

不涉及

取值范围:

字符长度1-128位

默认取值:

不涉及

file_path

String

参数解释

文件路径

约束限制

不涉及

取值范围

字符数1-512位

默认取值

不涉及

file_hash

String

参数解释

文件hash,当前为sha256

约束限制

需为合法的SHA256哈希值

取值范围

字符长度64位

默认取值

不涉及

task_name

String

参数解释:

任务名称

约束限制:

不涉及

取值范围:

字符长度1-128位

默认取值:

不涉及

manual_isolate

Boolean

参数解释:

是否使用手动隔离按钮

约束限制:

不涉及

取值范围:

true(已使用手动隔离)、false(未使用手动隔离)

默认取值:

不涉及

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

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

约束限制:

不涉及

取值范围:

字符长度1-32768位

默认取值:

不涉及

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

total_num

Integer

参数解释:

总数

取值范围:

最小值0,最大值2147483647

data_list

Array of AntiVirusResultResponseInfo objects

参数解释:

病毒查杀结果详细信息列表

取值范围:

最小值0,最大值1000

表5 AntiVirusResultResponseInfo

参数

参数类型

描述

result_id

String

参数解释

病毒查杀结果ID

取值范围

字符长度1-64位

malware_type

String

参数解释

病毒类型

取值范围

Trojan(木马)、Virus(病毒)、Worm(蠕虫)等

malware_name

String

参数解释

病毒名称

取值范围

字符长度1-128位

severity

String

参数解释:

威胁等级

取值范围:

包含如下:

  • Low:低危

  • Medium:中危

  • High:高危

  • Critical:致命

task_id

String

参数解释

任务ID

取值范围:

字符长度1-64位

task_name

String

参数解释:

任务名称

取值范围:

最大长度255个unicode字符。

file_info

ResultFileResponseInfo object

文件信息

resource_info

ResultResourceResponseInfo object

资源信息

event_type

Integer

参数解释:

病毒查杀结果对应的事件类型标识

取值范围:

0-10(具体含义:0=文件病毒事件、1=内存病毒事件...,详见产品错误码/枚举文档)

occur_time

Integer

参数解释

发生时间,毫秒

取值范围

最小值0,最大值9223372036854775807,时间格式:毫秒级时间戳(UTC时区,从1970-01-01 00:00:00开始计算),单位:ms

handle_status

String

参数解释

处理状态

取值范围

  • unhandled:未处理

  • handled:已处理

handle_method

String

参数解释:

处理方式

取值范围:

包含如下:

  • mark_as_handled:手动处理

  • ignore:忽略

  • add_to_alarm_whitelist:加入告警白名单

  • isolate_and_kill:隔离文件

  • unhandle:取消手动处理

  • do_not_ignore:取消忽略

  • remove_from_alarm_whitelist:删除告警白名单

  • do_not_isolate_or_kill:取消隔离文件

memo

String

参数解释

备注信息

取值范围

字符长度0-512位

operate_accept_list

Array of strings

参数解释:

后续处置操作列表

取值范围:

数组元素为处置操作枚举字符串(如“isolate_and_kill”“ignore”等),数组长度0-4(具体支持操作因结果状态而异)

operate_detail_list

Array of ResultDetailResponseInfo objects

参数解释:

操作详情信息列表(页面不展示)

取值范围:

数组长度0-100

isolate_tag

String

参数解释:

自动隔离查杀标识

取值范围:

字符长度1-16位,枚举值为“auto_isolate”(自动隔离)、“manual”(手动操作)、“none”(未隔离)

表6 ResultFileResponseInfo

参数

参数类型

描述

file_path

String

参数解释

文件路径

取值范围

字符长度1-256位

file_hash

String

参数解释

文件哈希

取值范围

字符长度1-256位

file_size

Integer

参数解释:

文件大小

约束限制:

不涉及

取值范围:

最小值0,最大值9223372036854775807

默认取值:

不涉及

file_owner

String

参数解释

文件属性

取值范围

字符长度0-64位

file_attr

String

参数解释

文件的系统属性(如读写权限、隐藏属性、执行权限等)

取值范围

字符长度1-256位

file_ctime

Integer

参数解释

文件创建时间

取值范围

非负长整数,时间格式:毫秒级时间戳(UTC时区,从1970-01-01 00:00:00开始计算),单位:ms

file_mtime

Integer

参数解释

文件更新时间

取值范围

非负长整数,时间格式:毫秒级时间戳(UTC时区,从1970-01-01 00:00:00开始计算),单位:ms

表7 ResultResourceResponseInfo

参数

参数类型

描述

host_name

String

参数解释:

服务器名称

取值范围:

字符长度1-256位

host_id

String

参数解释

服务器(主机)的唯一标识ID

取值范围

字符长度1-64位

agent_id

String

参数解释:

主机上安装的杀毒Agent的唯一标识ID,用于关联主机与杀毒服务

约束限制:

不涉及

取值范围:

字符长度1-64位

默认取值:

不涉及

private_ip

String

参数解释

服务器私有IP

取值范围

字符长度1-128位

public_ip

String

参数解释

弹性公网IP地址

取值范围

字符长度1-256位,支持IPv4或IPv6格式(IPv4长度7-15位,IPv6长度15-39位)

os_type

String

参数解释

操作系统类型

取值范围

  • Linux:Linux

  • Windows:Windows

host_status

String

参数解释:

服务器状态

取值范围:

包含如下4种

  • ACTIVE:运行中

  • SHUTOFF:关机

  • BUILDING:创建中

  • ERROR:故障

agent_status

String

参数解释:

Agent的运行状态

取值范围:

包含如下5种

  • installed:已安装

  • not_installed:未安装

  • online:在线

  • offline:离线

  • install_failed:安装失败

  • installing:安装中

protect_status

String

参数解释:

防护状态

取值范围:

包含如下2种

  • closed:未防护

  • opened:防护中

asset_value

String

参数解释

资产重要性。

取值范围

  • important :重要资产。

  • common :一般资产。

  • test :测试资产。

os_name

String

参数解释:

操作系统名称

取值范围:

字符长度0-128位

os_version

String

参数解释:

操作系统版本

取值范围:

字符长度0-64位

表8 ResultDetailResponseInfo

参数

参数类型

描述

keyword

String

参数解释

告警事件关键字,仅用于告警白名单

取值范围

字符长度0-128位

hash

String

参数解释

告警事件hash,仅用于告警白名单

取值范围

字符长度64位(SHA256哈希)

请求示例

响应示例

状态码:200

病毒查杀结果列表

{
  "total_num" : 3849,
  "data_list" : [ {
    "result_id" : "f989**25-b3a4-4d88-b05a-cc***cd1205",
    "malware_type" : "木马",
    "malware_name" : "Linux.Trojan.Ircbot",
    "severity" : "High",
    "task_id" : "cc****7a-bf3c-4b6a-9f77-32857****5504",
    "task_name" : "自定义查杀-20250121211946",
    "file_info" : {
      "file_path" : "/root/Malware_Samples/IRC-Robot/a87b13391818*****5466b66363ea4d*******f2d3e30448d6930ab722b5",
      "file_hash" : "a87****80203c5466b66363ea4d5****5400f2d3e30448d6930ab722b5",
      "file_size" : 5028448,
      "file_owner" : "root",
      "file_attr" : "-rw-r--r--",
      "file_ctime" : 1737030295,
      "file_mtime" : 1700805582
    },
    "resource_info" : {
      "host_name" : "h00657476-linux-不要动不要删",
      "host_id" : "b4****be-4c28-4bf3-8070-fde***c6689",
      "agent_id" : "50a1154572*****f934415cdd6817af90a905c5****951a2265003df8e9",
      "private_ip" : "192.168.0.**",
      "public_ip" : "100.93.10.***",
      "os_type" : "Linux",
      "host_status" : "ACTIVE",
      "agent_status" : "online",
      "protect_status" : "opened",
      "asset_value" : "common",
      "os_name" : "HCE OS",
      "os_version" : "2.0"
    },
    "event_type" : 1004,
    "occur_time" : 1737465650731,
    "handle_status" : "unhandled",
    "operate_accept_list" : [ "mark_as_handled", "ignore", "add_to_alarm_whitelist", "manual_isolate_and_kill" ],
    "operate_detail_list" : [ {
      "keyword" : "a87b1339181880203c5******95400f2d3e30448d6930ab722b5",
      "hash" : "a87b1339181880203c5466b66363ea4d54*****d3e30448d6930ab722b5"
    } ]
  } ]
}

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 ListAntiVirusResultSolution {

    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();
        ListAntiVirusResultRequest request = new ListAntiVirusResultRequest();
        try {
            ListAntiVirusResultResponse response = client.listAntiVirusResult(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 = ListAntiVirusResultRequest()
        response = client.list_anti_virus_result(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.ListAntiVirusResultRequest{}
	response, err := client.ListAntiVirusResult(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

状态码

状态码

描述

200

病毒查杀结果列表

错误码

请参见错误码

相关文档