restructure and write openvas to db
This commit is contained in:
@ -388,7 +388,11 @@ class vulnWhispererNessus(vulnWhispererBase):
|
||||
|
||||
|
||||
def whisper_nessus(self):
|
||||
if self.nessus_connect:
|
||||
if not self.nessus_connect:
|
||||
self.logger.error('Failed to use scanner at {host}:{port}'.format(host=self.hostname, port=self.nessus_port))
|
||||
self.exit_code += 1
|
||||
return self.exit_code
|
||||
|
||||
scan_data = self.nessus.scans
|
||||
folders = scan_data['folders']
|
||||
scans = scan_data['scans'] if scan_data['scans'] else []
|
||||
@ -499,6 +503,8 @@ class vulnWhispererNessus(vulnWhispererBase):
|
||||
vuln_ready['scan_time'] = norm_time
|
||||
|
||||
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
||||
self.logger.info('{records} records written to {path} '.format(records=vuln_ready.shape[0],
|
||||
path=relative_path_name))
|
||||
|
||||
record_meta = (
|
||||
scan_name,
|
||||
@ -513,13 +519,11 @@ class vulnWhispererNessus(vulnWhispererBase):
|
||||
0,
|
||||
)
|
||||
self.record_insert(record_meta)
|
||||
self.logger.info('{records} records written to {path} '.format(records=vuln_ready.shape[0],
|
||||
path=file_name.encode('utf8')))
|
||||
self.logger.info('Scan {} ({}) written to database'.format(scan_name.encode('utf8'), uuid))
|
||||
|
||||
self.conn.close()
|
||||
self.logger.info('Scan aggregation complete! Connection to database closed.')
|
||||
else:
|
||||
self.logger.error('Failed to use scanner at {host}:{port}'.format(host=self.hostname, port=self.nessus_port))
|
||||
self.exit_code += 1
|
||||
|
||||
return self.exit_code
|
||||
|
||||
|
||||
@ -658,6 +662,15 @@ class vulnWhispererQualys(vulnWhispererBase):
|
||||
vuln_ready['scan_source'] = self.CONFIG_SECTION
|
||||
vuln_ready['scan_time'] = launched_date
|
||||
|
||||
if output_format == 'json':
|
||||
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
||||
|
||||
elif output_format == 'csv':
|
||||
vuln_ready.to_csv(relative_path_name, index=False, header=True)
|
||||
|
||||
self.logger.info('{records} records written to {path} '.format(records=vuln_ready.shape[0],
|
||||
path=relative_path_name))
|
||||
|
||||
record_meta = (
|
||||
scan_name,
|
||||
scan_reference,
|
||||
@ -671,14 +684,7 @@ class vulnWhispererQualys(vulnWhispererBase):
|
||||
0,
|
||||
)
|
||||
self.record_insert(record_meta)
|
||||
|
||||
if output_format == 'json':
|
||||
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
||||
|
||||
elif output_format == 'csv':
|
||||
vuln_ready.to_csv(relative_path_name, index=False, header=True)
|
||||
|
||||
self.logger.info('Report written to {}'.format(report_name))
|
||||
self.logger.info('Scan {} ({}) written to database'.format(scan_name.encode('utf8'), report_id))
|
||||
|
||||
if cleanup:
|
||||
self.logger.info('Removing report {} from Qualys Database'.format(generated_report_id))
|
||||
@ -804,17 +810,6 @@ class vulnWhispererOpenVAS(vulnWhispererBase):
|
||||
self.record_insert(record_meta)
|
||||
self.logger.info('File {filename} already exists! Updating database'.format(filename=relative_path_name))
|
||||
|
||||
record_meta = (
|
||||
scan_name,
|
||||
scan_reference,
|
||||
launched_date,
|
||||
report_name,
|
||||
time.time(),
|
||||
file_length,
|
||||
self.CONFIG_SECTION,
|
||||
report_id,
|
||||
1,
|
||||
)
|
||||
|
||||
else:
|
||||
vuln_ready = self.openvas_api.process_report(report_id=report_id)
|
||||
@ -833,7 +828,24 @@ class vulnWhispererOpenVAS(vulnWhispererBase):
|
||||
vuln_ready['scan_source'] = self.CONFIG_SECTION
|
||||
|
||||
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
||||
self.logger.info('Report written to {}'.format(report_name))
|
||||
self.logger.info('{records} records written to {path} '.format(records=vuln_ready.shape[0],
|
||||
path=relative_path_name))
|
||||
|
||||
record_meta = (
|
||||
scan_name,
|
||||
scan_reference,
|
||||
launched_date,
|
||||
report_name,
|
||||
time.time(),
|
||||
vuln_ready.shape[0],
|
||||
self.CONFIG_SECTION,
|
||||
report_id,
|
||||
1,
|
||||
0,
|
||||
)
|
||||
self.record_insert(record_meta)
|
||||
self.logger.info('Scan {} ({}) written to database'.format(scan_name.encode('utf8'), report_id))
|
||||
|
||||
|
||||
return report
|
||||
|
||||
@ -938,6 +950,12 @@ class vulnWhispererQualysVuln(vulnWhispererBase):
|
||||
self.exit_code += 1
|
||||
return self.exit_code
|
||||
|
||||
if output_format == 'json':
|
||||
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
||||
|
||||
self.logger.info('{records} records written to {path} '.format(records=vuln_ready.shape[0],
|
||||
path=relative_path_name))
|
||||
|
||||
record_meta = (
|
||||
scan_name,
|
||||
scan_reference,
|
||||
@ -951,11 +969,8 @@ class vulnWhispererQualysVuln(vulnWhispererBase):
|
||||
0,
|
||||
)
|
||||
self.record_insert(record_meta)
|
||||
self.logger.info('Scan {} ({}) written to database'.format(scan_name.encode('utf8'), report_id))
|
||||
|
||||
if output_format == 'json':
|
||||
vuln_ready.to_json(relative_path_name, orient='records', lines=True)
|
||||
|
||||
self.logger.info('Report written to {}'.format(report_name))
|
||||
return self.exit_code
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user