tencentcloud-sdk-python 3.0.1133__py2.py3-none-any.whl → 3.0.1134__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -61,6 +61,1321 @@ class AddNewBindRoleUserResponse(AbstractModel):
61
61
  self._RequestId = params.get("RequestId")
62
62
 
63
63
 
64
+ class AlertExtraInfo(AbstractModel):
65
+ """告警下拉字段
66
+
67
+ """
68
+
69
+ def __init__(self):
70
+ r"""
71
+ :param _RelateEvent: 相关攻击事件
72
+ 注意:此字段可能返回 null,表示取不到有效值。
73
+ :type RelateEvent: :class:`tencentcloud.csip.v20221121.models.RelatedEvent`
74
+ :param _LeakContent: 泄漏内容
75
+ 注意:此字段可能返回 null,表示取不到有效值。
76
+ :type LeakContent: str
77
+ :param _LeakAPI: 泄漏API
78
+ 注意:此字段可能返回 null,表示取不到有效值。
79
+ :type LeakAPI: str
80
+ :param _SecretID: secretID
81
+ 注意:此字段可能返回 null,表示取不到有效值。
82
+ :type SecretID: str
83
+ :param _Rule: 命中规则
84
+ 注意:此字段可能返回 null,表示取不到有效值。
85
+ :type Rule: str
86
+ :param _RuleDesc: 规则描述
87
+ 注意:此字段可能返回 null,表示取不到有效值。
88
+ :type RuleDesc: str
89
+ :param _ProtocolPort: 协议端口
90
+ 注意:此字段可能返回 null,表示取不到有效值。
91
+ :type ProtocolPort: str
92
+ :param _AttackContent: 攻击内容
93
+ 注意:此字段可能返回 null,表示取不到有效值。
94
+ :type AttackContent: str
95
+ :param _AttackIPProfile: 攻击IP画像
96
+ 注意:此字段可能返回 null,表示取不到有效值。
97
+ :type AttackIPProfile: str
98
+ :param _AttackIPTags: 攻击IP标签
99
+ 注意:此字段可能返回 null,表示取不到有效值。
100
+ :type AttackIPTags: str
101
+ :param _RequestMethod: 请求方式
102
+ 注意:此字段可能返回 null,表示取不到有效值。
103
+ :type RequestMethod: str
104
+ :param _HttpLog: HTTP日志
105
+ 注意:此字段可能返回 null,表示取不到有效值。
106
+ :type HttpLog: str
107
+ :param _AttackDomain: 被攻击域名
108
+ 注意:此字段可能返回 null,表示取不到有效值。
109
+ :type AttackDomain: str
110
+ :param _FilePath: 文件路径
111
+ 注意:此字段可能返回 null,表示取不到有效值。
112
+ :type FilePath: str
113
+ :param _UserAgent: user_agent
114
+ 注意:此字段可能返回 null,表示取不到有效值。
115
+ :type UserAgent: str
116
+ :param _RequestHeaders: 请求头
117
+ 注意:此字段可能返回 null,表示取不到有效值。
118
+ :type RequestHeaders: str
119
+ :param _LoginUserName: 登录用户名
120
+ 注意:此字段可能返回 null,表示取不到有效值。
121
+ :type LoginUserName: str
122
+ :param _VulnerabilityName: 漏洞名称
123
+ 注意:此字段可能返回 null,表示取不到有效值。
124
+ :type VulnerabilityName: str
125
+ :param _CVE: 公共漏洞和暴露
126
+ 注意:此字段可能返回 null,表示取不到有效值。
127
+ :type CVE: str
128
+ :param _ServiceProcess: 服务进程
129
+ 注意:此字段可能返回 null,表示取不到有效值。
130
+ :type ServiceProcess: str
131
+ :param _FileName: 文件名
132
+ 注意:此字段可能返回 null,表示取不到有效值。
133
+ :type FileName: str
134
+ :param _FileSize: 文件大小
135
+ 注意:此字段可能返回 null,表示取不到有效值。
136
+ :type FileSize: str
137
+ :param _FileMD5: 文件MD5
138
+ 注意:此字段可能返回 null,表示取不到有效值。
139
+ :type FileMD5: str
140
+ :param _FileLastAccessTime: 文件最近访问时间
141
+ 注意:此字段可能返回 null,表示取不到有效值。
142
+ :type FileLastAccessTime: str
143
+ :param _FileModifyTime: 文件修改时间
144
+ 注意:此字段可能返回 null,表示取不到有效值。
145
+ :type FileModifyTime: str
146
+ :param _RecentAccessTime: 最近访问时间
147
+ 注意:此字段可能返回 null,表示取不到有效值。
148
+ :type RecentAccessTime: str
149
+ :param _RecentModifyTime: 最近修改时间
150
+ 注意:此字段可能返回 null,表示取不到有效值。
151
+ :type RecentModifyTime: str
152
+ :param _VirusName: 病毒名
153
+ 注意:此字段可能返回 null,表示取不到有效值。
154
+ :type VirusName: str
155
+ :param _VirusFileTags: 病毒文件标签
156
+ 注意:此字段可能返回 null,表示取不到有效值。
157
+ :type VirusFileTags: str
158
+ :param _BehavioralCharacteristics: 行为特征
159
+ 注意:此字段可能返回 null,表示取不到有效值。
160
+ :type BehavioralCharacteristics: str
161
+ :param _ProcessNamePID: 进程名(PID)
162
+ 注意:此字段可能返回 null,表示取不到有效值。
163
+ :type ProcessNamePID: str
164
+ :param _ProcessPath: 进程路径
165
+ 注意:此字段可能返回 null,表示取不到有效值。
166
+ :type ProcessPath: str
167
+ :param _ProcessCommandLine: 进程命令行
168
+ 注意:此字段可能返回 null,表示取不到有效值。
169
+ :type ProcessCommandLine: str
170
+ :param _ProcessPermissions: 进程权限
171
+ 注意:此字段可能返回 null,表示取不到有效值。
172
+ :type ProcessPermissions: str
173
+ :param _ExecutedCommand: 执行命令
174
+ 注意:此字段可能返回 null,表示取不到有效值。
175
+ :type ExecutedCommand: str
176
+ :param _AffectedFileName: 受影响文件名
177
+ 注意:此字段可能返回 null,表示取不到有效值。
178
+ :type AffectedFileName: str
179
+ :param _DecoyPath: 诱饵路径
180
+ 注意:此字段可能返回 null,表示取不到有效值。
181
+ :type DecoyPath: str
182
+ :param _MaliciousProcessFileSize: 恶意进程文件大小
183
+ 注意:此字段可能返回 null,表示取不到有效值。
184
+ :type MaliciousProcessFileSize: str
185
+ :param _MaliciousProcessFileMD5: 恶意进程文件MD5
186
+ 注意:此字段可能返回 null,表示取不到有效值。
187
+ :type MaliciousProcessFileMD5: str
188
+ :param _MaliciousProcessNamePID: 恶意进程名(PID)
189
+ 注意:此字段可能返回 null,表示取不到有效值。
190
+ :type MaliciousProcessNamePID: str
191
+ :param _MaliciousProcessPath: 恶意进程路径
192
+ 注意:此字段可能返回 null,表示取不到有效值。
193
+ :type MaliciousProcessPath: str
194
+ :param _MaliciousProcessStartTime: 恶意进程启动时间
195
+ 注意:此字段可能返回 null,表示取不到有效值。
196
+ :type MaliciousProcessStartTime: str
197
+ :param _CommandContent: 命令内容
198
+ 注意:此字段可能返回 null,表示取不到有效值。
199
+ :type CommandContent: str
200
+ :param _StartupUser: 启动用户
201
+ 注意:此字段可能返回 null,表示取不到有效值。
202
+ :type StartupUser: str
203
+ :param _UserGroup: 用户所属组
204
+ 注意:此字段可能返回 null,表示取不到有效值。
205
+ :type UserGroup: str
206
+ :param _NewPermissions: 新增权限
207
+ 注意:此字段可能返回 null,表示取不到有效值。
208
+ :type NewPermissions: str
209
+ :param _ParentProcess: 父进程
210
+ 注意:此字段可能返回 null,表示取不到有效值。
211
+ :type ParentProcess: str
212
+ :param _ClassName: 类名
213
+ 注意:此字段可能返回 null,表示取不到有效值。
214
+ :type ClassName: str
215
+ :param _ClassLoader: 所属类加载器
216
+ 注意:此字段可能返回 null,表示取不到有效值。
217
+ :type ClassLoader: str
218
+ :param _ClassFileSize: 类文件大小
219
+ 注意:此字段可能返回 null,表示取不到有效值。
220
+ :type ClassFileSize: str
221
+ :param _ClassFileMD5: 类文件MD5
222
+ 注意:此字段可能返回 null,表示取不到有效值。
223
+ :type ClassFileMD5: str
224
+ :param _ParentClassName: 父类名
225
+ 注意:此字段可能返回 null,表示取不到有效值。
226
+ :type ParentClassName: str
227
+ :param _InheritedInterface: 继承接口
228
+ 注意:此字段可能返回 null,表示取不到有效值。
229
+ :type InheritedInterface: str
230
+ :param _Comment: 注释
231
+ 注意:此字段可能返回 null,表示取不到有效值。
232
+ :type Comment: str
233
+ :param _PayloadContent: 载荷内容
234
+ 注意:此字段可能返回 null,表示取不到有效值。
235
+ :type PayloadContent: str
236
+ :param _CallbackAddressPortrait: 回连地址画像
237
+ 注意:此字段可能返回 null,表示取不到有效值。
238
+ :type CallbackAddressPortrait: str
239
+ :param _CallbackAddressTag: 回连地址标签
240
+ 注意:此字段可能返回 null,表示取不到有效值。
241
+ :type CallbackAddressTag: str
242
+ :param _ProcessMD5: 进程MD5
243
+ 注意:此字段可能返回 null,表示取不到有效值。
244
+ :type ProcessMD5: str
245
+ :param _FilePermission: 文件权限
246
+ 注意:此字段可能返回 null,表示取不到有效值。
247
+ :type FilePermission: str
248
+ :param _FromLogAnalysisData: 来源于日志分析的信息字段
249
+ 注意:此字段可能返回 null,表示取不到有效值。
250
+ :type FromLogAnalysisData: list of KeyValue
251
+ :param _HitProbe: 命中探针
252
+ 注意:此字段可能返回 null,表示取不到有效值。
253
+ :type HitProbe: str
254
+ :param _HitHoneyPot: 命中蜜罐
255
+
256
+ 注意:此字段可能返回 null,表示取不到有效值。
257
+ :type HitHoneyPot: str
258
+ :param _CommandList: 命令列表
259
+ 注意:此字段可能返回 null,表示取不到有效值。
260
+ :type CommandList: str
261
+ :param _AttackEventDesc: 攻击事件描述
262
+
263
+ 注意:此字段可能返回 null,表示取不到有效值。
264
+ :type AttackEventDesc: str
265
+ :param _ProcessInfo: 进程信息
266
+ 注意:此字段可能返回 null,表示取不到有效值。
267
+ :type ProcessInfo: str
268
+ :param _UserNameAndPwd: 使用用户名&密码
269
+ 注意:此字段可能返回 null,表示取不到有效值。
270
+ :type UserNameAndPwd: str
271
+ :param _StrategyID: 主机防护策略ID
272
+ 注意:此字段可能返回 null,表示取不到有效值。
273
+ :type StrategyID: str
274
+ :param _StrategyName: 主机防护策略名称
275
+ 注意:此字段可能返回 null,表示取不到有效值。
276
+ :type StrategyName: str
277
+ :param _HitStrategy: 主机防护命中策略,是策略ID和策略名称的组合
278
+ 注意:此字段可能返回 null,表示取不到有效值。
279
+ :type HitStrategy: str
280
+ """
281
+ self._RelateEvent = None
282
+ self._LeakContent = None
283
+ self._LeakAPI = None
284
+ self._SecretID = None
285
+ self._Rule = None
286
+ self._RuleDesc = None
287
+ self._ProtocolPort = None
288
+ self._AttackContent = None
289
+ self._AttackIPProfile = None
290
+ self._AttackIPTags = None
291
+ self._RequestMethod = None
292
+ self._HttpLog = None
293
+ self._AttackDomain = None
294
+ self._FilePath = None
295
+ self._UserAgent = None
296
+ self._RequestHeaders = None
297
+ self._LoginUserName = None
298
+ self._VulnerabilityName = None
299
+ self._CVE = None
300
+ self._ServiceProcess = None
301
+ self._FileName = None
302
+ self._FileSize = None
303
+ self._FileMD5 = None
304
+ self._FileLastAccessTime = None
305
+ self._FileModifyTime = None
306
+ self._RecentAccessTime = None
307
+ self._RecentModifyTime = None
308
+ self._VirusName = None
309
+ self._VirusFileTags = None
310
+ self._BehavioralCharacteristics = None
311
+ self._ProcessNamePID = None
312
+ self._ProcessPath = None
313
+ self._ProcessCommandLine = None
314
+ self._ProcessPermissions = None
315
+ self._ExecutedCommand = None
316
+ self._AffectedFileName = None
317
+ self._DecoyPath = None
318
+ self._MaliciousProcessFileSize = None
319
+ self._MaliciousProcessFileMD5 = None
320
+ self._MaliciousProcessNamePID = None
321
+ self._MaliciousProcessPath = None
322
+ self._MaliciousProcessStartTime = None
323
+ self._CommandContent = None
324
+ self._StartupUser = None
325
+ self._UserGroup = None
326
+ self._NewPermissions = None
327
+ self._ParentProcess = None
328
+ self._ClassName = None
329
+ self._ClassLoader = None
330
+ self._ClassFileSize = None
331
+ self._ClassFileMD5 = None
332
+ self._ParentClassName = None
333
+ self._InheritedInterface = None
334
+ self._Comment = None
335
+ self._PayloadContent = None
336
+ self._CallbackAddressPortrait = None
337
+ self._CallbackAddressTag = None
338
+ self._ProcessMD5 = None
339
+ self._FilePermission = None
340
+ self._FromLogAnalysisData = None
341
+ self._HitProbe = None
342
+ self._HitHoneyPot = None
343
+ self._CommandList = None
344
+ self._AttackEventDesc = None
345
+ self._ProcessInfo = None
346
+ self._UserNameAndPwd = None
347
+ self._StrategyID = None
348
+ self._StrategyName = None
349
+ self._HitStrategy = None
350
+
351
+ @property
352
+ def RelateEvent(self):
353
+ return self._RelateEvent
354
+
355
+ @RelateEvent.setter
356
+ def RelateEvent(self, RelateEvent):
357
+ self._RelateEvent = RelateEvent
358
+
359
+ @property
360
+ def LeakContent(self):
361
+ return self._LeakContent
362
+
363
+ @LeakContent.setter
364
+ def LeakContent(self, LeakContent):
365
+ self._LeakContent = LeakContent
366
+
367
+ @property
368
+ def LeakAPI(self):
369
+ return self._LeakAPI
370
+
371
+ @LeakAPI.setter
372
+ def LeakAPI(self, LeakAPI):
373
+ self._LeakAPI = LeakAPI
374
+
375
+ @property
376
+ def SecretID(self):
377
+ return self._SecretID
378
+
379
+ @SecretID.setter
380
+ def SecretID(self, SecretID):
381
+ self._SecretID = SecretID
382
+
383
+ @property
384
+ def Rule(self):
385
+ return self._Rule
386
+
387
+ @Rule.setter
388
+ def Rule(self, Rule):
389
+ self._Rule = Rule
390
+
391
+ @property
392
+ def RuleDesc(self):
393
+ return self._RuleDesc
394
+
395
+ @RuleDesc.setter
396
+ def RuleDesc(self, RuleDesc):
397
+ self._RuleDesc = RuleDesc
398
+
399
+ @property
400
+ def ProtocolPort(self):
401
+ return self._ProtocolPort
402
+
403
+ @ProtocolPort.setter
404
+ def ProtocolPort(self, ProtocolPort):
405
+ self._ProtocolPort = ProtocolPort
406
+
407
+ @property
408
+ def AttackContent(self):
409
+ return self._AttackContent
410
+
411
+ @AttackContent.setter
412
+ def AttackContent(self, AttackContent):
413
+ self._AttackContent = AttackContent
414
+
415
+ @property
416
+ def AttackIPProfile(self):
417
+ return self._AttackIPProfile
418
+
419
+ @AttackIPProfile.setter
420
+ def AttackIPProfile(self, AttackIPProfile):
421
+ self._AttackIPProfile = AttackIPProfile
422
+
423
+ @property
424
+ def AttackIPTags(self):
425
+ return self._AttackIPTags
426
+
427
+ @AttackIPTags.setter
428
+ def AttackIPTags(self, AttackIPTags):
429
+ self._AttackIPTags = AttackIPTags
430
+
431
+ @property
432
+ def RequestMethod(self):
433
+ return self._RequestMethod
434
+
435
+ @RequestMethod.setter
436
+ def RequestMethod(self, RequestMethod):
437
+ self._RequestMethod = RequestMethod
438
+
439
+ @property
440
+ def HttpLog(self):
441
+ return self._HttpLog
442
+
443
+ @HttpLog.setter
444
+ def HttpLog(self, HttpLog):
445
+ self._HttpLog = HttpLog
446
+
447
+ @property
448
+ def AttackDomain(self):
449
+ return self._AttackDomain
450
+
451
+ @AttackDomain.setter
452
+ def AttackDomain(self, AttackDomain):
453
+ self._AttackDomain = AttackDomain
454
+
455
+ @property
456
+ def FilePath(self):
457
+ return self._FilePath
458
+
459
+ @FilePath.setter
460
+ def FilePath(self, FilePath):
461
+ self._FilePath = FilePath
462
+
463
+ @property
464
+ def UserAgent(self):
465
+ return self._UserAgent
466
+
467
+ @UserAgent.setter
468
+ def UserAgent(self, UserAgent):
469
+ self._UserAgent = UserAgent
470
+
471
+ @property
472
+ def RequestHeaders(self):
473
+ return self._RequestHeaders
474
+
475
+ @RequestHeaders.setter
476
+ def RequestHeaders(self, RequestHeaders):
477
+ self._RequestHeaders = RequestHeaders
478
+
479
+ @property
480
+ def LoginUserName(self):
481
+ return self._LoginUserName
482
+
483
+ @LoginUserName.setter
484
+ def LoginUserName(self, LoginUserName):
485
+ self._LoginUserName = LoginUserName
486
+
487
+ @property
488
+ def VulnerabilityName(self):
489
+ return self._VulnerabilityName
490
+
491
+ @VulnerabilityName.setter
492
+ def VulnerabilityName(self, VulnerabilityName):
493
+ self._VulnerabilityName = VulnerabilityName
494
+
495
+ @property
496
+ def CVE(self):
497
+ return self._CVE
498
+
499
+ @CVE.setter
500
+ def CVE(self, CVE):
501
+ self._CVE = CVE
502
+
503
+ @property
504
+ def ServiceProcess(self):
505
+ return self._ServiceProcess
506
+
507
+ @ServiceProcess.setter
508
+ def ServiceProcess(self, ServiceProcess):
509
+ self._ServiceProcess = ServiceProcess
510
+
511
+ @property
512
+ def FileName(self):
513
+ return self._FileName
514
+
515
+ @FileName.setter
516
+ def FileName(self, FileName):
517
+ self._FileName = FileName
518
+
519
+ @property
520
+ def FileSize(self):
521
+ return self._FileSize
522
+
523
+ @FileSize.setter
524
+ def FileSize(self, FileSize):
525
+ self._FileSize = FileSize
526
+
527
+ @property
528
+ def FileMD5(self):
529
+ return self._FileMD5
530
+
531
+ @FileMD5.setter
532
+ def FileMD5(self, FileMD5):
533
+ self._FileMD5 = FileMD5
534
+
535
+ @property
536
+ def FileLastAccessTime(self):
537
+ return self._FileLastAccessTime
538
+
539
+ @FileLastAccessTime.setter
540
+ def FileLastAccessTime(self, FileLastAccessTime):
541
+ self._FileLastAccessTime = FileLastAccessTime
542
+
543
+ @property
544
+ def FileModifyTime(self):
545
+ return self._FileModifyTime
546
+
547
+ @FileModifyTime.setter
548
+ def FileModifyTime(self, FileModifyTime):
549
+ self._FileModifyTime = FileModifyTime
550
+
551
+ @property
552
+ def RecentAccessTime(self):
553
+ return self._RecentAccessTime
554
+
555
+ @RecentAccessTime.setter
556
+ def RecentAccessTime(self, RecentAccessTime):
557
+ self._RecentAccessTime = RecentAccessTime
558
+
559
+ @property
560
+ def RecentModifyTime(self):
561
+ return self._RecentModifyTime
562
+
563
+ @RecentModifyTime.setter
564
+ def RecentModifyTime(self, RecentModifyTime):
565
+ self._RecentModifyTime = RecentModifyTime
566
+
567
+ @property
568
+ def VirusName(self):
569
+ return self._VirusName
570
+
571
+ @VirusName.setter
572
+ def VirusName(self, VirusName):
573
+ self._VirusName = VirusName
574
+
575
+ @property
576
+ def VirusFileTags(self):
577
+ return self._VirusFileTags
578
+
579
+ @VirusFileTags.setter
580
+ def VirusFileTags(self, VirusFileTags):
581
+ self._VirusFileTags = VirusFileTags
582
+
583
+ @property
584
+ def BehavioralCharacteristics(self):
585
+ return self._BehavioralCharacteristics
586
+
587
+ @BehavioralCharacteristics.setter
588
+ def BehavioralCharacteristics(self, BehavioralCharacteristics):
589
+ self._BehavioralCharacteristics = BehavioralCharacteristics
590
+
591
+ @property
592
+ def ProcessNamePID(self):
593
+ return self._ProcessNamePID
594
+
595
+ @ProcessNamePID.setter
596
+ def ProcessNamePID(self, ProcessNamePID):
597
+ self._ProcessNamePID = ProcessNamePID
598
+
599
+ @property
600
+ def ProcessPath(self):
601
+ return self._ProcessPath
602
+
603
+ @ProcessPath.setter
604
+ def ProcessPath(self, ProcessPath):
605
+ self._ProcessPath = ProcessPath
606
+
607
+ @property
608
+ def ProcessCommandLine(self):
609
+ return self._ProcessCommandLine
610
+
611
+ @ProcessCommandLine.setter
612
+ def ProcessCommandLine(self, ProcessCommandLine):
613
+ self._ProcessCommandLine = ProcessCommandLine
614
+
615
+ @property
616
+ def ProcessPermissions(self):
617
+ return self._ProcessPermissions
618
+
619
+ @ProcessPermissions.setter
620
+ def ProcessPermissions(self, ProcessPermissions):
621
+ self._ProcessPermissions = ProcessPermissions
622
+
623
+ @property
624
+ def ExecutedCommand(self):
625
+ return self._ExecutedCommand
626
+
627
+ @ExecutedCommand.setter
628
+ def ExecutedCommand(self, ExecutedCommand):
629
+ self._ExecutedCommand = ExecutedCommand
630
+
631
+ @property
632
+ def AffectedFileName(self):
633
+ return self._AffectedFileName
634
+
635
+ @AffectedFileName.setter
636
+ def AffectedFileName(self, AffectedFileName):
637
+ self._AffectedFileName = AffectedFileName
638
+
639
+ @property
640
+ def DecoyPath(self):
641
+ return self._DecoyPath
642
+
643
+ @DecoyPath.setter
644
+ def DecoyPath(self, DecoyPath):
645
+ self._DecoyPath = DecoyPath
646
+
647
+ @property
648
+ def MaliciousProcessFileSize(self):
649
+ return self._MaliciousProcessFileSize
650
+
651
+ @MaliciousProcessFileSize.setter
652
+ def MaliciousProcessFileSize(self, MaliciousProcessFileSize):
653
+ self._MaliciousProcessFileSize = MaliciousProcessFileSize
654
+
655
+ @property
656
+ def MaliciousProcessFileMD5(self):
657
+ return self._MaliciousProcessFileMD5
658
+
659
+ @MaliciousProcessFileMD5.setter
660
+ def MaliciousProcessFileMD5(self, MaliciousProcessFileMD5):
661
+ self._MaliciousProcessFileMD5 = MaliciousProcessFileMD5
662
+
663
+ @property
664
+ def MaliciousProcessNamePID(self):
665
+ return self._MaliciousProcessNamePID
666
+
667
+ @MaliciousProcessNamePID.setter
668
+ def MaliciousProcessNamePID(self, MaliciousProcessNamePID):
669
+ self._MaliciousProcessNamePID = MaliciousProcessNamePID
670
+
671
+ @property
672
+ def MaliciousProcessPath(self):
673
+ return self._MaliciousProcessPath
674
+
675
+ @MaliciousProcessPath.setter
676
+ def MaliciousProcessPath(self, MaliciousProcessPath):
677
+ self._MaliciousProcessPath = MaliciousProcessPath
678
+
679
+ @property
680
+ def MaliciousProcessStartTime(self):
681
+ return self._MaliciousProcessStartTime
682
+
683
+ @MaliciousProcessStartTime.setter
684
+ def MaliciousProcessStartTime(self, MaliciousProcessStartTime):
685
+ self._MaliciousProcessStartTime = MaliciousProcessStartTime
686
+
687
+ @property
688
+ def CommandContent(self):
689
+ return self._CommandContent
690
+
691
+ @CommandContent.setter
692
+ def CommandContent(self, CommandContent):
693
+ self._CommandContent = CommandContent
694
+
695
+ @property
696
+ def StartupUser(self):
697
+ return self._StartupUser
698
+
699
+ @StartupUser.setter
700
+ def StartupUser(self, StartupUser):
701
+ self._StartupUser = StartupUser
702
+
703
+ @property
704
+ def UserGroup(self):
705
+ return self._UserGroup
706
+
707
+ @UserGroup.setter
708
+ def UserGroup(self, UserGroup):
709
+ self._UserGroup = UserGroup
710
+
711
+ @property
712
+ def NewPermissions(self):
713
+ return self._NewPermissions
714
+
715
+ @NewPermissions.setter
716
+ def NewPermissions(self, NewPermissions):
717
+ self._NewPermissions = NewPermissions
718
+
719
+ @property
720
+ def ParentProcess(self):
721
+ return self._ParentProcess
722
+
723
+ @ParentProcess.setter
724
+ def ParentProcess(self, ParentProcess):
725
+ self._ParentProcess = ParentProcess
726
+
727
+ @property
728
+ def ClassName(self):
729
+ return self._ClassName
730
+
731
+ @ClassName.setter
732
+ def ClassName(self, ClassName):
733
+ self._ClassName = ClassName
734
+
735
+ @property
736
+ def ClassLoader(self):
737
+ return self._ClassLoader
738
+
739
+ @ClassLoader.setter
740
+ def ClassLoader(self, ClassLoader):
741
+ self._ClassLoader = ClassLoader
742
+
743
+ @property
744
+ def ClassFileSize(self):
745
+ return self._ClassFileSize
746
+
747
+ @ClassFileSize.setter
748
+ def ClassFileSize(self, ClassFileSize):
749
+ self._ClassFileSize = ClassFileSize
750
+
751
+ @property
752
+ def ClassFileMD5(self):
753
+ return self._ClassFileMD5
754
+
755
+ @ClassFileMD5.setter
756
+ def ClassFileMD5(self, ClassFileMD5):
757
+ self._ClassFileMD5 = ClassFileMD5
758
+
759
+ @property
760
+ def ParentClassName(self):
761
+ return self._ParentClassName
762
+
763
+ @ParentClassName.setter
764
+ def ParentClassName(self, ParentClassName):
765
+ self._ParentClassName = ParentClassName
766
+
767
+ @property
768
+ def InheritedInterface(self):
769
+ return self._InheritedInterface
770
+
771
+ @InheritedInterface.setter
772
+ def InheritedInterface(self, InheritedInterface):
773
+ self._InheritedInterface = InheritedInterface
774
+
775
+ @property
776
+ def Comment(self):
777
+ return self._Comment
778
+
779
+ @Comment.setter
780
+ def Comment(self, Comment):
781
+ self._Comment = Comment
782
+
783
+ @property
784
+ def PayloadContent(self):
785
+ return self._PayloadContent
786
+
787
+ @PayloadContent.setter
788
+ def PayloadContent(self, PayloadContent):
789
+ self._PayloadContent = PayloadContent
790
+
791
+ @property
792
+ def CallbackAddressPortrait(self):
793
+ return self._CallbackAddressPortrait
794
+
795
+ @CallbackAddressPortrait.setter
796
+ def CallbackAddressPortrait(self, CallbackAddressPortrait):
797
+ self._CallbackAddressPortrait = CallbackAddressPortrait
798
+
799
+ @property
800
+ def CallbackAddressTag(self):
801
+ return self._CallbackAddressTag
802
+
803
+ @CallbackAddressTag.setter
804
+ def CallbackAddressTag(self, CallbackAddressTag):
805
+ self._CallbackAddressTag = CallbackAddressTag
806
+
807
+ @property
808
+ def ProcessMD5(self):
809
+ return self._ProcessMD5
810
+
811
+ @ProcessMD5.setter
812
+ def ProcessMD5(self, ProcessMD5):
813
+ self._ProcessMD5 = ProcessMD5
814
+
815
+ @property
816
+ def FilePermission(self):
817
+ return self._FilePermission
818
+
819
+ @FilePermission.setter
820
+ def FilePermission(self, FilePermission):
821
+ self._FilePermission = FilePermission
822
+
823
+ @property
824
+ def FromLogAnalysisData(self):
825
+ return self._FromLogAnalysisData
826
+
827
+ @FromLogAnalysisData.setter
828
+ def FromLogAnalysisData(self, FromLogAnalysisData):
829
+ self._FromLogAnalysisData = FromLogAnalysisData
830
+
831
+ @property
832
+ def HitProbe(self):
833
+ return self._HitProbe
834
+
835
+ @HitProbe.setter
836
+ def HitProbe(self, HitProbe):
837
+ self._HitProbe = HitProbe
838
+
839
+ @property
840
+ def HitHoneyPot(self):
841
+ return self._HitHoneyPot
842
+
843
+ @HitHoneyPot.setter
844
+ def HitHoneyPot(self, HitHoneyPot):
845
+ self._HitHoneyPot = HitHoneyPot
846
+
847
+ @property
848
+ def CommandList(self):
849
+ return self._CommandList
850
+
851
+ @CommandList.setter
852
+ def CommandList(self, CommandList):
853
+ self._CommandList = CommandList
854
+
855
+ @property
856
+ def AttackEventDesc(self):
857
+ return self._AttackEventDesc
858
+
859
+ @AttackEventDesc.setter
860
+ def AttackEventDesc(self, AttackEventDesc):
861
+ self._AttackEventDesc = AttackEventDesc
862
+
863
+ @property
864
+ def ProcessInfo(self):
865
+ return self._ProcessInfo
866
+
867
+ @ProcessInfo.setter
868
+ def ProcessInfo(self, ProcessInfo):
869
+ self._ProcessInfo = ProcessInfo
870
+
871
+ @property
872
+ def UserNameAndPwd(self):
873
+ return self._UserNameAndPwd
874
+
875
+ @UserNameAndPwd.setter
876
+ def UserNameAndPwd(self, UserNameAndPwd):
877
+ self._UserNameAndPwd = UserNameAndPwd
878
+
879
+ @property
880
+ def StrategyID(self):
881
+ return self._StrategyID
882
+
883
+ @StrategyID.setter
884
+ def StrategyID(self, StrategyID):
885
+ self._StrategyID = StrategyID
886
+
887
+ @property
888
+ def StrategyName(self):
889
+ return self._StrategyName
890
+
891
+ @StrategyName.setter
892
+ def StrategyName(self, StrategyName):
893
+ self._StrategyName = StrategyName
894
+
895
+ @property
896
+ def HitStrategy(self):
897
+ return self._HitStrategy
898
+
899
+ @HitStrategy.setter
900
+ def HitStrategy(self, HitStrategy):
901
+ self._HitStrategy = HitStrategy
902
+
903
+
904
+ def _deserialize(self, params):
905
+ if params.get("RelateEvent") is not None:
906
+ self._RelateEvent = RelatedEvent()
907
+ self._RelateEvent._deserialize(params.get("RelateEvent"))
908
+ self._LeakContent = params.get("LeakContent")
909
+ self._LeakAPI = params.get("LeakAPI")
910
+ self._SecretID = params.get("SecretID")
911
+ self._Rule = params.get("Rule")
912
+ self._RuleDesc = params.get("RuleDesc")
913
+ self._ProtocolPort = params.get("ProtocolPort")
914
+ self._AttackContent = params.get("AttackContent")
915
+ self._AttackIPProfile = params.get("AttackIPProfile")
916
+ self._AttackIPTags = params.get("AttackIPTags")
917
+ self._RequestMethod = params.get("RequestMethod")
918
+ self._HttpLog = params.get("HttpLog")
919
+ self._AttackDomain = params.get("AttackDomain")
920
+ self._FilePath = params.get("FilePath")
921
+ self._UserAgent = params.get("UserAgent")
922
+ self._RequestHeaders = params.get("RequestHeaders")
923
+ self._LoginUserName = params.get("LoginUserName")
924
+ self._VulnerabilityName = params.get("VulnerabilityName")
925
+ self._CVE = params.get("CVE")
926
+ self._ServiceProcess = params.get("ServiceProcess")
927
+ self._FileName = params.get("FileName")
928
+ self._FileSize = params.get("FileSize")
929
+ self._FileMD5 = params.get("FileMD5")
930
+ self._FileLastAccessTime = params.get("FileLastAccessTime")
931
+ self._FileModifyTime = params.get("FileModifyTime")
932
+ self._RecentAccessTime = params.get("RecentAccessTime")
933
+ self._RecentModifyTime = params.get("RecentModifyTime")
934
+ self._VirusName = params.get("VirusName")
935
+ self._VirusFileTags = params.get("VirusFileTags")
936
+ self._BehavioralCharacteristics = params.get("BehavioralCharacteristics")
937
+ self._ProcessNamePID = params.get("ProcessNamePID")
938
+ self._ProcessPath = params.get("ProcessPath")
939
+ self._ProcessCommandLine = params.get("ProcessCommandLine")
940
+ self._ProcessPermissions = params.get("ProcessPermissions")
941
+ self._ExecutedCommand = params.get("ExecutedCommand")
942
+ self._AffectedFileName = params.get("AffectedFileName")
943
+ self._DecoyPath = params.get("DecoyPath")
944
+ self._MaliciousProcessFileSize = params.get("MaliciousProcessFileSize")
945
+ self._MaliciousProcessFileMD5 = params.get("MaliciousProcessFileMD5")
946
+ self._MaliciousProcessNamePID = params.get("MaliciousProcessNamePID")
947
+ self._MaliciousProcessPath = params.get("MaliciousProcessPath")
948
+ self._MaliciousProcessStartTime = params.get("MaliciousProcessStartTime")
949
+ self._CommandContent = params.get("CommandContent")
950
+ self._StartupUser = params.get("StartupUser")
951
+ self._UserGroup = params.get("UserGroup")
952
+ self._NewPermissions = params.get("NewPermissions")
953
+ self._ParentProcess = params.get("ParentProcess")
954
+ self._ClassName = params.get("ClassName")
955
+ self._ClassLoader = params.get("ClassLoader")
956
+ self._ClassFileSize = params.get("ClassFileSize")
957
+ self._ClassFileMD5 = params.get("ClassFileMD5")
958
+ self._ParentClassName = params.get("ParentClassName")
959
+ self._InheritedInterface = params.get("InheritedInterface")
960
+ self._Comment = params.get("Comment")
961
+ self._PayloadContent = params.get("PayloadContent")
962
+ self._CallbackAddressPortrait = params.get("CallbackAddressPortrait")
963
+ self._CallbackAddressTag = params.get("CallbackAddressTag")
964
+ self._ProcessMD5 = params.get("ProcessMD5")
965
+ self._FilePermission = params.get("FilePermission")
966
+ if params.get("FromLogAnalysisData") is not None:
967
+ self._FromLogAnalysisData = []
968
+ for item in params.get("FromLogAnalysisData"):
969
+ obj = KeyValue()
970
+ obj._deserialize(item)
971
+ self._FromLogAnalysisData.append(obj)
972
+ self._HitProbe = params.get("HitProbe")
973
+ self._HitHoneyPot = params.get("HitHoneyPot")
974
+ self._CommandList = params.get("CommandList")
975
+ self._AttackEventDesc = params.get("AttackEventDesc")
976
+ self._ProcessInfo = params.get("ProcessInfo")
977
+ self._UserNameAndPwd = params.get("UserNameAndPwd")
978
+ self._StrategyID = params.get("StrategyID")
979
+ self._StrategyName = params.get("StrategyName")
980
+ self._HitStrategy = params.get("HitStrategy")
981
+ memeber_set = set(params.keys())
982
+ for name, value in vars(self).items():
983
+ property_name = name[1:]
984
+ if property_name in memeber_set:
985
+ memeber_set.remove(property_name)
986
+ if len(memeber_set) > 0:
987
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
988
+
989
+
990
+
991
+ class AlertInfo(AbstractModel):
992
+ """告警中心全量告警列表数据
993
+
994
+ """
995
+
996
+ def __init__(self):
997
+ r"""
998
+ :param _ID: 告警ID
999
+ 注意:此字段可能返回 null,表示取不到有效值。
1000
+ :type ID: str
1001
+ :param _Name: 告警名称
1002
+ 注意:此字段可能返回 null,表示取不到有效值。
1003
+ :type Name: str
1004
+ :param _Source: 告警来源
1005
+ CFW:云防火墙
1006
+ WAF:Web应用防火墙
1007
+ CWP:主机安全
1008
+ CSIP:云安全中心
1009
+ 注意:此字段可能返回 null,表示取不到有效值。
1010
+ :type Source: str
1011
+ :param _Level: 告警等级
1012
+ 1:提示
1013
+ 2:低危
1014
+ 3:中危
1015
+ 4:高危
1016
+ 5:严重
1017
+ 注意:此字段可能返回 null,表示取不到有效值。
1018
+ :type Level: int
1019
+ :param _Attacker: 攻击者
1020
+ 注意:此字段可能返回 null,表示取不到有效值。
1021
+ :type Attacker: :class:`tencentcloud.csip.v20221121.models.RoleInfo`
1022
+ :param _Victim: 受害者
1023
+ 注意:此字段可能返回 null,表示取不到有效值。
1024
+ :type Victim: :class:`tencentcloud.csip.v20221121.models.RoleInfo`
1025
+ :param _EvidenceData: 证据数据(比如攻击内容等)
1026
+ 注意:此字段可能返回 null,表示取不到有效值。
1027
+ :type EvidenceData: str
1028
+ :param _EvidenceLocation: 证据位置(比如协议端口)
1029
+ 注意:此字段可能返回 null,表示取不到有效值。
1030
+ :type EvidenceLocation: str
1031
+ :param _EvidencePath: 证据路径
1032
+ 注意:此字段可能返回 null,表示取不到有效值。
1033
+ :type EvidencePath: str
1034
+ :param _CreateTime: 首次告警时间
1035
+ 注意:此字段可能返回 null,表示取不到有效值。
1036
+ :type CreateTime: str
1037
+ :param _UpdateTime: 最近告警时间
1038
+ 注意:此字段可能返回 null,表示取不到有效值。
1039
+ :type UpdateTime: str
1040
+ :param _Count: 告警次数
1041
+ 注意:此字段可能返回 null,表示取不到有效值。
1042
+ :type Count: int
1043
+ :param _UrgentSuggestion: 紧急缓解建议
1044
+ 注意:此字段可能返回 null,表示取不到有效值。
1045
+ :type UrgentSuggestion: str
1046
+ :param _RemediationSuggestion: 根治建议
1047
+ 注意:此字段可能返回 null,表示取不到有效值。
1048
+ :type RemediationSuggestion: str
1049
+ :param _Status: 处理状态
1050
+ 0:未处置,1:已忽略,2:已处置
1051
+ 注意:此字段可能返回 null,表示取不到有效值。
1052
+ :type Status: int
1053
+ :param _ProcessType: 告警处理类型
1054
+ 注意:此字段可能返回 null,表示取不到有效值。
1055
+ :type ProcessType: str
1056
+ :param _Type: 告警大类
1057
+ 注意:此字段可能返回 null,表示取不到有效值。
1058
+ :type Type: str
1059
+ :param _SubType: 告警小类
1060
+ 注意:此字段可能返回 null,表示取不到有效值。
1061
+ :type SubType: str
1062
+ :param _ExtraInfo: 下拉字段
1063
+ 注意:此字段可能返回 null,表示取不到有效值。
1064
+ :type ExtraInfo: :class:`tencentcloud.csip.v20221121.models.AlertExtraInfo`
1065
+ :param _Key: 聚合字段
1066
+ 注意:此字段可能返回 null,表示取不到有效值。
1067
+ :type Key: str
1068
+ :param _Date: 告警日期
1069
+ 注意:此字段可能返回 null,表示取不到有效值。
1070
+ :type Date: str
1071
+ :param _AppID: appid
1072
+ 注意:此字段可能返回 null,表示取不到有效值。
1073
+ :type AppID: str
1074
+ :param _NickName: 账户名称
1075
+ 注意:此字段可能返回 null,表示取不到有效值。
1076
+ :type NickName: str
1077
+ :param _Uin: 账户ID
1078
+ 注意:此字段可能返回 null,表示取不到有效值。
1079
+ :type Uin: str
1080
+ :param _Action: 行为
1081
+ 注意:此字段可能返回 null,表示取不到有效值。
1082
+ :type Action: int
1083
+ :param _RiskInvestigation: 风险排查
1084
+ 注意:此字段可能返回 null,表示取不到有效值。
1085
+ :type RiskInvestigation: str
1086
+ :param _RiskTreatment: 风险处置
1087
+ 注意:此字段可能返回 null,表示取不到有效值。
1088
+ :type RiskTreatment: str
1089
+ """
1090
+ self._ID = None
1091
+ self._Name = None
1092
+ self._Source = None
1093
+ self._Level = None
1094
+ self._Attacker = None
1095
+ self._Victim = None
1096
+ self._EvidenceData = None
1097
+ self._EvidenceLocation = None
1098
+ self._EvidencePath = None
1099
+ self._CreateTime = None
1100
+ self._UpdateTime = None
1101
+ self._Count = None
1102
+ self._UrgentSuggestion = None
1103
+ self._RemediationSuggestion = None
1104
+ self._Status = None
1105
+ self._ProcessType = None
1106
+ self._Type = None
1107
+ self._SubType = None
1108
+ self._ExtraInfo = None
1109
+ self._Key = None
1110
+ self._Date = None
1111
+ self._AppID = None
1112
+ self._NickName = None
1113
+ self._Uin = None
1114
+ self._Action = None
1115
+ self._RiskInvestigation = None
1116
+ self._RiskTreatment = None
1117
+
1118
+ @property
1119
+ def ID(self):
1120
+ return self._ID
1121
+
1122
+ @ID.setter
1123
+ def ID(self, ID):
1124
+ self._ID = ID
1125
+
1126
+ @property
1127
+ def Name(self):
1128
+ return self._Name
1129
+
1130
+ @Name.setter
1131
+ def Name(self, Name):
1132
+ self._Name = Name
1133
+
1134
+ @property
1135
+ def Source(self):
1136
+ return self._Source
1137
+
1138
+ @Source.setter
1139
+ def Source(self, Source):
1140
+ self._Source = Source
1141
+
1142
+ @property
1143
+ def Level(self):
1144
+ return self._Level
1145
+
1146
+ @Level.setter
1147
+ def Level(self, Level):
1148
+ self._Level = Level
1149
+
1150
+ @property
1151
+ def Attacker(self):
1152
+ return self._Attacker
1153
+
1154
+ @Attacker.setter
1155
+ def Attacker(self, Attacker):
1156
+ self._Attacker = Attacker
1157
+
1158
+ @property
1159
+ def Victim(self):
1160
+ return self._Victim
1161
+
1162
+ @Victim.setter
1163
+ def Victim(self, Victim):
1164
+ self._Victim = Victim
1165
+
1166
+ @property
1167
+ def EvidenceData(self):
1168
+ return self._EvidenceData
1169
+
1170
+ @EvidenceData.setter
1171
+ def EvidenceData(self, EvidenceData):
1172
+ self._EvidenceData = EvidenceData
1173
+
1174
+ @property
1175
+ def EvidenceLocation(self):
1176
+ return self._EvidenceLocation
1177
+
1178
+ @EvidenceLocation.setter
1179
+ def EvidenceLocation(self, EvidenceLocation):
1180
+ self._EvidenceLocation = EvidenceLocation
1181
+
1182
+ @property
1183
+ def EvidencePath(self):
1184
+ return self._EvidencePath
1185
+
1186
+ @EvidencePath.setter
1187
+ def EvidencePath(self, EvidencePath):
1188
+ self._EvidencePath = EvidencePath
1189
+
1190
+ @property
1191
+ def CreateTime(self):
1192
+ return self._CreateTime
1193
+
1194
+ @CreateTime.setter
1195
+ def CreateTime(self, CreateTime):
1196
+ self._CreateTime = CreateTime
1197
+
1198
+ @property
1199
+ def UpdateTime(self):
1200
+ return self._UpdateTime
1201
+
1202
+ @UpdateTime.setter
1203
+ def UpdateTime(self, UpdateTime):
1204
+ self._UpdateTime = UpdateTime
1205
+
1206
+ @property
1207
+ def Count(self):
1208
+ return self._Count
1209
+
1210
+ @Count.setter
1211
+ def Count(self, Count):
1212
+ self._Count = Count
1213
+
1214
+ @property
1215
+ def UrgentSuggestion(self):
1216
+ return self._UrgentSuggestion
1217
+
1218
+ @UrgentSuggestion.setter
1219
+ def UrgentSuggestion(self, UrgentSuggestion):
1220
+ self._UrgentSuggestion = UrgentSuggestion
1221
+
1222
+ @property
1223
+ def RemediationSuggestion(self):
1224
+ return self._RemediationSuggestion
1225
+
1226
+ @RemediationSuggestion.setter
1227
+ def RemediationSuggestion(self, RemediationSuggestion):
1228
+ self._RemediationSuggestion = RemediationSuggestion
1229
+
1230
+ @property
1231
+ def Status(self):
1232
+ return self._Status
1233
+
1234
+ @Status.setter
1235
+ def Status(self, Status):
1236
+ self._Status = Status
1237
+
1238
+ @property
1239
+ def ProcessType(self):
1240
+ return self._ProcessType
1241
+
1242
+ @ProcessType.setter
1243
+ def ProcessType(self, ProcessType):
1244
+ self._ProcessType = ProcessType
1245
+
1246
+ @property
1247
+ def Type(self):
1248
+ return self._Type
1249
+
1250
+ @Type.setter
1251
+ def Type(self, Type):
1252
+ self._Type = Type
1253
+
1254
+ @property
1255
+ def SubType(self):
1256
+ return self._SubType
1257
+
1258
+ @SubType.setter
1259
+ def SubType(self, SubType):
1260
+ self._SubType = SubType
1261
+
1262
+ @property
1263
+ def ExtraInfo(self):
1264
+ return self._ExtraInfo
1265
+
1266
+ @ExtraInfo.setter
1267
+ def ExtraInfo(self, ExtraInfo):
1268
+ self._ExtraInfo = ExtraInfo
1269
+
1270
+ @property
1271
+ def Key(self):
1272
+ return self._Key
1273
+
1274
+ @Key.setter
1275
+ def Key(self, Key):
1276
+ self._Key = Key
1277
+
1278
+ @property
1279
+ def Date(self):
1280
+ return self._Date
1281
+
1282
+ @Date.setter
1283
+ def Date(self, Date):
1284
+ self._Date = Date
1285
+
1286
+ @property
1287
+ def AppID(self):
1288
+ return self._AppID
1289
+
1290
+ @AppID.setter
1291
+ def AppID(self, AppID):
1292
+ self._AppID = AppID
1293
+
1294
+ @property
1295
+ def NickName(self):
1296
+ return self._NickName
1297
+
1298
+ @NickName.setter
1299
+ def NickName(self, NickName):
1300
+ self._NickName = NickName
1301
+
1302
+ @property
1303
+ def Uin(self):
1304
+ return self._Uin
1305
+
1306
+ @Uin.setter
1307
+ def Uin(self, Uin):
1308
+ self._Uin = Uin
1309
+
1310
+ @property
1311
+ def Action(self):
1312
+ return self._Action
1313
+
1314
+ @Action.setter
1315
+ def Action(self, Action):
1316
+ self._Action = Action
1317
+
1318
+ @property
1319
+ def RiskInvestigation(self):
1320
+ return self._RiskInvestigation
1321
+
1322
+ @RiskInvestigation.setter
1323
+ def RiskInvestigation(self, RiskInvestigation):
1324
+ self._RiskInvestigation = RiskInvestigation
1325
+
1326
+ @property
1327
+ def RiskTreatment(self):
1328
+ return self._RiskTreatment
1329
+
1330
+ @RiskTreatment.setter
1331
+ def RiskTreatment(self, RiskTreatment):
1332
+ self._RiskTreatment = RiskTreatment
1333
+
1334
+
1335
+ def _deserialize(self, params):
1336
+ self._ID = params.get("ID")
1337
+ self._Name = params.get("Name")
1338
+ self._Source = params.get("Source")
1339
+ self._Level = params.get("Level")
1340
+ if params.get("Attacker") is not None:
1341
+ self._Attacker = RoleInfo()
1342
+ self._Attacker._deserialize(params.get("Attacker"))
1343
+ if params.get("Victim") is not None:
1344
+ self._Victim = RoleInfo()
1345
+ self._Victim._deserialize(params.get("Victim"))
1346
+ self._EvidenceData = params.get("EvidenceData")
1347
+ self._EvidenceLocation = params.get("EvidenceLocation")
1348
+ self._EvidencePath = params.get("EvidencePath")
1349
+ self._CreateTime = params.get("CreateTime")
1350
+ self._UpdateTime = params.get("UpdateTime")
1351
+ self._Count = params.get("Count")
1352
+ self._UrgentSuggestion = params.get("UrgentSuggestion")
1353
+ self._RemediationSuggestion = params.get("RemediationSuggestion")
1354
+ self._Status = params.get("Status")
1355
+ self._ProcessType = params.get("ProcessType")
1356
+ self._Type = params.get("Type")
1357
+ self._SubType = params.get("SubType")
1358
+ if params.get("ExtraInfo") is not None:
1359
+ self._ExtraInfo = AlertExtraInfo()
1360
+ self._ExtraInfo._deserialize(params.get("ExtraInfo"))
1361
+ self._Key = params.get("Key")
1362
+ self._Date = params.get("Date")
1363
+ self._AppID = params.get("AppID")
1364
+ self._NickName = params.get("NickName")
1365
+ self._Uin = params.get("Uin")
1366
+ self._Action = params.get("Action")
1367
+ self._RiskInvestigation = params.get("RiskInvestigation")
1368
+ self._RiskTreatment = params.get("RiskTreatment")
1369
+ memeber_set = set(params.keys())
1370
+ for name, value in vars(self).items():
1371
+ property_name = name[1:]
1372
+ if property_name in memeber_set:
1373
+ memeber_set.remove(property_name)
1374
+ if len(memeber_set) > 0:
1375
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
1376
+
1377
+
1378
+
64
1379
  class AssetBaseInfoResponse(AbstractModel):
