# 获取AI Guard攻击类型分布
#### 功能介绍
获取AI Guard整体攻击类型分布统计，展示每种攻击类型的数量和占比。
- 支持固定时间范围（今天、昨天、近7天、近30天）和自定义时间范围查询
  
- 数据包含内容合规检测和提示词注入攻击两大类
  
- 数据来源：ES统计日志中的api_detection_stat结构
  
 
#### URI
GET /v1/{project_id}/aiguard/overviews/attack/distribution
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID，用于标识请求所属的项目。获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。 **约束限制：** 字符串类型，长度1-64字符。 **取值范围：** 只能由英文字母、数字组成，长度为1\~64个字符。 **默认取值：** 不涉及。 |
   
表2Query参数 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| from        | 否    | Long    | **参数解释：** 查询时间范围的起始时间，用于指定查询检测统计数据的开始时间点。格式为毫秒时间戳，表示自1970年1月1日00:00:00 UTC以来的毫秒数。 **约束限制：** 与to参数配合使用，from必须小于等于to，查询时间范围不超过30天，to不能超过当前时间60秒以上。若不传该参数，默认值为to减去24小时。 **取值范围：** 正整数。 **默认取值：** 不涉及（若不传则默认to减去24小时）。                                                                                                                                                                                                                                                                                                                                |
| to          | 否    | Long    | **参数解释：** 查询时间范围的截止时间，用于指定查询检测统计数据的结束时间点。格式为毫秒时间戳，表示自1970年1月1日00:00:00 UTC以来的毫秒数。 **约束限制：** 与from参数配合使用，from必须小于等于to，查询时间范围不超过30天，to不能超过当前时间60秒以上。若不传该参数，默认值为当前时间。 **取值范围：** 正整数。 **默认取值：** 不涉及（若不传则默认当前时间）。                                                                                                                                                                                                                                                                                                                                      |
| app_id      | 否    | String  | **参数解释：** 应用ID，用于指定查询的AI应用，筛选该应用的检测统计数据。若不传该参数，则查询项目下所有应用的统计数据。 **约束限制：** 只能由英文字母、数字及"*"、"-"组成，长度为1\~36个字符。 **取值范围：** 只能由英文字母、数字及"*"、"-"组成，长度为1\~36个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| offset      | 否    | Integer | **参数解释：** 分页偏移量，用于指定查询结果的起始位置。 **约束限制：** 非负整数。 **取值范围：** 0\~2147483647。 **默认取值：** 0。                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| limit       | 否    | Integer | **参数解释：** 每页返回的最大数据量，用于限制攻击类型分布列表的返回数量。当limit=0时，返回所有攻击类型结构但num值均为0。 **约束限制：** 整数类型，取值范围0-2000。 **取值范围：** 0\~2000。 **默认取值：** 2000。                                                                                                                                                                                                                                                                                                                                                                                                                |
| detect_type | 否    | String  | **参数解释：** 检测类型，用于按检测类型筛选统计数据。不传则查询所有类型。 **约束限制：** 不涉及。 **取值范围：** - text：文本检测   - image：图片检测    **默认取值：** 不涉及。 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token，用于验证请求的合法性。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 **约束限制：** 字符串类型，长度1-16384字符。 **取值范围：** 只能由英文字母、数字及"-"、"_"组成，长度为1\~16384个字符。 **默认取值：** 不涉及。 |
| Content-Type | 是    | String | **参数解释：** 内容类型，用于指定请求体的媒体类型。 **约束限制：** 固定值application/json;charset=utf-8。 **取值范围：** 固定值application/json;charset=utf-8。 **默认取值：** application/json;charset=utf-8。         |
   
#### 响应参数
**状态码：200**
表4响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表5响应Body参数 
| 参数    | 参数类型                                                                                                      | 描述                                                                                            |
|:---|:---|:---|
| num   | Long                                                                                                      | 所有攻击类型的总命中次数，数值等于items中各攻击类型num之和。 取值范围：非负整数。 |
| items | Array of [AttackDistributionItem] objects | 攻击类型分布列表，包含各类攻击类型的命中次数和子类型分布信息。                                                               |
   
 表6AttackDistributionItem 
| 参数    | 参数类型                                                                                    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| key   | String                                                                                  | 攻击类型标识，用于标识攻击的大类。取值范围： - compliance_total_matched：内容合规检测命中次数   - injection_total_matched：提示词注入攻击检测命中次数    |
| num   | Long                                                                                    | 该攻击类型的总命中次数。 取值范围：非负整数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| items | Array of [AttackSubItem] objects | 该攻击类型的子类型分布列表，包含各子攻击类型的命中次数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
 表7AttackSubItem 
| 参数  | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| key | String | 攻击子类型标识。取值范围： 合规检测子类型： - politics_matched：政治敏感   - violent_matched：暴力   - illegal_matched：违法犯罪   - hatespeech_matched：仇恨言论   - privatesensitive_matched：隐私敏感   - religion_matched：宗教   - other_matched：其他   - goal_hijacking_matched：目标劫持   - prompt_leaking_matched：提示词泄露   - role_play_instruction_matched：角色扮演   - unsafe_instruction_topic_matched：不安全指令   - inquiry_with_unsafe_opinion_matched：不安全观点询问   - reverse_exposure_matched：反向暴露   - multi_step_instruction_matched：多步指令   - context_task_matched：上下文任务   - opposition_response_matched：对抗响应   - virtual_conversation_matched：虚拟对话   - do_anything_now_matched：越权指令   - code_injection_matched：代码注入    注入检测子类型： |
| num | Long   | 该攻击子类型的命中次数。 取值范围：非负整数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   
**状态码：400**
表8响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                          |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：401**
表10响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表11响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                          |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：403**
表12响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表13响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                          |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：429**
表14响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表15响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                          |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：500**
表16响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表17响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                          |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
#### 请求示例
无
#### 响应示例
无
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 200 | 成功返回攻击类型分布数据 |
| 400 | 请求参数无效       |
| 401 | 认证失败         |
| 403 | 权限不足         |
| 429 | 请求过于频繁       |
| 500 | 服务端内部处理错误    |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-waf/ErrorCode.html)。
