Skip to content
This repository was archived by the owner on Apr 20, 2022. It is now read-only.

Close ISSUE #94 ( DongTai-Engine ) #95

Merged
merged 3 commits into from
Nov 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions core/plugins/strategy_headers.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

from celery.apps.worker import logger
from django.db.models import Q
from dongtai.models.project import IastProject
from dongtai.models.strategy import IastStrategyModel
from dongtai.models.vulnerablity import IastVulnerabilityModel
from dongtai.utils import const
Expand Down Expand Up @@ -101,6 +102,7 @@ def save_vul(vul_type, method_pool, position=None, data=None):
method_pool_id=method_pool.id
).first()
timestamp = int(time.time())
IastProject.objects.filter(id=method_pool.agent.bind_project_id).update(latest_time=timestamp)
if vul:
vul.req_header = method_pool.req_header
vul.req_params = method_pool.req_params
Expand Down
2 changes: 1 addition & 1 deletion core/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@ def search_and_save_vul(engine, method_pool_model, method_pool, strategy):
taint_value=taint_value
)
else:
# 更新漏洞状态为已忽略/误报
try:
if isinstance(method_pool_model, MethodPool):
return
Expand All @@ -140,6 +139,7 @@ def search_and_save_vul(engine, method_pool_model, method_pool, strategy):
verify_time=timestamp,
update_time=timestamp
)
IastProject.objects.filter(id=method_pool.agent.bind_project_id).update(latest_time=timestamp)
except Exception as e:
logger.info(f'漏洞数据处理出错,原因:{e}')

Expand Down
4 changes: 4 additions & 0 deletions signals/handlers/vul_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import requests
from celery.apps.worker import logger
from django.dispatch import receiver
from dongtai.models.project import IastProject
from dongtai.models.replay_queue import IastReplayQueue

from dongtai.models.notify_config import IastNotifyConfig
Expand Down Expand Up @@ -239,6 +240,7 @@ def save_vul(vul_meta, vul_level, strategy_id, vul_stack, top_stack, bottom_stac
agent=vul_meta.agent,
method_pool_id=vul_meta.id
).first()
IastProject.objects.filter(id=vul_meta.agent.bind_project_id).update(latest_time=timestamp)
if vul:
vul.req_header = vul_meta.req_header
vul.req_params = vul_meta.req_params
Expand Down Expand Up @@ -327,6 +329,8 @@ def handler_replay_vul(vul_meta, vul_level, strategy_id, vul_stack, top_stack, b
vul.latest_time = timestamp
vul.save(update_fields=['status_id', 'latest_time'])

IastProject.objects.filter(id=vul_meta.agent.bind_project_id).update(latest_time=timestamp)

IastReplayQueue.objects.filter(id=kwargs['replay_id']).update(
state=const.SOLVED,
result=const.RECHECK_TRUE,
Expand Down
2 changes: 1 addition & 1 deletion test/core/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def test_search_vul_from_replay_method_pool(self):
search_vul_from_replay_method_pool(method_id)

def test_search_vul_from_method_pool(self):
method_pool_id = 66235
method_pool_id = 68871
from core.tasks import search_vul_from_method_pool
search_vul_from_method_pool(method_pool_id)

Expand Down