65
1380
  """主机资产详情
66
1381
 
@@ -5110,21 +6425,117 @@ class DeleteRiskScanTaskRequest(AbstractModel):
5110
6425
  self._TaskIdList = None
5111
6426
 
5112
6427
  @property
5113
- def TaskIdList(self):
5114
- return self._TaskIdList
6428
+ def TaskIdList(self):
6429
+ return self._TaskIdList
6430
+
6431
+ @TaskIdList.setter
6432
+ def TaskIdList(self, TaskIdList):
6433
+ self._TaskIdList = TaskIdList
6434
+
6435
+
6436
+ def _deserialize(self, params):
6437
+ if params.get("TaskIdList") is not None:
6438
+ self._TaskIdList = []
6439
+ for item in params.get("TaskIdList"):
6440
+ obj = TaskIdListKey()
6441
+ obj._deserialize(item)
6442
+ self._TaskIdList.append(obj)
6443
+ memeber_set = set(params.keys())
6444
+ for name, value in vars(self).items():
6445
+ property_name = name[1:]
6446
+ if property_name in memeber_set:
6447
+ memeber_set.remove(property_name)
6448
+ if len(memeber_set) > 0:
6449
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
6450
+
6451
+
6452
+
6453
+ class DeleteRiskScanTaskResponse(AbstractModel):
6454
+ """DeleteRiskScanTask返回参数结构体
6455
+
6456
+ """
6457
+
6458
+ def __init__(self):
6459
+ r"""
6460
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
6461
+ :type RequestId: str
6462
+ """
6463
+ self._RequestId = None
6464
+
6465
+ @property
6466
+ def RequestId(self):
6467
+ return self._RequestId
6468
+
6469
+ @RequestId.setter
6470
+ def RequestId(self, RequestId):
6471
+ self._RequestId = RequestId
6472
+
6473
+
6474
+ def _deserialize(self, params):
6475
+ self._RequestId = params.get("RequestId")
6476
+
6477
+
6478
+ class DescribeAlertListRequest(AbstractModel):
6479
+ """DescribeAlertList请求参数结构体
6480
+
6481
+ """
6482
+
6483
+ def __init__(self):
6484
+ r"""
6485
+ :param _Filter: 标签搜索筛选
6486
+ :type Filter: :class:`tencentcloud.csip.v20221121.models.Filter`
6487
+ :param _MemberId: 集团账号的成员id
6488
+ :type MemberId: list of str
6489
+ :param _OperatedMemberId: 被调用的集团账号的成员id
6490
+ :type OperatedMemberId: list of str
6491
+ :param _AssetType: 0:默认全部 1:资产ID 2:域名
6492
+ :type AssetType: int
6493
+ """
6494
+ self._Filter = None
6495
+ self._MemberId = None
6496
+ self._OperatedMemberId = None
6497
+ self._AssetType = None
6498
+
6499
+ @property
6500
+ def Filter(self):
6501
+ return self._Filter
6502
+
6503
+ @Filter.setter
6504
+ def Filter(self, Filter):
6505
+ self._Filter = Filter
6506
+
6507
+ @property
6508
+ def MemberId(self):
6509
+ return self._MemberId
6510
+
6511
+ @MemberId.setter
6512
+ def MemberId(self, MemberId):
6513
+ self._MemberId = MemberId
6514
+
6515
+ @property
6516
+ def OperatedMemberId(self):
6517
+ return self._OperatedMemberId
6518
+
6519
+ @OperatedMemberId.setter
6520
+ def OperatedMemberId(self, OperatedMemberId):
6521
+ self._OperatedMemberId = OperatedMemberId
6522
+
6523
+ @property
6524
+ def AssetType(self):
6525
+ return self._AssetType
5115
6526
 
5116
- @TaskIdList.setter
5117
- def TaskIdList(self, TaskIdList):
5118
- self._TaskIdList = TaskIdList
6527
+ @AssetType.setter
6528
+ def AssetType(self, AssetType):
6529
+ self._AssetType = AssetType
5119
6530
 
5120
6531
 
5121
6532
  def _deserialize(self, params):
5122
- if params.get("TaskIdList") is not None:
5123
- self._TaskIdList = []
5124
- for item in params.get("TaskIdList"):
5125
- obj = TaskIdListKey()
5126
- obj._deserialize(item)
5127
- self._TaskIdList.append(obj)
6533
+ if params.get("Filter") is not None:
6534
+ self._Filter = Filter()
6535
+ self._Filter._deserialize(params.get("Filter"))
6536
+ self._MemberId = params.get("MemberId")
6537
+ self._OperatedMemberId = params.get("OperatedMemberId")
6538
+ self._AssetType = params.get("AssetType")
5128
6539
  memeber_set = set(params.keys())
5129
6540
  for name, value in vars(self).items():
5130
6541
  property_name = name[1:]
@@ -5135,18 +6546,51 @@ class DeleteRiskScanTaskRequest(AbstractModel):
5135
6546
 
5136
6547
 
5137
6548
 
5138
- class DeleteRiskScanTaskResponse(AbstractModel):
5139
- """DeleteRiskScanTask返回参数结构体
6549
+ class DescribeAlertListResponse(AbstractModel):
6550
+ """DescribeAlertList返回参数结构体
5140
6551
 
5141
6552
  """
