From a49e4f96199a20de082bd09a14834ddf5f8c2386 Mon Sep 17 00:00:00 2001 From: epi052 Date: Fri, 18 Oct 2019 14:07:55 -0500 Subject: [PATCH] added FullScan wrapper to loop in dangling execution paths --- recon/wrappers.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 recon/wrappers.py diff --git a/recon/wrappers.py b/recon/wrappers.py new file mode 100644 index 0000000..719d1e0 --- /dev/null +++ b/recon/wrappers.py @@ -0,0 +1,28 @@ +import luigi +from luigi.util import inherits + +from recon.nmap import Searchsploit +from recon.web.aquatone import AquatoneScan + + +@inherits(Searchsploit, AquatoneScan) +class FullScan(luigi.WrapperTask): + """ Wraps multiple scan types in order to run tasks on the same hierarchical level at the same time. """ + + def requires(self): + """ FullScan is a wrapper, as such it requires any Tasks that it wraps. """ + args = { + "rate": self.rate, + "target_file": self.target_file, + "top_ports": self.top_ports, + "interface": self.interface, + "ports": self.ports, + "exempt_list": self.exempt_list, + "threads": self.threads, + "scan_timeout": self.scan_timeout, + } + yield AquatoneScan(**args) + + del args["scan_timeout"] + + yield Searchsploit(**args)