def run_main_program(): Printer.verbose = Parser.verbose Printer.debug = Parser.debug Printer.log_filename = Parser.log_filename Printer.log_level = Parser.log_level Printer.log_max_bytes_per_file = Parser.log_max_bytes_per_file Printer.log_max_number_log_files = Parser.log_max_number_log_files Printer.log_format = Parser.log_format Printer.enable_logging() if Parser.show_examples: Printer.print_example_usage() exit(0) lSonar = Sonar(p_parser=Parser) if Parser.test_connectivity: lSonar.test_connectivity() if Parser.check_quota: lSonar.check_quota() if Parser.list_studies: lSonar.list_studies() if Parser.list_unparsed_files: lSonar.list_unparsed_files() if Parser.update_studies: lSonar.update_studies() if Parser.export_data: lSonar.export_dataset()
def run_main_program(): LINES_BEFORE = 1 LINES_AFTER = 1 l_api: API = None Printer.verbose = Parser.verbose Printer.debug = Parser.debug Printer.log_filename = Parser.log_filename Printer.log_level = Parser.log_level Printer.log_max_bytes_per_file = Parser.log_max_bytes_per_file Printer.log_max_number_log_files = Parser.log_max_number_log_files Printer.log_format = Parser.log_format Printer.enable_logging() if Parser.show_usage: lArgParser.print_usage() exit(0) if Parser.show_examples: ExampleUsage.print_example_usage() exit(0) if Parser.version: print_version() exit(0) if Parser.test_connectivity or Parser.get_account or Parser.get_license or Parser.get_agents or Parser.get_agent_groups or \ Parser.get_team_members or Parser.get_website_groups or Parser.get_discovered_services or \ Parser.download_discovered_services or Parser.get_website_groups or Parser.upload_website_groups or \ Parser.get_websites or Parser.upload_websites or Parser.get_vulnerability_templates or \ Parser.get_vulnerability_template or Parser.get_vulnerability_types or Parser.ping_sites or \ Parser.ping_sites_in_file or Parser.report_agents_missing_heartbeat or Parser.report_disabled_agents or \ Parser.report_issues or Parser.get_scans or Parser.get_scheduled_scans or Parser.get_scans_by_website or \ Parser.get_website_by_url or Parser.get_website_by_name or Parser.get_website_by_id or \ Parser.get_websites_by_group_name or Parser.get_websites_by_group_id or Parser.get_technologies or \ Parser.get_obsolete_technologies or Parser.get_scan_profiles or Parser.get_scan_profile or \ Parser.get_account_managers or Parser.get_api_accounts or Parser.get_scan_accounts or \ Parser.get_disabled_accounts or Parser.get_account_owners or Parser.get_team_member or \ Parser.get_scan_results or Parser.upload_team_members or Parser.create_team_member or \ Parser.get_roles or Parser.get_permissions or Parser.get_role or Parser.delete_team_member or \ Parser.get_unused_accounts or Parser.get_teams or Parser.get_issues or Parser.download_issues or \ Parser.report_bsc or Parser.get_unpatched_issues: l_api = API(p_parser=Parser) else: lArgParser.print_usage() Printer.print("Required arguments not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) if Parser.test_connectivity: l_api.test_connectivity() exit(0) if Parser.get_account: l_api.get_account() exit(0) if Parser.get_license: l_api.get_license() exit(0) if Parser.get_agents: l_api.get_agents() exit(0) if Parser.get_agent_groups: l_api.get_agent_groups() exit(0) if Parser.get_issues: l_api.get_issues() exit(0) if Parser.get_unpatched_issues: l_api.get_unpatched_issues() exit(0) if Parser.download_issues: if not Parser.output_filename: lArgParser.print_usage() Printer.print("Required argument --output-file not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.download_issues() exit(0) if Parser.get_roles: l_api.get_roles() exit(0) if Parser.get_permissions: l_api.get_permissions() exit(0) if Parser.get_role: if not Parser.role_id: lArgParser.print_usage() Printer.print("-rid, --role-id is required but not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_role() exit(0) if Parser.get_teams: l_api.get_teams() exit(0) if Parser.get_team_member: if not Parser.team_member_id and not Parser.team_member_email: lArgParser.print_usage() Printer.print( "Either -tmid, --team-member-id or -tme, --team-member-email required but not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_team_member() exit(0) if Parser.get_team_members: l_api.get_team_members() exit(0) if Parser.create_team_member: if not (Parser.team_member_name and Parser.team_member_email and Parser.team_member_sso_email and Parser.team_member_groups): lArgParser.print_usage() Printer.print( "Requires -tmn, --team-member-name, -tme, --team-member-email, -tmsso, --team-member-sso-email, and -tmg, --team-member-groups", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.create_team_member() exit(0) if Parser.delete_team_member: if not (Parser.team_member_id): lArgParser.print_usage() Printer.print("Requires -tmid, --team-member-id", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.delete_team_member() exit(0) if Parser.upload_team_members: if not Parser.input_filename: lArgParser.print_usage() Printer.print("Required argument --input-file not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.upload_team_members() exit(0) if Parser.get_account_managers: l_api.get_account_managers() exit(0) if Parser.get_account_owners: l_api.get_account_owners() exit(0) if Parser.get_api_accounts: l_api.get_api_accounts() exit(0) if Parser.get_scan_accounts: l_api.get_scan_accounts() exit(0) if Parser.get_disabled_accounts: l_api.get_disabled_accounts() exit(0) if Parser.get_unused_accounts: l_api.get_unused_accounts() exit(0) if Parser.get_technologies: l_api.get_technologies() exit(0) if Parser.get_obsolete_technologies: l_api.get_obsolete_technologies() exit(0) if Parser.get_website_groups: l_api.get_website_groups() exit(0) if Parser.upload_website_groups: if not Parser.input_filename: lArgParser.print_usage() Printer.print("Required argument --input-file not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.upload_website_groups() exit(0) if Parser.get_discovered_services: l_api.get_discovered_services() exit(0) if Parser.download_discovered_services: if not Parser.output_filename: lArgParser.print_usage() Printer.print("Required argument --output-file not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.download_discovered_services() exit(0) if Parser.get_website_by_url: if not Parser.website_url: lArgParser.print_usage() Printer.print( "Required argument -wurl, --website-url not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_website_by_url() exit(0) if Parser.get_website_by_name: if not Parser.website_name: lArgParser.print_usage() Printer.print("Required argument -wn, --website-name not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_website_by_name() exit(0) if Parser.get_website_by_id: if not Parser.website_id: lArgParser.print_usage() Printer.print("Required argument -wid, --website-id not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_website_by_id() exit(0) if Parser.get_websites: l_api.get_websites() exit(0) if Parser.get_websites_by_group_name: if not Parser.website_group_name: lArgParser.print_usage() Printer.print( "Required argument -wgn, --website-group-name not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_websites_by_group_name() exit(0) if Parser.get_websites_by_group_id: if not Parser.website_group_id: lArgParser.print_usage() Printer.print( "Required argument -wgid, --website-group-id not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_websites_by_group_id() exit(0) if Parser.upload_websites: if not Parser.input_filename: lArgParser.print_usage() Printer.print("Required argument --input-file not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.upload_websites() exit(0) if Parser.get_vulnerability_templates: l_api.get_vulnerability_templates() exit(0) if Parser.get_vulnerability_template: if not Parser.vulnerability_type: lArgParser.print_usage() Printer.print( "Required argument -vt, --vulnerability-type not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_vulnerability_template() exit(0) if Parser.get_vulnerability_types: l_api.get_vulnerability_types() exit(0) if Parser.ping_sites: l_api.ping_sites() exit(0) if Parser.ping_sites_in_file: if not Parser.input_filename: lArgParser.print_usage() Printer.print("Required argument --input-file not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.ping_sites_in_file() exit(0) if Parser.report_agents_missing_heartbeat: exit(l_api.report_agents_missing_heartbeat()) if Parser.report_disabled_agents: exit(l_api.report_disabled_agents()) if Parser.get_scans: l_api.get_scans() exit(0) if Parser.get_scheduled_scans: l_api.get_scheduled_scans() exit(0) if Parser.get_scans_by_website: if not Parser.website_url and not Parser.target_url: lArgParser.print_usage() Printer.print( "Either -wurl, --website-url or -turl, --target-url or both required", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_scans_by_website() exit(0) if Parser.get_scan_profile: if not Parser.scan_profile_id and not Parser.scan_profile_name: lArgParser.print_usage() Printer.print( "Either -spid, --scan-profile-id or -spn, --scan-profile-name required", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_scan_profile() exit(0) if Parser.get_scan_profiles: l_api.get_scan_profiles() exit(0) if Parser.get_scan_results: if not Parser.scan_id: lArgParser.print_usage() Printer.print("-sid, --scan-id required", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) exit(0) l_api.get_scan_results() exit(0) if Parser.report_issues: l_api.report_issues() exit(0) if Parser.report_bsc: l_api.report_bsc() exit(0)
def run_main_program(): LINES_BEFORE = 1 LINES_AFTER = 1 Printer.verbose = Parser.verbose Printer.debug = Parser.debug Printer.log_filename = Parser.log_filename Printer.log_level = Parser.log_level Printer.log_max_bytes_per_file = Parser.log_max_bytes_per_file Printer.log_max_number_log_files = Parser.log_max_number_log_files Printer.log_format = Parser.log_format Printer.enable_logging() if Parser.show_usage: lArgParser.print_usage() exit(0) if Parser.show_examples: print_example_usage() exit(0) if Parser.test_connectivity or Parser.authenticate or Parser.list_exposure_types or Parser.list_exposures or \ Parser.list_exposure_summaries or Parser.list_business_units or Parser.list_asset_entities or \ Parser.list_issue_types or Parser.get_issues_count or Parser.get_issues or Parser.get_issue: l_api = API(p_parser=Parser) else: lArgParser.print_usage() Printer.print("Required arguments not provided", Level.ERROR, Force.FORCE, LINES_BEFORE, LINES_AFTER) if Parser.test_connectivity: l_api.test_connectivity() exit(0) if Parser.authenticate: l_api.test_authentication() exit(0) if Parser.list_asset_entities: l_api.get_asset_entities() exit(0) if Parser.list_business_units: l_api.get_entities() exit(0) if Parser.list_exposure_types: l_api.list_exposure_types() exit(0) if Parser.list_exposure_summaries: l_api.summarize_exposed_ip_ports() exit(0) if Parser.list_exposures: l_api.get_exposures() exit(0) if Parser.list_issue_types: l_api.list_issue_types() exit(0) if Parser.get_issues_count: l_api.get_issues_count() exit(0) if Parser.get_issues: l_api.get_issues() exit(0) if Parser.get_issue: l_api.get_issue() exit(0)