5142
6553
 
5143
6554
  def __init__(self):
5144
6555
  r"""
6556
+ :param _AlertList: 全量告警列表
6557
+ :type AlertList: list of AlertInfo
6558
+ :param _AlertTypeCount: 告警大类数量
6559
+ :type AlertTypeCount: list of TagCount
6560
+ :param _TotalCount: 告警总数
6561
+ :type TotalCount: int
5145
6562
  :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
5146
6563
  :type RequestId: str
5147
6564
  """
6565
+ self._AlertList = None
6566
+ self._AlertTypeCount = None
6567
+ self._TotalCount = None
5148
6568
  self._RequestId = None
5149
6569
 
6570
+ @property
6571
+ def AlertList(self):
6572
+ return self._AlertList
6573
+
6574
+ @AlertList.setter
6575
+ def AlertList(self, AlertList):
6576
+ self._AlertList = AlertList
6577
+
6578
+ @property
6579
+ def AlertTypeCount(self):
6580
+ return self._AlertTypeCount
6581
+
6582
+ @AlertTypeCount.setter
6583
+ def AlertTypeCount(self, AlertTypeCount):
6584
+ self._AlertTypeCount = AlertTypeCount
6585
+
6586
+ @property
6587
+ def TotalCount(self):
6588
+ return self._TotalCount
6589
+
6590
+ @TotalCount.setter
6591
+ def TotalCount(self, TotalCount):
6592
+ self._TotalCount = TotalCount
6593
+
5150
6594
  @property
