diff --git a/analyzers/CyberChef/cyberchef.py b/analyzers/CyberChef/cyberchef.py index 16a1ce867..b3392e9c2 100755 --- a/analyzers/CyberChef/cyberchef.py +++ b/analyzers/CyberChef/cyberchef.py @@ -40,8 +40,11 @@ def run(self): data = { "input": observable, "recipe":[{"op":"Regular expression","args":["User defined","([0-9]{2,3}(,\\s|))+",True,True,False,False,False,False,"List matches"]},{"op":"From Charcode","args":["Comma",10]},{"op":"Regular expression","args":["User defined","([0-9]{2,3}(,\\s|))+",True,True,False,False,False,False,"List matches"]},{"op":"From Charcode","args":["Space",10]}]} headers = { 'Content-Type': 'application/json' } r = requests.post(url.strip('/') + '/bake', headers=headers, data=json.dumps(data)) - output_data = "".join([chr(x) for x in r.json().get('value', [])]) - self.report({ 'input_data': observable, 'output_data': output_data }) + if r.status_code == 200: + output_data = "".join([chr(x) for x in r.json().get('value', [])]) + self.report({ 'input_data': observable, 'output_data': output_data }) + else: + self.error('Server responded with %d: %s' % (r.status_code, r.text)) except: self.error("Could not convert provided data.")