def check_dependencies_or_exit(): """ Dependency resolver based on a previously specified CONST_REQUIREMENTS_FILE. Currently checks a list of dependencies from a file and exits if they are not met. """ installed_deps, missing_deps, conflict_deps = dependencies.check_dependencies( requirements_file=FARADAY_REQUIREMENTS_FILE) logger.info("Checking dependencies...") if conflict_deps: logger.info( "Some dependencies are old. Update them with \"pip install -r requirements_server.txt -U\"" ) if missing_deps: install_deps = query_yes_no("Do you want to install them?", default="no") if install_deps: dependencies.install_packages(missing_deps) logger.info( "Dependencies installed. Please launch Faraday Server again.") sys.exit(0) else: logger.error( "Dependencies not met. Please refer to the documentation in order to install them. [%s]", ", ".join(missing_deps)) sys.exit(1) logger.info("Dependencies met")
def main(workspace='', args=None, parser=None): parser.add_argument('-y', '--yes', action="store_true") parsed_args = parser.parse_args(args) if not parsed_args.yes: if not query_yes_no( "Are you sure you want to delete all closed services in the " "workspace %s" % workspace, default='no'): return 1, None for service in models.get_services(workspace): if service.status != 'open' and service.status != 'opened': print('Deleted service: ' + service.name) models.delete_service(workspace, service.id) return 0, None
def main(workspace='', args=None, parser=None): parser.add_argument('-y', '--yes', action="store_true") parsed_args = parser.parse_args(args) try: vulns = models.get_all_vulns(workspace) except ResourceDoesNotExist: print("Invalid workspace name: ", workspace) return 1, None if not parsed_args.yes: if not query_yes_no( "Are you sure you want to change the status to closed of all the vulns in workspace %s" % workspace, default='no'): return 1, None count = 0 for vuln in vulns: old_status = vuln.status # Valid status if vuln.status != "closed": vuln.status = "closed" count += 1 if vuln.class_signature == "Vulnerability": models.update_vuln(workspace, vuln) elif vuln.class_signature == "VulnerabilityWeb": models.update_vuln_web(workspace, vuln) print(vuln.name, ": Status changed from", old_status, "to closed successfully") print("End of process:", count, "vulnerabilities changed to closed") return 0, None