5151
6595
  def RequestId(self):
5152
6596
  return self._RequestId
@@ -5157,6 +6601,19 @@ class DeleteRiskScanTaskResponse(AbstractModel):
5157
6601
 
5158
6602
 
5159
6603
  def _deserialize(self, params):
6604
+ if params.get("AlertList") is not None:
6605
+ self._AlertList = []
6606
+ for item in params.get("AlertList"):
6607
+ obj = AlertInfo()
6608
+ obj._deserialize(item)
6609
+ self._AlertList.append(obj)
6610
+ if params.get("AlertTypeCount") is not None:
6611
+ self._AlertTypeCount = []
6612
+ for item in params.get("AlertTypeCount"):
6613
+ obj = TagCount()
6614
+ obj._deserialize(item)
6615
+ self._AlertTypeCount.append(obj)
6616
+ self._TotalCount = params.get("TotalCount")
5160
6617
  self._RequestId = params.get("RequestId")
5161
6618
 
5162
6619
 
@@ -11230,6 +12687,53 @@ class IpAssetListVO(AbstractModel):
11230
12687
 
11231
12688
 
11232
12689
 
12690
+ class KeyValue(AbstractModel):
12691
+ """KeyValue对
12692
+
12693
+ """
12694
+
12695
+ def __init__(self):
12696
+ r"""
12697
+ :param _Key: 字段
12698
+ 注意:此字段可能返回 null,表示取不到有效值。
12699
+ :type Key: str
12700
+ :param _Value: 值
12701
+ 注意:此字段可能返回 null,表示取不到有效值。
12702
+ :type Value: str
12703
+ """
12704
+ self._Key = None
12705
+ self._Value = None
12706
+
12707
+ @property
12708
+ def Key(self):
12709
+ return self._Key
12710
+
12711
+ @Key.setter
12712
+ def Key(self, Key):
12713
+ self._Key = Key
12714
+
12715
+ @property
12716
+ def Value(self):
12717
+ return self._Value
12718
+
12719
+ @Value.setter
12720
+ def Value(self, Value):
12721
+ self._Value = Value
12722
+
12723
+
12724
+ def _deserialize(self, params):
12725
+ self._Key = params.get("Key")
12726
+ self._Value = params.get("Value")
12727
+ memeber_set = set(params.keys())
12728
+ for name, value in vars(self).items():
12729
+ property_name = name[1:]
12730
+ if property_name in memeber_set:
12731
+ memeber_set.remove(property_name)
12732
+ if len(memeber_set) > 0:
12733
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
12734
+
12735
+
12736
+
11233
12737
  class ModifyOrganizationAccountStatusRequest(AbstractModel):
