Skip to content

Commit 668e64e

Browse files
committed
add GetVulnDetail
1 parent e72485c commit 668e64e

File tree

2 files changed

+173
-3
lines changed

2 files changed

+173
-3
lines changed

dongtai_sdk/DongTai.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
Date: 2021-12-23 15:10:01
44
version:
55
LastEditors: 饕餮
6-
LastEditTime: 2021-12-27 18:35:26
6+
LastEditTime: 2022-01-18 18:21:09
77
Description: Main
88
'''
9-
from .base.DongTaiVuln import VulnSummary
9+
from .base.DongTaiVuln import VulnDetail, VulnSummary
1010
from .base.DongTaiProject import DongTaiProject,DongTaiProjectVersion
1111
from .base.DongTaiAgent import DongTaiAgent
1212
from .base.DongTaiSca import DongTaiSca, ScaSummary
@@ -214,4 +214,14 @@ def GetVulnSummary(self,projectId=None,language=None,level=None,order=None,proje
214214
errorMsg = {"status":repData["status"],"msg":repData["msg"]}
215215
errorObject = DongTaiError(errorMsg)
216216
return errorObject
217+
218+
def GetVulnDetail(self,vulnId):
219+
repData = self.dongTaiApi.GetVulnDetail(vulnId)
220+
if repData["status"] == 201:
221+
vulnDetail = VulnDetail(repData["data"])
222+
return vulnDetail
223+
else:
224+
errorMsg = {"status":repData["status"],"msg":repData["msg"]}
225+
errorObject = DongTaiError(errorMsg)
226+
return errorObject
217227

dongtai_sdk/base/DongTaiVuln.py

Lines changed: 161 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Date: 2021-12-24 10:56:10
44
version:
55
LastEditors: 饕餮
6-
LastEditTime: 2021-12-27 18:55:58
6+
LastEditTime: 2022-01-18 18:20:18
77
Description: Vuln Object
88
'''
99
import json
@@ -38,6 +38,166 @@ def Count(self):
3838
def Id(self):
3939
return self.TryGetValue("level_id")
4040

41+
class Vuln(BaseObject):
42+
def __init__(self,jsonData):
43+
self.ObjectData = jsonData
44+
45+
@property
46+
def Url(self):
47+
return self.TryGetValue("url")
48+
49+
@property
50+
def Uri(self):
51+
return self.TryGetValue("uri")
52+
53+
@property
54+
def AgentName(self):
55+
return self.TryGetValue("agent_name")
56+
57+
@property
58+
def HttpMethod(self):
59+
return self.TryGetValue("http_method")
60+
61+
@property
62+
def Type(self):
63+
return self.TryGetValue("type")
64+
65+
@property
66+
def TaintPosition(self):
67+
return self.TryGetValue("taint_position")
68+
69+
@property
70+
def FirstTime(self):
71+
return self.TryGetValue("first_time")
72+
73+
@property
74+
def LatestTime(self):
75+
return self.TryGetValue("latest_time")
76+
77+
@property
78+
def ProjectName(self):
79+
return self.TryGetValue("project_name")
80+
81+
@property
82+
def ProjectVersion(self):
83+
return self.TryGetValue("project_version")
84+
85+
@property
86+
def Language(self):
87+
return self.TryGetValue("language")
88+
89+
@property
90+
def Level(self):
91+
return self.TryGetValue("level")
92+
93+
@property
94+
def LevelType(self):
95+
return self.TryGetValue("level_type")
96+
97+
@property
98+
def Counts(self):
99+
return self.TryGetValue("counts")
100+
101+
@property
102+
def ReqHeader(self):
103+
return self.TryGetValue("req_header")
104+
105+
@property
106+
def Response(self):
107+
return self.TryGetValue("response")
108+
109+
@property
110+
def Graph(self):
111+
return self.TryGetValue("graph")
112+
113+
@property
114+
def ContextPath(self):
115+
return self.TryGetValue("context_path")
116+
117+
@property
118+
def ClientIp(self):
119+
return self.TryGetValue("client_ip")
120+
121+
@property
122+
def Status(self):
123+
return self.TryGetValue("status")
124+
125+
@property
126+
def TaintValue(self):
127+
return self.TryGetValue("taint_value")
128+
129+
@property
130+
def ParamName(self):
131+
return self.TryGetValue("param_name")
132+
133+
@property
134+
def MethodPoolId(self):
135+
return self.TryGetValue("method_pool_id")
136+
137+
@property
138+
def ProjectId(self):
139+
return self.TryGetValue("project_id")
140+
141+
class VulnServer(BaseObject):
142+
def __init__(self,jsonData):
143+
self.ObjectData = jsonData
144+
145+
@property
146+
def Name(self):
147+
return self.TryGetValue("name")
148+
149+
@property
150+
def Hostname(self):
151+
return self.TryGetValue("hostname")
152+
153+
@property
154+
def Ip(self):
155+
return self.TryGetValue("ip")
156+
157+
@property
158+
def Port(self):
159+
return self.TryGetValue("port")
160+
161+
@property
162+
def Container(self):
163+
return self.TryGetValue("container")
164+
165+
@property
166+
def ServerType(self):
167+
return self.TryGetValue("server_type")
168+
169+
@property
170+
def ContainerPath(self):
171+
return self.TryGetValue("container_path")
172+
173+
@property
174+
def Runtime(self):
175+
return self.TryGetValue("runtime")
176+
177+
@property
178+
def Environment(self):
179+
return self.TryGetValue("environment")
180+
181+
@property
182+
def Command(self):
183+
return self.TryGetValue("command")
184+
185+
class VulnDetail(BaseObject):
186+
def __init__(self,jsonData):
187+
self.ObjectData = jsonData
188+
189+
@property
190+
def Vuln(self) -> Vuln:
191+
tmpData = self.TryGetValue("vul")
192+
tmpObject = Vuln(tmpData)
193+
return tmpObject
194+
195+
@property
196+
def Server(self) -> VulnServer:
197+
tmpData = self.TryGetValue("server")
198+
tmpObject = VulnServer(tmpData)
199+
return tmpObject
200+
41201
class VulnSummary(BaseObject):
42202
WithOutRiskLevel = ["无风险"]
43203

0 commit comments

Comments
 (0)