diff --git a/kube-hunter.py b/kube-hunter.py index 967ce1b..113a779 100755 --- a/kube-hunter.py +++ b/kube-hunter.py @@ -35,7 +35,7 @@ if config.log.lower() != "none": from src.modules.report.plain import PlainReporter from src.modules.report.yaml import YAMLReporter -from src.modules.report.json_reporter import JSONReporter +from src.modules.report.json import JSONReporter if config.report.lower() == "yaml": config.reporter = YAMLReporter() diff --git a/src/modules/report/base.py b/src/modules/report/base.py index 318a40f..b8986a0 100644 --- a/src/modules/report/base.py +++ b/src/modules/report/base.py @@ -22,7 +22,7 @@ class BaseReporter(object): services_lock.release() return services_data - def get_vulenrabilities(self): + def get_vulnerabilities(self): vulnerabilities_lock.acquire() vulnerabilities_data = [{"location": "{}:{}".format(vuln.host, vuln.port) if vuln.host else "", "category": vuln.category.name, diff --git a/src/modules/report/json.py b/src/modules/report/json.py new file mode 100644 index 0000000..ab2ac74 --- /dev/null +++ b/src/modules/report/json.py @@ -0,0 +1,13 @@ +import StringIO +import json +from base import BaseReporter + +class JSONReporter(BaseReporter): + def get_report(self): + report = { + "nodes": self.get_nodes(), + "services": self.get_services(), + "vulnerabilities": self.get_vulnerabilities(), + "vulnerability_count": self.get_count() + } + return json.dumps(report) diff --git a/src/modules/report/yaml.py b/src/modules/report/yaml.py index 76260f9..2060fed 100644 --- a/src/modules/report/yaml.py +++ b/src/modules/report/yaml.py @@ -9,7 +9,7 @@ class YAMLReporter(BaseReporter): report = { "nodes": self.get_nodes(), "services": self.get_services(), - "vulnerabilities": self.get_vulenrabilities() + "vulnerabilities": self.get_vulnerabilities() } output = StringIO.StringIO() yaml.dump(report, output)