11234
12738
  """ModifyOrganizationAccountStatus请求参数结构体
11235
12739
 
@@ -12551,6 +14055,66 @@ class PublicIpDomainListKey(AbstractModel):
12551
14055
 
12552
14056
 
12553
14057
 
14058
+ class RelatedEvent(AbstractModel):
14059
+ """相关攻击事件结构
14060
+
14061
+ """
14062
+
14063
+ def __init__(self):
14064
+ r"""
14065
+ :param _EventID: 事件ID
14066
+ 注意:此字段可能返回 null,表示取不到有效值。
14067
+ :type EventID: str
14068
+ :param _Description: 事件描述
14069
+ 注意:此字段可能返回 null,表示取不到有效值。
14070
+ :type Description: str
14071
+ :param _RelatedCount: 与事件关联的告警数量
14072
+ 注意:此字段可能返回 null,表示取不到有效值。
14073
+ :type RelatedCount: int
14074
+ """
14075
+ self._EventID = None
14076
+ self._Description = None
14077
+ self._RelatedCount = None
14078
+
14079
+ @property
14080
+ def EventID(self):
14081
+ return self._EventID
14082
+
14083
+ @EventID.setter
14084
+ def EventID(self, EventID):
14085
+ self._EventID = EventID
14086
+
14087
+ @property
14088
+ def Description(self):
14089
+ return self._Description
14090
+
14091
+ @Description.setter
14092
+ def Description(self, Description):
14093
+ self._Description = Description
14094
+
14095
+ @property
14096
+ def RelatedCount(self):
14097
+ return self._RelatedCount
14098
+
14099
+ @RelatedCount.setter
14100
+ def RelatedCount(self, RelatedCount):
14101
+ self._RelatedCount = RelatedCount
14102
+
14103
+
14104
+ def _deserialize(self, params):
14105
+ self._EventID = params.get("EventID")
14106
+ self._Description = params.get("Description")
14107
+ self._RelatedCount = params.get("RelatedCount")
14108
+ memeber_set = set(params.keys())
14109
+ for name, value in vars(self).items():
14110
+ property_name = name[1:]
14111
+ if property_name in memeber_set:
14112
+ memeber_set.remove(property_name)
14113
+ if len(memeber_set) > 0:
14114
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
14115
+
14116
+
14117
+
12554
14118
  class ReportItemKey(AbstractModel):
12555
14119
  """报告项key
