通过HashKey批量获取文件检测结果。
接口说明
推送检测过的文件才能获取检测结果,检测结果将保留 5 小时,5 小时内可重复查询。推送检测接口请参考 CreateFileDetect 。
文件唯一标识
文件检测相关接口均包含 HashKey 参数,表示此次检测文件的唯一标识,用于查询检测结果。仅支持传入文件完整内容的 MD5 或 SHA-256。
查询检测结果
可以通过 Ext 扩展字段里的 FileLabel 对文件属性进行筛选,例如通过组合 encrypted、Zip 这两个属性筛选加密的压缩包。支持的文件标签-压缩文件类型:Zip、RAR、7-Zip、XAR、ZLib、GZip、tar;可以通过 Ext 扩展字段里的 Highlight 字段定位 Webshell 文件的恶意代码段。Highlight 字段为列表类型,列表中每个元素对应一段代码范围,数字表示相对文件头部的偏移字符数。
查询文件检测结果前,需依次完成以下步骤:
调用 CreateFileDetectUploadUrl 获取 OSS 上传参数。
使用返回的签名信息,通过表单方式将文件上传到 OSS,具体上传方式请参见 OSS PostObject 表单上传文档。
调用 CreateFileDetect 提交文件检测任务。
调用 GetFileDetectResult 查询检测结果。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
yundun-sas:GetFileDetectResult |
get |
*全部资源
|
无 | 无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| SourceIp |
string |
否 |
访问源 IP 地址。 |
183.46.XX.XX |
| HashKeyList |
array |
是 |
文件标识列表。最多传入 200 个元素。 |
|
|
string |
否 |
文件唯一标识。 |
0a212417e65c26ff133cfff28f9c**** |
|
| Type |
integer |
是 |
需要检测的文件类型。取值:
|
0 |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
返回信息。 |
||
| RequestId |
string |
本次调用请求的 ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。 |
24A20733-10A0-4AF6-BE6B-E3322413BB68 |
| ResultList |
array<object> |
检测结果列表。 |
|
|
object |
文件检测结果信息。 |
||
| HashKey |
string |
文件标识。 |
0a212417e65c26ff133cfff28f6c**** |
| Result |
integer |
文件检测结果。取值:
|
0 |
| Score |
integer |
文件检测分数。分数区间及危险等级的对应关系如下:
重要 分数越高,文件越可疑。 仅当 Result 为 1(可疑文件)时返回;Result 为 0 或 3 时不返回本字段。 |
100 |
| VirusType |
string |
病毒类型。取值:
说明
Result 为 0 或 3 时不支持此参数。 仅当 Result 为 1(可疑文件)时返回;Result 为 0 或 3 时不返回本字段。 |
WebShell |
| Code |
string |
结果代码,200 表示成功,若为别的值则表示失败,调用方可根据此字段判断失败原因。 |
200 |
| Message |
string |
错误码的详细信息。 |
successful |
| Ext |
string |
检测结果扩展信息。 |
{ "HighLight": [ [ 23245, 23212 ] ], "FileLabel": [ "PE32", "Zip", "SFX", "encrypted" ] } |
| Compress |
boolean |
是否识别为压缩包。
说明
Type 为 6 时不支持此参数。 |
false |
以下示例展示检测结果列表中的单条结果,省略其他返回字段。
安全文件(Result 为 0),不返回 Score 和 VirusType:
{"Result": 0}
可疑文件(Result 为 1),返回 Score 和 VirusType:
{"Result": 1, "Score": 100, "VirusType": "WebShell"}
示例
正常返回示例
JSON格式
{
"RequestId": "24A20733-10A0-4AF6-BE6B-E3322413BB68",
"ResultList": [
{
"HashKey": "0a212417e65c26ff133cfff28f6c****",
"Result": 0,
"Score": 100,
"VirusType": "WebShell",
"Code": "200",
"Message": "successful",
"Ext": "{\n \"HighLight\":\n [\n [\n 23245,\n 23212\n ]\n ],\n \"FileLabel\":\n [\n \"PE32\",\n \"Zip\",\n \"SFX\",\n \"encrypted\"\n ]\n}",
"Compress": false
}
]
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | RequestTooFrequently | Request too frequently, please try again later | 请求太频繁,请稍后再试 |
| 400 | GetResultFail | Get result fail, found no detect record for this file or result has been expired | 获取结果失败,未找到文件推送记录或者检测结果已过期。 |
| 400 | InvalidApiDetectType | Unsupported Api Detect Type. | 不支持的文件类型。 |
| 500 | ServerError | ServerError | 服务故障,请稍后重试! |
| 500 | SystemBusy | System busy, please try again later. | 系统繁忙,请稍后重试。 |
| 403 | NoPermission | caller has no permission | 当前操作未被授权,请联系主账号在RAM控制台进行授权后再执行操作。 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。