def process_callback(callback): # Parse the process list parsed_process_list = parse_process_list(callback) # Extract features collected_features = gather_features(parsed_process_list) # Make a prediction decision_tree_prediction, neural_network_prediction = make_prediction( collected_features) # Make the drop decision set neural_network_prediction confidence based on risk tolerance if decision_tree_prediction < 1 or neural_network_prediction < 0.60: logging.success( f'Dropping payload.\n [-] Decision Tree:{decision_tree_prediction}\n [-] Neural Network:{neural_network_prediction}' ) keycode = str(uuid.uuid4()) keycodes['keycode'].append(keycode) url = f'http://{config.domain}/deliver/{keycode}' return url else: logging.warn( f'Not dropping payload.\n [-]Decision Tree:{decision_tree_prediction}\n [-] Neural Network:{neural_network_prediction}' ) return 'Safety first'
def process_callback(callback): # Parse the process list parsed_process_list = parse_process_list(callback) # Extract features collected_features = gather_features(parsed_process_list) # Make a prediction decision_tree_prediction, neural_network_prediction = make_prediction( collected_features) # Make the drop decision if decision_tree_prediction < 1 or neural_network_prediction < 0.50: logging.success( f'Dropping payload.\nDecision Tree: {decision_tree_prediction}\n Neural Network: {neural_network_prediction}\n' ) return 'Payload' else: logging.warn( f'Not dropping payload.\nDecision Tree: {decision_tree_prediction}\n Neural Network: {neural_network_prediction}\n' ) return 'Safety first'
def main(args): logging.print(''' ____ ____ | \ ___ ___ ___| \ ___ ___ ___ | | | -_| -_| . | | | _| . | . | |____/|___|___| _|____/|_| |___| _| |_| |_| ''') app = Flask(__name__) try: # Load the models models.load_models() logging.warn('All models loaded') # Patch our payloads - will be moved. deepdrop.patch_payloads(config.payload_files, config.domain) logging.warn(f'Payloads patched for {config.domain}') if args.debug: captains_key = str(uuid.uuid4()) app.config['CAPTAINS_KEY'] = captains_key app.debug = True logging.debug(captains_key) # Setup our routes routing.setup_routes(app) except Exception as e: logging.error(str(e)) app.run('0.0.0.0', 80, threaded=False, use_reloader=False) # No threading because https://github.com/keras-team/keras/issues/2397