12556
14120
 
@@ -12698,6 +14262,305 @@ class RiskCenterStatusKey(AbstractModel):
12698
14262
 
12699
14263
 
12700
14264
 
14265
+ class RoleInfo(AbstractModel):
14266
+ """告警数据攻击者或受害者信息
14267
+
14268
+ """
14269
+
14270
+ def __init__(self):
14271
+ r"""
14272
+ :param _IP: IP
14273
+ 注意:此字段可能返回 null,表示取不到有效值。
14274
+ :type IP: str
14275
+ :param _HostIP: HostIP
14276
+ 注意:此字段可能返回 null,表示取不到有效值。
14277
+ :type HostIP: str
14278
+ :param _OriginIP: 原始IP
14279
+ 注意:此字段可能返回 null,表示取不到有效值。
14280
+ :type OriginIP: str
14281
+ :param _Port: 端口
14282
+ 注意:此字段可能返回 null,表示取不到有效值。
14283
+ :type Port: int
14284
+ :param _InstanceID: 资产ID
14285
+ 注意:此字段可能返回 null,表示取不到有效值。
14286
+ :type InstanceID: str
14287
+ :param _City: 城市
14288
+ 注意:此字段可能返回 null,表示取不到有效值。
14289
+ :type City: str
14290
+ :param _Province: 省份
14291
+ 注意:此字段可能返回 null,表示取不到有效值。
14292
+ :type Province: str
14293
+ :param _Country: 国家
14294
+ 注意:此字段可能返回 null,表示取不到有效值。
14295
+ :type Country: str
14296
+ :param _Address: 地址
14297
+ 注意:此字段可能返回 null,表示取不到有效值。
14298
+ :type Address: str
14299
+ :param _Latitude: 纬度
14300
+ 注意:此字段可能返回 null,表示取不到有效值。
14301
+ :type Latitude: str
14302
+ :param _Longitude: 经度
14303
+ 注意:此字段可能返回 null,表示取不到有效值。
14304
+ :type Longitude: str
14305
+ :param _Info: 信息
14306
+ 注意:此字段可能返回 null,表示取不到有效值。
14307
+ :type Info: str
14308
+ :param _Domain: 域名
14309
+ 注意:此字段可能返回 null,表示取不到有效值。
14310
+ :type Domain: str
14311
+ :param _Name: 企业名称
14312
+ 注意:此字段可能返回 null,表示取不到有效值。
14313
+ :type Name: str
14314
+ :param _Account: 账号
14315
+ 注意:此字段可能返回 null,表示取不到有效值。
14316
+ :type Account: str
14317
+ :param _Family: 家族团伙
14318
+ 注意:此字段可能返回 null,表示取不到有效值。
14319
+ :type Family: str
14320
+ :param _VirusName: 病毒名
14321
+ 注意:此字段可能返回 null,表示取不到有效值。
14322
+ :type VirusName: str
14323
+ :param _MD5: MD5值
14324
+ 注意:此字段可能返回 null,表示取不到有效值。
14325
+ :type MD5: str
14326
+ :param _FileName: 恶意进程文件名
14327
+ 注意:此字段可能返回 null,表示取不到有效值。
14328
+ :type FileName: str
14329
+ :param _AssetType: 1:主机资产 2:域名资产 3:网络资产
14330
+ 注意:此字段可能返回 null,表示取不到有效值。
14331
+ :type AssetType: int
14332
+ :param _FromLogAnalysisData: 来源日志分析的信息字段
14333
+ 注意:此字段可能返回 null,表示取不到有效值。
14334
+ :type FromLogAnalysisData: list of KeyValue
14335
+ """
14336
+ self._IP = None
14337
+ self._HostIP = None
14338
+ self._OriginIP = None
14339
+ self._Port = None
14340
+ self._InstanceID = None
14341
+ self._City = None
14342
+ self._Province = None
14343
+ self._Country = None
14344
+ self._Address = None
14345
+ self._Latitude = None
14346
+ self._Longitude = None
14347
+ self._Info = None
14348
+ self._Domain = None
14349
+ self._Name = None
14350
+ self._Account = None
14351
+ self._Family = None
14352
+ self._VirusName = None
14353
+ self._MD5 = None
14354
+ self._FileName = None
14355
+ self._AssetType = None
14356
+ self._FromLogAnalysisData = None
14357
+
14358
+ @property
14359
+ def IP(self):
14360
+ return self._IP
14361
+
14362
+ @IP.setter
14363
+ def IP(self, IP):
14364
+ self._IP = IP
14365
+
14366
+ @property
14367
+ def HostIP(self):
14368
+ return self._HostIP
14369
+
14370
+ @HostIP.setter
14371
+ def HostIP(self, HostIP):
14372
+ self._HostIP = HostIP
14373
+
14374
+ @property
14375
+ def OriginIP(self):
14376
+ return self._OriginIP
14377
+
14378
+ @OriginIP.setter
14379
+ def OriginIP(self, OriginIP):
14380
+ self._OriginIP = OriginIP
14381
+
14382
+ @property
14383
+ def Port(self):
14384
+ return self._Port
14385
+
14386
+ @Port.setter
14387
+ def Port(self, Port):
14388
+ self._Port = Port
14389
+
14390
+ @property
14391
+ def InstanceID(self):
14392
+ return self._InstanceID
14393
+
14394
+ @InstanceID.setter
14395
+ def InstanceID(self, InstanceID):
14396
+ self._InstanceID = InstanceID
14397
+
14398
+ @property
14399
+ def City(self):
14400
+ return self._City
14401
+
14402
+ @City.setter
14403
+ def City(self, City):
14404
+ self._City = City
14405
+
14406
+ @property
14407
+ def Province(self):
14408
+ return self._Province
14409
+
14410
+ @Province.setter
14411
+ def Province(self, Province):
14412
+ self._Province = Province
14413
+
14414
+ @property
14415
+ def Country(self):
14416
+ return self._Country
14417
+
14418
+ @Country.setter
14419
+ def Country(self, Country):
14420
+ self._Country = Country
14421
+
14422
+ @property
14423
+ def Address(self):
14424
+ return self._Address
14425
+
14426
+ @Address.setter
14427
+ def Address(self, Address):
14428
+ self._Address = Address
14429
+
14430
+ @property
14431
+ def Latitude(self):
14432
+ return self._Latitude
14433
+
14434
+ @Latitude.setter
14435
+ def Latitude(self, Latitude):
14436
+ self._Latitude = Latitude
14437
+
14438
+ @property
14439
+ def Longitude(self):
14440
+ return self._Longitude
14441
+
14442
+ @Longitude.setter
14443
+ def Longitude(self, Longitude):
14444
+ self._Longitude = Longitude
14445
+
14446
+ @property
14447
+ def Info(self):
14448
+ return self._Info
14449
+
14450
+ @Info.setter
14451
+ def Info(self, Info):
14452
+ self._Info = Info
14453
+
14454
+ @property
14455
+ def Domain(self):
14456
+ return self._Domain
14457
+
14458
+ @Domain.setter
14459
+ def Domain(self, Domain):
14460
+ self._Domain = Domain
14461
+
14462
+ @property
14463
+ def Name(self):
14464
+ return self._Name
14465
+
14466
+ @Name.setter
14467
+ def Name(self, Name):
14468
+ self._Name = Name
14469
+
14470
+ @property
14471
+ def Account(self):
14472
+ return self._Account
14473
+
14474
+ @Account.setter
14475
+ def Account(self, Account):
14476
+ self._Account = Account
14477
+
14478
+ @property
14479
+ def Family(self):
14480
+ return self._Family
14481
+
14482
+ @Family.setter
14483
+ def Family(self, Family):
14484
+ self._Family = Family
14485
+
14486
+ @property
14487
+ def VirusName(self):
14488
+ return self._VirusName
14489
+
14490
+ @VirusName.setter
14491
+ def VirusName(self, VirusName):
14492
+ self._VirusName = VirusName
14493
+
14494
+ @property
14495
+ def MD5(self):
14496
+ return self._MD5
14497
+
14498
+ @MD5.setter
14499
+ def MD5(self, MD5):
14500
+ self._MD5 = MD5
14501
+
14502
+ @property
14503
+ def FileName(self):
14504
+ return self._FileName
14505
+
14506
+ @FileName.setter
14507
+ def FileName(self, FileName):
14508
+ self._FileName = FileName
14509
+
14510
+ @property
14511
+ def AssetType(self):
14512
+ return self._AssetType
14513
+
14514
+ @AssetType.setter
14515
+ def AssetType(self, AssetType):
14516
+ self._AssetType = AssetType
14517
+
14518
+ @property
14519
+ def FromLogAnalysisData(self):
14520
+ return self._FromLogAnalysisData
14521
+
14522
+ @FromLogAnalysisData.setter
14523
+ def FromLogAnalysisData(self, FromLogAnalysisData):
14524
+ self._FromLogAnalysisData = FromLogAnalysisData
14525
+
14526
+
14527
+ def _deserialize(self, params):
14528
+ self._IP = params.get("IP")
14529
+ self._HostIP = params.get("HostIP")
14530
+ self._OriginIP = params.get("OriginIP")
14531
+ self._Port = params.get("Port")
14532
+ self._InstanceID = params.get("InstanceID")
14533
+ self._City = params.get("City")
14534
+ self._Province = params.get("Province")
14535
+ self._Country = params.get("Country")
14536
+ self._Address = params.get("Address")
14537
+ self._Latitude = params.get("Latitude")
14538
+ self._Longitude = params.get("Longitude")
14539
+ self._Info = params.get("Info")
14540
+ self._Domain = params.get("Domain")
14541
+ self._Name = params.get("Name")
14542
+ self._Account = params.get("Account")
14543
+ self._Family = params.get("Family")
14544
+ self._VirusName = params.get("VirusName")
14545
+ self._MD5 = params.get("MD5")
14546
+ self._FileName = params.get("FileName")
14547
+ self._AssetType = params.get("AssetType")
14548
+ if params.get("FromLogAnalysisData") is not None:
14549
+ self._FromLogAnalysisData = []
14550
+ for item in params.get("FromLogAnalysisData"):
14551
+ obj = KeyValue()
14552
+ obj._deserialize(item)
14553
+ self._FromLogAnalysisData.append(obj)
14554
+ memeber_set = set(params.keys())
14555
+ for name, value in vars(self).items():
14556
+ property_name = name[1:]
14557
+ if property_name in memeber_set:
14558
+ memeber_set.remove(property_name)
14559
+ if len(memeber_set) > 0:
14560
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
14561
+
14562
+
14563
+
12701
14564
  class ScanTaskInfo(AbstractModel):
12702
14565
  """扫描任务详情
12703
14566