mirror of
https://github.com/ghndrx/prowler.git
synced 2026-02-10 14:55:00 +00:00
feat(checks): Select checks to run from provider using -C/--checks-file (#1200)
This commit is contained in:
17
prowler.py
17
prowler.py
@@ -4,7 +4,7 @@
|
||||
import argparse
|
||||
|
||||
from lib.banner import print_banner, print_version
|
||||
from lib.check import import_check, load_checks_to_execute, run_check
|
||||
from lib.check.check import import_check, load_checks_to_execute, run_check
|
||||
from lib.logger import logger, logging_levels
|
||||
from providers.aws.aws_provider import Input_Data, provider_set_session
|
||||
|
||||
@@ -12,7 +12,13 @@ if __name__ == "__main__":
|
||||
# CLI Arguments
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("provider", choices=["aws"], help="Specify Provider")
|
||||
parser.add_argument("-c", "--checks", nargs="+", help="List of checks")
|
||||
|
||||
# Arguments to set checks to run
|
||||
# -c can't be used with -C
|
||||
group = parser.add_mutually_exclusive_group()
|
||||
group.add_argument("-c", "--checks", nargs="+", help="List of checks")
|
||||
group.add_argument("-C", "--checks-file", nargs="?", help="List of checks")
|
||||
|
||||
parser.add_argument(
|
||||
"-b", "--no-banner", action="store_false", help="Hide Prowler Banner"
|
||||
)
|
||||
@@ -66,7 +72,8 @@ if __name__ == "__main__":
|
||||
|
||||
provider = args.provider
|
||||
checks = args.checks
|
||||
|
||||
checks_file = args.checks_file
|
||||
|
||||
# Role assumption input options tests
|
||||
if args.role or args.account:
|
||||
if not args.account:
|
||||
@@ -94,7 +101,7 @@ if __name__ == "__main__":
|
||||
session_duration=args.session_duration,
|
||||
external_id=args.external_id,
|
||||
)
|
||||
|
||||
|
||||
# Set Logger
|
||||
logger.setLevel(logging_levels.get(args.log_level))
|
||||
|
||||
@@ -110,7 +117,7 @@ if __name__ == "__main__":
|
||||
|
||||
# Load checks to execute
|
||||
logger.debug("Loading checks")
|
||||
checks_to_execute = load_checks_to_execute(checks, provider)
|
||||
checks_to_execute = load_checks_to_execute(checks_file, checks, provider)
|
||||
|
||||
# Execute checks
|
||||
for check_name in checks_to_execute:
|
||||
|
||||
Reference in New Issue
Block a user