예제 #1
0
 def avg_ageing(self, user, kwargs={}, exclude_kwargs={}):
     raw_vuls = self.get_open_vul_query(user, kwargs, exclude_kwargs)
     open_vuls = raw_vuls.annotate(open_for=Max(Aging('created_on')))
     avg_ageing_val = 0
     if open_vuls:
         all_ageing_count = [v.get('open_for') for v in open_vuls]
         if all_ageing_count:
             avg_ageing_val = math.ceil(
                 sum(all_ageing_count) / len(all_ageing_count))
     return avg_ageing_val
예제 #2
0
 def vuls(self, user, kwargs={}, exclude_kwargs={}):
     raw_vuls = self.get_open_vul_fp_query(user, kwargs, exclude_kwargs)
     open_vuls = raw_vuls.annotate(tools=GroupConcat('tool',distinct=True),\
             count=Count('name',distinct=True),\
             apps=GroupConcat('scan__application__name',distinct=True),\
             open_for=Max(Aging('created_on')),\
             names=GroupConcat(Concat('name',V('###'),'scan__application__name',V('###'),V('###')),distinct=True))
     return open_vuls.values('tools', 'severity', 'apps', 'common_name',
                             'open_for', 'names', 'cwe',
                             'count').order_by('-severity')
예제 #3
0
 def avg_ageing(self, kwargs={}, exclude_kwargs={}):
     ReportProcedures.set_max_value()
     raw_vuls = self.get_open_vul_query(kwargs, exclude_kwargs)
     open_vuls = raw_vuls.annotate(open_for=Aging('created_on'))
     all_ageing_count = [v.get('open_for') for v in open_vuls]
     avg_ageing_val = 0
     if all_ageing_count:
         avg_ageing_val = math.ceil(
             sum(all_ageing_count) / len(all_ageing_count))
     return avg_ageing_val
예제 #4
0
 def vuls(self, user, kwargs={}, exclude_kwargs={}):
     ReportProcedures.set_max_value()
     raw_vuls = self.get_open_vul_query(kwargs, exclude_kwargs)
     open_vuls = raw_vuls.annotate(tools=GroupConcat('tool',distinct=True),\
             count=Count('name',distinct=True),\
             apps=GroupConcat('scan__application__name',distinct=True),\
             common_name=GroupConcat('common_name',distinct=True),\
             open_for=Aging('created_on'),\
             names=GroupConcat(Concat('name',V('###'),'scan__application__name',V('###'),'jira_id',V('###'),'jira_issue_status'),distinct=True))
     return open_vuls.values('tools', 'severity', 'apps', 'common_name',
                             'open_for', 'names', 'cwe',
                             'count').order_by('-severity')
예제 #5
0
 def vuls(self, kwargs={}, exclude_kwargs={}):
     ReportProcedures.set_max_value()
     raw_vuls = self.get_open_vul_query(kwargs, exclude_kwargs)
     open_vuls = raw_vuls.annotate(tools=GroupConcat('tool',distinct=True),\
       count=Count('name',distinct=True),\
       severity=Max('severity'),\
       bug_id=F('jira_id'),\
       bug_status=F('jira_issue_status'),\
       apps=GroupConcat('scan__application__name',distinct=True),\
       common_name=GroupConcat('common_name',distinct=True),\
       open_for=Aging('created_on'),\
       names=GroupConcat(Concat('name',V('###'),'scan__application__name'),distinct=True))
     return open_vuls
예제 #6
0
 def aging_count(self, kwargs={}, exclude_kwargs={}):
     aging_list = self.get_open_vul_query(kwargs, exclude_kwargs)\
     .annotate(open_for=Aging('created_on'))\
     .values_list('open_for',flat=True)
     days = dict(Counter(aging_list))
     days_list = []
     for day, count in days.items():
         if day <= 5:
             days_list.append(('0-5 days', count))
         elif day > 5 and day <= 10:
             days_list.append(('6-10 days', count))
         elif day > 10 and day <= 20:
             days_list.append(('11-20 days', count))
         elif day > 20 and day <= 40:
             days_list.append(('21-40 days', count))
         elif day > 40 and day <= 80:
             days_list.append(('41-80 days', count))
         elif day > 80 and day <= 100:
             days_list.append(('81-100 days', count))
         elif day > 100:
             days_list.append(('More than 100 days', count))
     return days_list
예제 #7
0
 def aging_count(self, user, kwargs={}, exclude_kwargs={}):
     aging_list = self.get_open_vul_query(user, kwargs, exclude_kwargs)\
     .annotate(open_for=Aging('created_on'))\
     .values_list('open_for','severity')
     days_dict = {
         1: {
             '0-5 days': {
                 0: 0,
                 1: 0,
                 2: 0,
                 3: 0
             }
         },
         2: {
             '6-10 days': {
                 0: 0,
                 1: 0,
                 2: 0,
                 3: 0
             }
         },
         3: {
             '11-20 days': {
                 0: 0,
                 1: 0,
                 2: 0,
                 3: 0
             }
         },
         4: {
             '21-40 days': {
                 0: 0,
                 1: 0,
                 2: 0,
                 3: 0
             }
         },
         5: {
             '41-80 days': {
                 0: 0,
                 1: 0,
                 2: 0,
                 3: 0
             }
         },
         6: {
             '81-100 days': {
                 0: 0,
                 1: 0,
                 2: 0,
                 3: 0
             }
         },
         7: {
             'More than 100 days': {
                 0: 0,
                 1: 0,
                 2: 0,
                 3: 0
             }
         },
     }
     for day, severity in aging_list:
         if day <= 5:
             days_dict[1]['0-5 days'][
                 severity] = days_dict[1]['0-5 days'][severity] + 1
         elif day > 5 and day <= 10:
             days_dict[2]['6-10 days'][
                 severity] = days_dict[2]['6-10 days'][severity] + 1
         elif day > 10 and day <= 20:
             days_dict[3]['11-20 days'][
                 severity] = days_dict[3]['11-20 days'][severity] + 1
         elif day > 20 and day <= 40:
             days_dict[4]['21-40 days'][
                 severity] = days_dict[4]['21-40 days'][severity] + 1
         elif day > 40 and day <= 80:
             days_dict[5]['41-80 days'][
                 severity] = days_dict[5]['41-80 days'][severity] + 1
         elif day > 80 and day <= 100:
             days_dict[6]['81-100 days'][
                 severity] = days_dict[6]['81-100 days'][severity] + 1
         elif day > 100:
             days_dict[7]['More than 100 days'][severity] = days_dict[7][
                 'More than 100 days'][severity] + 1
     return days_dict