Skip to content

Commit ff0fa66

Browse files
committed
support vuln
1 parent e77048c commit ff0fa66

File tree

4 files changed

+127
-9
lines changed

4 files changed

+127
-9
lines changed

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* @Date: 2021-12-23 14:25:35
44
* @version:
55
* @LastEditors: 饕餮
6-
* @LastEditTime: 2021-12-27 09:59:59
6+
* @LastEditTime: 2021-12-27 18:36:54
77
* @Description: How to use
88
-->
99
# DongTai-SDK-Python
@@ -68,3 +68,8 @@ dongTaiSdk.GetScaDetail(scaId)
6868
dongTaiSdk.GetScaList(page=1,pageSize=50,keyword=None,language=None,level=None,order=None,projectId=None,projectName=None,versionId=None)
6969
dongTaiSdk.GetScaSummary(page=1,pageSize=50,keyword=None,language=None,level=None,order=None,projectId=None,projectName=None,versionId=None)
7070
```
71+
72+
### Vuln
73+
```python
74+
dongTaiSdk.GetVulnSummary(projectId=None,language=None,level=None,order=None,projectName=None,status=None,type=None,url=None,versionId=None,statusId=None)
75+
```

dongtai_sdk/DongTai.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
Date: 2021-12-23 15:10:01
44
version:
55
LastEditors: 饕餮
6-
LastEditTime: 2021-12-27 09:59:24
6+
LastEditTime: 2021-12-27 18:35:26
77
Description: Main
88
'''
9+
from .base.DongTaiVuln import VulnSummary
910
from .base.DongTaiProject import DongTaiProject,DongTaiProjectVersion
1011
from .base.DongTaiAgent import DongTaiAgent
1112
from .base.DongTaiSca import DongTaiSca, ScaSummary
@@ -202,3 +203,15 @@ def GetScaSummary(self,page=1,pageSize=50,keyword=None,language=None,level=None,
202203
errorMsg = {"status":repData["status"],"msg":repData["msg"]}
203204
errorObject = DongTaiError(errorMsg)
204205
return errorObject
206+
207+
#[Vuln Function]
208+
def GetVulnSummary(self,projectId=None,language=None,level=None,order=None,projectName=None,status=None,type=None,url=None,versionId=None,statusId=None):
209+
repData = self.dongTaiApi.GetVulnSummary(projectId,language,level,order,projectName,status,type,url,versionId,statusId)
210+
if repData["status"] == 201:
211+
vulnSummary = VulnSummary(repData["data"])
212+
return vulnSummary
213+
else:
214+
errorMsg = {"status":repData["status"],"msg":repData["msg"]}
215+
errorObject = DongTaiError(errorMsg)
216+
return errorObject
217+

dongtai_sdk/DongTaiApi.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Date: 2021-12-23 14:27:00
44
version:
55
LastEditors: 饕餮
6-
LastEditTime: 2021-12-27 13:15:27
6+
LastEditTime: 2021-12-27 17:03:50
77
Description: file content
88
'''
99
import json,requests
@@ -187,11 +187,12 @@ def GetScaDetail(self,scaId):
187187

188188
#[Vuln Function]
189189
#漏洞概览
190-
def GetVulnSummary(self,projectId,language=None,level=None,order=None,projectName=None,status=None,type=None,url=None,versionId=None,statusId=1):
191-
data = {
192-
"project_id":projectId,
193-
"status_id":statusId
194-
}
190+
def GetVulnSummary(self,projectId=None,language=None,level=None,order=None,projectName=None,status=None,type=None,url=None,versionId=None,statusId=None):
191+
data = {}
192+
if projectId is not None:
193+
data["project_id"] = projectId
194+
if statusId is not None:
195+
data["status_id"] = statusId
195196
if language is not None:
196197
data["language"] = language
197198
if level is not None:

dongtai_sdk/base/DongTaiVuln.py

Lines changed: 100 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,105 @@
33
Date: 2021-12-24 10:56:10
44
version:
55
LastEditors: 饕餮
6-
LastEditTime: 2021-12-24 10:58:36
6+
LastEditTime: 2021-12-27 18:34:21
77
Description: Vuln Object
88
'''
9+
import json
10+
from typing import List
11+
from .BaseObejct import BaseObject,ProjectSummary,LanguageSummary
12+
13+
class VulnType(BaseObject):
14+
def __init__(self,jsonData):
15+
self.ObjectData = jsonData
16+
17+
@property
18+
def Type(self):
19+
return self.TryGetValue("type")
20+
21+
@property
22+
def Count(self):
23+
return self.TryGetValue("count")
24+
25+
class VulnLevel(BaseObject):
26+
def __init__(self,jsonData):
27+
self.ObjectData = jsonData
28+
29+
@property
30+
def Level(self):
31+
return self.TryGetValue("level")
32+
33+
@property
34+
def Count(self):
35+
return self.TryGetValue("count")
36+
37+
@property
38+
def Id(self):
39+
return self.TryGetValue("level_id")
40+
41+
class VulnSummary(BaseObject):
42+
def __init__(self,jsonData):
43+
self.ObjectData = jsonData
44+
45+
@property
46+
def Language(self) -> List[LanguageSummary]:
47+
returnData = []
48+
tmpDataList = self.TryGetValue("language")
49+
for tmpData in tmpDataList:
50+
tmpObject = LanguageSummary(tmpData)
51+
returnData.append(tmpObject)
52+
return returnData
53+
54+
@property
55+
def Level(self) -> List[VulnLevel]:
56+
returnData = []
57+
tmpDataList = self.TryGetValue("level")
58+
for tmpData in tmpDataList:
59+
tmpObject = VulnLevel(tmpData)
60+
returnData.append(tmpObject)
61+
return returnData
62+
63+
@property
64+
def Projects(self) -> List[ProjectSummary]:
65+
returnData = []
66+
tmpDataList = self.TryGetValue("projects")
67+
for tmpData in tmpDataList:
68+
tmpObject = ProjectSummary(tmpData)
69+
returnData.append(tmpObject)
70+
return returnData
71+
72+
@property
73+
def HighRisk(self):
74+
tmpData = [tmpLevel for tmpLevel in self.Level if tmpLevel.Level == "高危"]
75+
if len(tmpData) > 0:
76+
return tmpData[0]
77+
else:
78+
return None
79+
80+
@property
81+
def MediumRisk(self):
82+
tmpData = [tmpLevel for tmpLevel in self.Level if tmpLevel.Level == "中危"]
83+
if len(tmpData) > 0:
84+
return tmpData[0]
85+
else:
86+
return None
87+
88+
@property
89+
def LowRisk(self):
90+
tmpData = [tmpLevel for tmpLevel in self.Level if tmpLevel.Level == "低危"]
91+
if len(tmpData) > 0:
92+
return tmpData[0]
93+
else:
94+
return None
95+
96+
@property
97+
def Count(self):
98+
tmpCount = 0
99+
for tmpLevel in self.Level:
100+
if tmpLevel.Level not in ["无风险","提示"]:
101+
tmpCount += tmpLevel.Count
102+
return tmpCount
103+
104+
105+
106+
107+

0 commit comments

Comments
 (0)