Skip to content

Commit 6068600

Browse files
authored
Merge pull request #1449 from Bidaya0/fix/project_id-in_recognize-ap
fix: project delete in recognize api .
2 parents 08718df + 44c4343 commit 6068600

File tree

4 files changed

+43
-33
lines changed

4 files changed

+43
-33
lines changed

dongtai_common/utils/stack_recognize.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ def stack_scan(stack: str,
8989
for rule in extend_black_list:
9090
stack.startswith(rule)
9191
return {"stack": stack, "code_belong": "system"}
92+
if stack.startswith("org.apache.jsp._"):
93+
return {"stack": stack, "code_belong": "user"}
9294
if trie.prefixes(stack):
9395
return {"stack": stack, "code_belong": "system"}
9496
return {"stack": stack, "code_belong": "user"}

dongtai_protocol/report/handler/narmal_vul_handler.py

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -157,56 +157,58 @@ def save(self):
157157
caller_message_linenumber = 0
158158
full_stack = [[{
159159
"args":
160-
"",
160+
"",
161161
"source":
162-
False,
162+
False,
163163
"invokeId":
164-
1,
164+
1,
165165
"className":
166-
'.'.join(
167-
re.search('.*\\(',
168-
sink_message).group(0).strip('()').split('.')[:-1]),
166+
'.'.join(
167+
re.search('.*\\(',
168+
sink_message).group(0).strip('()').split('.')[:-1]),
169169
"signature":
170-
sink_message,
170+
sink_message,
171171
"interfaces": [],
172172
"methodName":
173-
re.search('.*\\(',
174-
sink_message).group(0).strip('()').split('.')[-1],
173+
re.search('.*\\(',
174+
sink_message).group(0).strip('()').split('.')[-1],
175175
"sourceHash": [],
176176
"targetHash": [],
177177
"callerClass":
178-
'.'.join(
179-
re.search(
180-
'.*\\(',
181-
caller_message).group(0).strip('()').split('.')[:-1]),
178+
'.'.join(
179+
re.search(
180+
'.*\\(',
181+
caller_message).group(0).strip('()').split('.')[:-1]),
182182
"targetRange": [],
183183
"callerMethod":
184-
re.search('.*\\(',
185-
caller_message).group(0).strip('()').split('.')[-1],
184+
re.search('.*\\(',
185+
caller_message).group(0).strip('()').split('.')[-1],
186186
"retClassName":
187-
"",
187+
"",
188188
"sourceValues":
189-
"",
189+
"",
190190
"targetValues":
191-
"",
191+
"",
192192
"originClassName":
193-
'.'.join(
194-
re.search('.*\\(',
195-
sink_message).group(0).strip('()').split('.')[:-1]),
193+
'.'.join(
194+
re.search('.*\\(',
195+
sink_message).group(0).strip('()').split('.')[:-1]),
196196
"callerLineNumber":
197-
caller_message_linenumber,
197+
caller_message_linenumber,
198198
"sourceHashForRpc": [],
199199
"targetHashForRpc": [],
200200
"sourceIsReference":
201-
False,
201+
False,
202202
"targetIsReference":
203-
False,
203+
False,
204204
"projectPropagatorClose":
205-
False,
205+
False,
206206
"tag":
207-
"sink",
207+
"sink",
208208
"code":
209-
sink_message,
209+
sink_message,
210+
"stack":
211+
self.app_caller,
210212
}]]
211213
project_agents = IastAgent.objects.filter(
212214
project_version_id=self.agent.project_version_id)

dongtai_web/project/recognize_rule.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ def update(self, request, pk):
143143
try:
144144
if ser.is_valid(True):
145145
pass
146+
if not pk > 0:
147+
return R.failure()
146148
except ValidationError as e:
147149
return R.failure(data=e.detail)
148150
obj = IastRecognizeRule.objects.filter(pk=pk).update(

dongtai_web/views/vul_details.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -286,12 +286,16 @@ def get_vul(self, department):
286286
exc_info=e)
287287
token = ""
288288

289-
extend_black_list = list(IastRecognizeRule.objects.filter(
290-
project_id=project_id,
291-
rule_type=RuleTypeChoices.BLACK).values('rule_detail').all())
292-
extend_white_list = list(IastRecognizeRule.objects.filter(
293-
project_id=project_id,
294-
rule_type=RuleTypeChoices.WHITE).values('rule_detail').all())
289+
extend_black_list = list(
290+
IastRecognizeRule.objects.filter(
291+
project_id=project_id,
292+
rule_type=RuleTypeChoices.BLACK).values_list('rule_detail',
293+
flat=True).all())
294+
extend_white_list = list(
295+
IastRecognizeRule.objects.filter(
296+
project_id=project_id,
297+
rule_type=RuleTypeChoices.WHITE).values_list('rule_detail',
298+
flat=True).all())
295299

296300
return {
297301
'url':

0 commit comments

Comments
 (0)