diff --git a/vulnwhisp/frameworks/qualys_vm.py b/vulnwhisp/frameworks/qualys_vm.py index b510958..e22cc39 100644 --- a/vulnwhisp/frameworks/qualys_vm.py +++ b/vulnwhisp/frameworks/qualys_vm.py @@ -29,6 +29,8 @@ class qualysWhisperAPI(object): def scan_xml_parser(self, xml): all_records = [] root = ET.XML(xml.encode('utf-8')) + if not root.find('.//SCAN_LIST'): + return pd.DataFrame(columns=['id', 'status']) for child in root.find('.//SCAN_LIST'): all_records.append({ 'name': child.find('TITLE').text, diff --git a/vulnwhisp/frameworks/qualys_was.py b/vulnwhisp/frameworks/qualys_was.py index 11ccc03..c0f000a 100644 --- a/vulnwhisp/frameworks/qualys_was.py +++ b/vulnwhisp/frameworks/qualys_was.py @@ -120,6 +120,8 @@ class qualysWhisperAPI(object): _records.append(scan_info) self.logger.debug('Converting XML to DataFrame') dataframes = [self.xml_parser(xml) for xml in _records] + if not dataframes: + return pd.DataFrame(columns=['id']) except Exception as e: self.logger.error("Couldn't process all scans: {}".format(e))