From a65415588ffd96487dc551ea350f217c0fa1922a Mon Sep 17 00:00:00 2001 From: Shreya Malviya Date: Tue, 30 Aug 2022 18:03:45 +0530 Subject: [PATCH] BB: Simplify logic in BB tests' configurations --- .../blackbox/test_configurations/utils.py | 64 +++++++++---------- 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/envs/monkey_zoo/blackbox/test_configurations/utils.py b/envs/monkey_zoo/blackbox/test_configurations/utils.py index af7a2368b..29ee47c6b 100644 --- a/envs/monkey_zoo/blackbox/test_configurations/utils.py +++ b/envs/monkey_zoo/blackbox/test_configurations/utils.py @@ -20,78 +20,74 @@ def add_exploiters( brute_force: Sequence[PluginConfiguration] = [], vulnerability: Sequence[PluginConfiguration] = [], ) -> AgentConfiguration: - exploitation_configuration = replace( - agent_configuration.propagation.exploitation, - brute_force=brute_force, - vulnerability=vulnerability, - ) - return replace_exploitation_configuration(agent_configuration, exploitation_configuration) + + agent_configuration.propagation.exploitation.brute_force = brute_force + agent_configuration.propagation.exploitation.vulnerability = vulnerability + + return agent_configuration def add_fingerprinters( agent_configuration: AgentConfiguration, fingerprinters: Sequence[PluginConfiguration] ) -> AgentConfiguration: - network_scan_configuration = replace( - agent_configuration.propagation.network_scan, fingerprinters=fingerprinters - ) - return replace_network_scan_configuration(agent_configuration, network_scan_configuration) + agent_configuration.propagation.network_scan.fingerprinters = fingerprinters + + return agent_configuration def add_tcp_ports( agent_configuration: AgentConfiguration, tcp_ports: Sequence[int] ) -> AgentConfiguration: - tcp_scan_configuration = replace( - agent_configuration.propagation.network_scan.tcp, ports=tuple(tcp_ports) - ) - network_scan_configuration = replace( - agent_configuration.propagation.network_scan, tcp=tcp_scan_configuration - ) - return replace_network_scan_configuration(agent_configuration, network_scan_configuration) + agent_configuration.propagation.network_scan.tcp.ports = tuple(tcp_ports) + + return agent_configuration def add_subnets( agent_configuration: AgentConfiguration, subnets: Sequence[str] ) -> AgentConfiguration: - scan_target_configuration = replace( - agent_configuration.propagation.network_scan.targets, subnets=subnets - ) - return replace_scan_target_configuration(agent_configuration, scan_target_configuration) + + agent_configuration.propagation.network_scan.targets.subnets = subnets + + return agent_configuration def add_credential_collectors( agent_configuration: AgentConfiguration, credential_collectors: Sequence[PluginConfiguration] ) -> AgentConfiguration: - return replace(agent_configuration, credential_collectors=tuple(credential_collectors)) + + agent_configuration.credential_collectors = tuple(credential_collectors) + + return agent_configuration def add_http_ports( agent_configuration: AgentConfiguration, http_ports: Sequence[int] ) -> AgentConfiguration: - exploitation_options_configuration = agent_configuration.propagation.exploitation.options - exploitation_options_configuration = replace( - exploitation_options_configuration, http_ports=http_ports - ) - return replace_exploitation_options_configuration( - agent_configuration, exploitation_options_configuration - ) + agent_configuration.propagation.exploitation.options.http_ports = http_ports + + return agent_configuration def set_keep_tunnel_open_time( agent_configuration: AgentConfiguration, keep_tunnel_open_time: int ) -> AgentConfiguration: - return replace(agent_configuration, keep_tunnel_open_time=keep_tunnel_open_time) + + agent_configuration.keep_tunnel_open_time = keep_tunnel_open_time + + return agent_configuration def set_maximum_depth( agent_configuration: AgentConfiguration, maximum_depth: int ) -> AgentConfiguration: - propagation_configuration = replace( - agent_configuration.propagation, maximum_depth=maximum_depth - ) - return replace_propagation_configuration(agent_configuration, propagation_configuration) + + agent_configuration.propagation.maximum_depth = maximum_depth + + return agent_configuration def replace_exploitation_configuration(