def create_wrapper_for_global_target(): if type(global_state.target) == CClassifierEmber: return CEmberWrapperPhi(global_state.target) if type(global_state.target) == CClassifierEnd2EndMalware: return CEnd2EndWrapperPhi(global_state.target) if type(global_state.target) == CClassifierSorel: return CEmberWrapperPhi(global_state.target) if hasattr(global_state.target, 'load_wrapper'): try: return global_state.target.load_wrapper() except Exception as e: crash_prompt("Error in loading wrapper of plugin model!") crash_prompt(f"Exception was {e}") raise e error_prompt('Incorrect target') raise NotImplementedError('Incorrect target')
def test_blackbox_format_exploit_ember(self): black_box_attack = CBlackBoxFormatExploitEvasionProblem( CEmberWrapperPhi(self.ember_classifier), preferable_extension_amount=0x200, pe_header_extension=0, iterations=5, population_size=10) engine = CGeneticAlgorithm(black_box_attack) y_pred, _, _, _ = engine.run(self.X, self.Y) self.assert_evasion_result(y_pred)
def test_blackbox_gamma_ember(self): section_population, _ = CGammaEvasionProblem.create_section_population_from_folder( self.goodware_folder, 100) gamma = CGammaEvasionProblem(section_population, CEmberWrapperPhi(self.ember_classifier), population_size=10, penalty_regularizer=1e-6, iterations=5) engine = CGeneticAlgorithm(gamma) y_pred, _, _, _ = engine.run(self.X, self.Y) self.assert_evasion_result(y_pred)
def test_gbdt_wrapper_batch_prediction(self): wrapper = CEmberWrapperPhi(self.ember_classifier) self._batch_prediction_of_wrapper(wrapper)