Commit Graph

5934 Commits

Author SHA1 Message Date
Ilija Lazoroski 181ce399a1 Island: Remove GET method from Monkey endpoint
Also removes bunch of unused method from ConfigService
2022-06-27 09:53:56 -04:00
Ilija Lazoroski b564e71d89 Agent: Modify ControlChannel to use AgentConfiguration endpoint 2022-06-27 09:53:39 -04:00
Ilija Lazoroski 98a9fd3285 Island: Remove jwt_required from agent-configuration resource
Can't secure the endpoint because it is used by the agent
2022-06-27 09:51:42 -04:00
Mike Salvatore b49dfcf79d Island: Change error -> message in AgentConfiguration resource 2022-06-27 09:30:33 -04:00
Mike Salvatore 08bac8ef39 Island: Added "raises" to store_configuration() docstring 2022-06-27 09:24:32 -04:00
Mike Salvatore b5d7b800bb Agent: Add TODO about GUID 2022-06-27 09:15:26 -04:00
Mike Salvatore 2fbab063cd Common: Remove empty file 2022-06-27 09:12:37 -04:00
Mike Salvatore 851296d5fa UT: Remove disused automated_master_config 2022-06-27 09:09:07 -04:00
Mike Salvatore a0de4b8f31 Agent: Use derived current_depth in AutomatedMaster 2022-06-27 09:06:15 -04:00
vakarisz 4ef17ccc9b Agent: Replace ExploiterConfig with PluginConfig
ExploiterConfig was exact match of PluginConfig, so they got merged
2022-06-27 08:42:54 -04:00
Mike Salvatore e6d3854f74 Common: Remove DEFAULT_AGENT_CONFIGURATION_JSON
It's easier to maintain object than a JSON string for the default
configuration.
2022-06-27 08:23:54 -04:00
Mike Salvatore 90259c1b7a UT: Remove dependency on DEFAULT_AGENT_CONFIGURATION_JSON 2022-06-27 07:07:53 -04:00
Mike Salvatore bf1d360e50 UT: Remove disused DEFAULT_CONFIG 2022-06-27 06:56:16 -04:00
vakarisz 232d6ba344 Agent: Fix string formatting in http_tools.py
Move line 60 to f formatting from the old %s style
2022-06-27 11:20:27 +03:00
vakarisz c080f03011 Agent: Fix _filter_none_values to be a static method 2022-06-27 10:02:45 +03:00
vakarisz 7179f9128c Agent: Fix typehints in clear_command_history.py 2022-06-27 10:01:15 +03:00
vakarisz 4b7ab058c6 Agent: Fix typehints in _run_pbas of automated_master.py
Typehint was Mapping, when it was using and calling other methods with CustomPBAConfiguration
2022-06-27 09:36:56 +03:00
Mike Salvatore 3305325419 Island: Remove unnecessary aws_service import 2022-06-26 09:42:08 -04:00
Mike Salvatore e0047e485b Island: Reformat comments 2022-06-26 09:40:14 -04:00
Mike Salvatore fefd2daf2b Agent: Use Mapping instead of Dict 2022-06-24 19:21:48 -04:00
Mike Salvatore 503a0a833f Agent: Use Sequence instead of List for type hints 2022-06-24 19:19:51 -04:00
Mike Salvatore 4f7d8be6ba Agent: Use PluginConfiguration in _run_payload() 2022-06-24 15:35:41 -04:00
Mike Salvatore 8886ebc8b8 Agent: Remove unnecessary local variables 2022-06-24 15:33:47 -04:00
Mike Salvatore dc9b91d430 Agent: Use Iterable instead of List in type hint 2022-06-24 15:32:06 -04:00
Mike Salvatore 33ec4f7ae9 Agent: Log configuration when it's received from the Island 2022-06-24 15:16:43 -04:00
Mike Salvatore b219ca0917 UT: Fix line that was too long 2022-06-24 14:48:13 -04:00
Mike Salvatore 84fc78cbf8 UT: Remove unused imports from conftest.py 2022-06-24 14:47:15 -04:00
Mike Salvatore 568eb4ff3b Common: Add docstrings to static methods in AgentConfiguration 2022-06-24 13:30:43 -04:00
Mike Salvatore 8cb045d635 Common: Fix incorrect type hints on AgentConfiguration.from_json() 2022-06-24 13:25:09 -04:00
Mike Salvatore 334d2a790f Common: Rename from_dict() -> from_mapping() 2022-06-24 13:25:01 -04:00
Mike Salvatore e2f365a1f9 Common: Rename dict_ -> config_dict 2022-06-24 13:22:41 -04:00
Mike Salvatore dbd0d3e0dd Common: Encapsulate MarshmallowError 2022-06-24 13:21:39 -04:00
Mike Salvatore 94524d124c Common: Add InvalidConfigurationError 2022-06-24 13:05:16 -04:00
Mike Salvatore fc9d854c72 Common: Add validation to AgentConfiguration construction 2022-06-24 12:56:34 -04:00
Mike Salvatore ea02bec0b4 Common: Remove circular dependency in agent_configuration.py 2022-06-24 12:42:09 -04:00
Mike Salvatore 4c47eae70b Common: Encapsulate AgentConfigurationSchema 2022-06-24 12:39:47 -04:00
Mike Salvatore 07d1d9c45a Island: Use {from,to}_json() in resources 2022-06-24 12:33:12 -04:00
Mike Salvatore a1baaae76a Common: Use from_json() in build_default_agent_configuration() 2022-06-24 12:29:54 -04:00
Mike Salvatore 6a927266a4 Island: Use {from,to}_json() in FileAgentConfigurationRepository 2022-06-24 12:28:36 -04:00
Mike Salvatore e4eee6a5eb UT: Use from_dict() and from_json() in tests 2022-06-24 12:28:30 -04:00
Mike Salvatore 28250daffe Common: Add AgentConfiguration.to_json() 2022-06-24 12:19:31 -04:00
Mike Salvatore 1f9a056b0b Agent: Add AgentConfiguration.from_json() 2022-06-24 11:51:33 -04:00
Mike Salvatore 8605fd40ac UT: Add a test for AgentConfiguration.from_dict() 2022-06-24 11:50:49 -04:00
Mike Salvatore 5c739716a9 Common: Rename _dict -> dict_ 2022-06-24 11:44:00 -04:00
Mike Salvatore e3cea20cd5 UT: Move test_agent_configuration.py to configuration/ 2022-06-24 11:42:24 -04:00
Mike Salvatore 7bba711307 Agent: Revert scan/exploit thread numer change
The number of scan and exploit threads was changed accidentally in
6d156b8f.
2022-06-24 11:08:29 -04:00
Mike Salvatore 02cca3e12a Agent: Remove unnecessary type hints from IAgentRepository doctring 2022-06-24 07:42:01 -04:00
Mike Salvatore 7b4daaa40f Agent: Change IAgentRepository to ccept OperatingSystems
This was missed in d59dd81f and ffd3464d.
2022-06-24 07:40:24 -04:00
Mike Salvatore a3db4142bf Common: Add a docstring to OperatingSystems 2022-06-24 07:36:58 -04:00
Mike Salvatore 2eb1691030 Agent: Use operating_system.value in _download_binary_from_island() 2022-06-24 07:34:10 -04:00
Mike Salvatore 858eb2302c Agent: Rename os -> operating_system in caching_agent_repository
The variable name "os" conflicts with the name of Python's `os` library.
2022-06-24 07:23:26 -04:00
Mike Salvatore ffd3464d8a Agent: Move enum to string conversion to _download_binary_from_island() 2022-06-24 07:22:07 -04:00
Ilija Lazoroski e1d5d25e9c Agent: Use OperatingSystem.WINDOWS in Powershell 2022-06-24 11:18:39 +02:00
Ilija Lazoroski b605f16c4f Agent: Use == to compare OperatingSystems enum in Log4Shell 2022-06-24 11:11:19 +02:00
Ilija Lazoroski fb67586a4c Agent: Use OperatingSystems.value for urllib.parse.quote 2022-06-24 10:51:58 +02:00
Ilija Lazoroski d59dd81f43 Agent: Use OperatingSystems in CachingAgentRepository 2022-06-24 10:19:47 +02:00
Ilija Lazoroski f9445a2c76 Agent: Use == to compare OperatingSystems enum 2022-06-24 10:18:51 +02:00
Ilija Lazoroski 2ff2e5f597 Agent: Fix running of payloads 2022-06-24 08:33:21 +02:00
Mike Salvatore 6d156b8fee Island: Return config timeouts in seconds
The old config scheme stored timeouts as milliseconds, whereas the new
one uses seconds. Seconds are more convenient because most python
methods expecting timeouts are expecting floating-point seconds.
2022-06-23 16:55:10 -04:00
Mike Salvatore 05f640d487 Agent: Rename should_propagate -> maximum_depth_reached 2022-06-23 16:36:01 -04:00
Mike Salvatore ad0f6946bd Agent: Decouple should_propagate() and AgentConfiguration 2022-06-23 16:32:55 -04:00
Mike Salvatore afeca66d92 UT: Use AgentConfiguration in test_propagation.py 2022-06-23 16:27:05 -04:00
Mike Salvatore 5a95aef94c Agent: Remove unnecessary parameter 2022-06-23 15:57:11 -04:00
Mike Salvatore bff92ed7ad UT: Fix erroneously abbreviated fixture 2022-06-23 15:57:06 -04:00
Mike Salvatore 81d3300ec7 Agent: Remove print() that was added by mistake 2022-06-23 15:43:34 -04:00
Mike Salvatore 6e951ed65d UT: Remove supported_os from default_config.py
"supported_os" was removed from the schema in d079d74b
2022-06-23 14:56:24 -04:00
Mike Salvatore bba7139be6 Agent: Add missing return type hint to _try_communicate_with_island() 2022-06-23 14:51:35 -04:00
Mike Salvatore aff54232e9 Agent: Remove redundant call to control_channel.get_config() 2022-06-23 14:51:35 -04:00
vakaris_zilius 0f848eb284 Agent: Usa agent config object instead of dict should_propagate 2022-06-23 14:51:35 -04:00
vakaris_zilius ab67853192 Agent: Usa agent config object instead of dict automated_master.py 2022-06-23 14:51:35 -04:00
vakaris_zilius 86ed174d74 Agent: Usa agent config object instead of dict in option_parsing.py 2022-06-23 14:51:35 -04:00
vakarisz 9286e86900 Agent: Use deserialized in exploiter.py and propagator.py 2022-06-23 14:51:31 -04:00
vakarisz 095e49b543 Agent: Use deserialized config in automated_master.py 2022-06-23 14:47:08 -04:00
vakarisz ffe8c3451b Agent: Change scanners to use the config object 2022-06-23 14:47:08 -04:00
vakarisz 6b406ef686 Agent: Change configuration to object in control channel 2022-06-23 14:47:08 -04:00
vakarisz e83995d962 UT: Add a new fixture for config object 2022-06-23 14:47:08 -04:00
vakarisz d8ac441c59 Agent: Fix configuration retrieval in _run_simulation 2022-06-23 14:47:08 -04:00
vakarisz 77804caab5 Agent: Add from_dict method to AgentConfiguration
Creating AgentConfiguration object from dictionary makes sense because it doesn't couple the configuration to any specific serialization methods. Also, the json sent from the island doesn't match the config structure because it stores config in a dict under "config" key.
2022-06-23 14:47:08 -04:00
Mike Salvatore d079d74b2c Merge branch '2000-configuration-resource' into 1960-configuration-object
PR #2038
2022-06-23 11:46:13 -04:00
Ilija Lazoroski 1ae3bd4b4f UT: Rename InMemoryFileAgentConfigurationRepository to
InMemoryAgentConfigurationRepository
2022-06-23 17:15:50 +02:00
Ilija Lazoroski 42c4803376 Island: Use schema.loads in AgentConfiguration POST method 2022-06-23 08:12:54 -07:00
Ilija Lazoroski d7329ea839 UT: Add tests for AgentConfiguration resource 2022-06-23 08:12:54 -07:00
Ilija Lazoroski b35832b9dd UT: Add InMemoryFileAgentConfigurationRepository 2022-06-23 08:12:54 -07:00
Ilija Lazoroski 891794d927 Island: Add AgentConfiguration resource to app.py 2022-06-23 08:12:54 -07:00
Ilija Lazoroski 39e4180dfe Island: Use make_response in GET agent_configuration 2022-06-23 08:12:54 -07:00
Ilija Lazoroski 48fab89e11 Island: Rename configuration.py to agent_configuration.py
Per convention it must match class name
2022-06-23 08:12:54 -07:00
Shreya Malviya 452028f221 UT: Replace Hadoop with MSSQL in test data
Previously, in the UT data, Hadoop had only windows in the
"supported_os" field in the config. Now that that field is stripped out
from the config, the supported OSes are picked up from the main code
(from `SUPPORTED_OS` in the master's `Exploiter` class) which has both
winodws and linux for Hadoop. This caused the tests to fail.

This commit changes the UT data to include the MSSQL exploiter (windows
only) instead of the Hadoop exploiter. The tests pass now.
2022-06-23 08:10:56 -07:00
vakarisz 68c27969d3 Agent: Fix a bug in incompatible os check
web_rce.py checks for incompatible OS on the victim. Bug was that it checked linux twice instead of linux and windows
2022-06-23 16:30:38 +03:00
vakaris_zilius 717801e9ad Agent: Add telemetry json encoder
Telemetry json encoder is needed to encode OperatingSystems enums when sending back telemetries
2022-06-23 11:51:25 +00:00
vakarisz 77f8be523c UT: Use operating systems consts 2022-06-23 11:51:21 +00:00
vakarisz 4c1c8044cd Agent: Use operating systems consts 2022-06-23 11:51:17 +00:00
Shreya Malviya 1fc0eae480 UT: Change import order in conftest.py 2022-06-22 09:35:46 -07:00
Shreya Malviya 104c7ac210 Island: Fix function call to load config in new configuration resource 2022-06-22 09:10:47 -07:00
Shreya Malviya e25eb194a1 UT: Remove `supported_os` for exploiters from all tests 2022-06-22 09:10:47 -07:00
Shreya Malviya fd41d9179e Agent: Add `SUPPORTED_OS` dict for exploiters and change checking logic in master 2022-06-22 09:10:41 -07:00
Shreya Malviya 26ece213a2 Island: Remove logic to add `supported_os` for exploiters to configuration 2022-06-22 09:07:02 -07:00
Shreya Malviya 03037b5662 Common: Remove `supported_os` field for exploiters in configuration 2022-06-22 09:06:35 -07:00
Mike Salvatore 665f7e4adf Merge branch 'fix-depth-logic' into 1960-configuration-object 2022-06-22 11:20:01 -04:00
Shreya Malviya 142eed72ac Island: Remove logic to remove/add config metadata in new configuration resource 2022-06-22 08:12:09 -07:00
Mike Salvatore eeba0e0616 UT: Add tests for should_propagate 2022-06-22 10:59:46 -04:00
Shreya Malviya ec710d9e5f Island: Get rid of ResponseContents and ImportStatuses in new configuration resource 2022-06-22 07:48:34 -07:00
Mike Salvatore 1199c72f0d Island: Modify skipping propagation log message 2022-06-22 10:44:02 -04:00
vakarisz 8d2078048c Agent: Change the positive_int definition to contain 0 2022-06-22 17:39:25 +03:00
Shreya Malviya d861def86c Island: Add logic to add metadata to config in new configuration resource's GET 2022-06-22 07:35:19 -07:00
Shreya Malviya 922495785c Island: Create class variable for agent config schema in new configuration resource 2022-06-22 07:35:19 -07:00
Shreya Malviya 6b45d62d81 Island: Fix logic to remove metadata from config in new configuration resource's POST 2022-06-22 07:35:19 -07:00
Shreya Malviya 32fe7c6a4b Island: Remove unneeded fields from `ResponseContents` in new configuration resource 2022-06-22 07:35:19 -07:00
Shreya Malviya 63d5330386 Island: Remove unneeded patch function in new configuration resource 2022-06-22 07:35:19 -07:00
Shreya Malviya 00e38391b4 Island: Catch appropriate `marshmallow` error when loading config which could be invalid, in new configuration resource 2022-06-22 07:35:19 -07:00
Shreya Malviya 15615e08c4 Island: Get rid of unsafe config options' check in new configuration resource 2022-06-22 07:35:19 -07:00
Shreya Malviya 8c14423c4e Island: Prepend 'agent' to everything having 'configuration' in new configuration resource 2022-06-22 07:35:19 -07:00
Shreya Malviya 0d8cc713d2 Island: Rename `file_agent_configuration_repository` to `agent_configuration_repository` in new configuration resource 2022-06-22 07:35:19 -07:00
Shreya Malviya 74bc55e077 Island: Remove config type logic from new configuration resource 2022-06-22 07:35:19 -07:00
Ilija Lazoroski 5f253e79b3 Island: Init Configuration resource 2022-06-22 07:35:18 -07:00
Shreya Malviya 138480f021 Island: Roughly implement POST in new Configuration resource
+ lots of questions
2022-06-22 07:35:18 -07:00
Shreya Malviya 5dd27eeea5 Island: Add definition for GET in new Configuration resource 2022-06-22 07:35:18 -07:00
Shreya Malviya 7a28ba4c4d Island: Create new resource `Configuration` 2022-06-22 07:35:18 -07:00
Mike Salvatore 1f00a13649 Island: Pass default agent configuration to repository constructor 2022-06-22 10:27:53 -04:00
vakaris_zilius 8358253fc7 Agent: Rename depth to current_depth in propagation.py 2022-06-22 13:14:24 +00:00
vakaris_zilius f0029a0d82 Agent: Close inbound tunnel if one was opened 2022-06-22 13:13:32 +00:00
vakaris_zilius 27bff7e41c Island: Remove updating agent configuration with stolen credentials 2022-06-22 12:40:55 +00:00
vakarisz e15206101a Agent: Fix a bug in should_propagate 2022-06-22 14:42:19 +03:00
vakarisz 552e2100fa Agent: Set default depth cmd parameter to 0
If user runs the agent it should start with depth 0, because usually it means that it's running on the island
2022-06-22 14:33:47 +03:00
vakarisz 5a48bfcfcc Agent: Fix should_propagate import in automated_master.py 2022-06-22 14:15:24 +03:00
vakarisz 734fc80c92 Agent: Add logging message about maximum depth reached 2022-06-22 13:04:24 +03:00
vakarisz 582328bea8 Agent: Create and use should_propagate method
This method is used to determine if the inbound tunnel should be open and if the master should attempt exploiting other machines
2022-06-22 12:31:47 +03:00
vakarisz 3c2d58b5d3 Agent, Common: Add positive_int argument type 2022-06-22 11:52:36 +03:00
Mike Salvatore f9775f5b54 Island: Improve directory traversal error message 2022-06-21 15:18:51 -04:00
Mike Salvatore 40b192accc Island: Wrap directory traversal errors in repository errors
A given `IFileRepository` may have no concept of directories.
`LocalStorageFileRepository` should wrap the ValueErrors raised to
prevent directory traversal in repository errors.
2022-06-21 15:18:51 -04:00
Mike Salvatore 21be5fc2be Island: raise RemovalError in Local...FileRepository.delete_all_files() 2022-06-21 15:18:51 -04:00
Mike Salvatore da1339e410 Island: Raise RemovalError in LocalStorageFileRepository.delete_file() 2022-06-21 15:18:51 -04:00
Mike Salvatore cd1481e4fe Island: Add monkey_island.cc.repository.RemovalError 2022-06-21 15:18:51 -04:00
Mike Salvatore 63404c7bed Island: Raise StorageError in LocalStorageFileRepository.save_file() 2022-06-21 15:18:51 -04:00
Mike Salvatore 3446dbf0aa Island: Export StorageError from monkey_island.cc.repository 2022-06-21 15:18:51 -04:00
Mike Salvatore f60c2f1dde Island: Add ValueError to IFileRepository docstring 2022-06-21 15:18:51 -04:00
Mike Salvatore 5c97d6bdbf UT: Add tests for AgentBinaryRepository 2022-06-21 15:18:17 -04:00
Mike Salvatore 838a2e742c Island: Change can -> could in get_configuration() 2022-06-21 10:36:56 -04:00
Mike Salvatore 3bd977ed55 Island: Improve IFileRepository.open_file() docstring 2022-06-21 10:34:27 -04:00
Mike Salvatore c008db4cf2 Island: Raise RetrievalError in FileAgentConfigurationRepository 2022-06-21 09:40:00 -04:00
Mike Salvatore 4de9f3cb6d UT: Move OpenErrorFileRepository into tests/monkey_island 2022-06-21 09:35:23 -04:00
Mike Salvatore 47df257545 Island: Raise RetrievalError from IAgentBinaryRepository 2022-06-21 09:22:38 -04:00
Mike Salvatore 22b22c5f0a Island: Remove testing TODOs from PBAFile{Download,Upload} 2022-06-21 09:11:54 -04:00
Mike Salvatore 63a2527f3f UT: Add test_file_download_endpoint_500() for PBAFileUpload 2022-06-21 09:11:10 -04:00
Mike Salvatore 8939ca2106 UT: Extract open_error_flask_client into conftest.py 2022-06-21 09:11:10 -04:00
Mike Salvatore f973c9d6e9 UT: Extract MockFileRepository into its own module 2022-06-21 09:11:10 -04:00
Mike Salvatore bf2f58aace UT: Add __init__.py 2022-06-21 09:11:10 -04:00
Mike Salvatore bcc5265a99 UT: Add test_file_download_endpoint_500() for PBAFileDownload 2022-06-21 09:11:03 -04:00
Ilija Lazoroski 44795531b8 Island: Remove logging TODOs for pba_file upload/download
Resources should log the errors
2022-06-21 15:04:34 +02:00
Mike Salvatore cd34cd5eae Island: Add repository.FileNotFoundError 2022-06-21 08:49:36 -04:00
Mike Salvatore c424262f12 Island: Improve description of return value for get_configuration() 2022-06-21 08:22:47 -04:00
Ilija Lazoroski 3cb678ad32 Island: Raise distinct errors when openning a file
IFileRepository now distincts between file not found and a file that
could not be retrieved
2022-06-20 14:55:26 +02:00
vakarisz df77ca4f96 Agent: Change the logic of depth to represent current depth
Based on the previous logic the depth parameter represented hops remaining, not current depth.
2022-06-20 15:52:50 +03:00
vakarisz 3757e33180 UT: Use OperatingSystems enum instead of strings 2022-06-20 12:30:25 +03:00
vakarisz 0474e2a5f7 Island: Change json encoding to encode Enums to name string
Enum objects couldn't get encoded, so for each enum we had to decide whether the name or the value would be used to represent that enum value. Changing the encoding to name allows us to use enum object on the island without having to worry about encoding.
2022-06-20 12:27:01 +03:00
vakarisz c0f0d35f0b Island: Use OperatingSystems enum in config.py 2022-06-20 12:18:03 +03:00
Shreya Malviya 02dcee8bfc UT: Modify tests to pass with config flattening changes 2022-06-19 23:35:35 -07:00
Shreya Malviya ab23b3c9cb Island: Fix exploiters' `supported_os`'s capitalisation in config flattening 2022-06-19 23:13:14 -07:00
Shreya Malviya ba3af5a9c2 Island: Fix 'exploitation' field of config flattening 2022-06-19 23:13:14 -07:00
Shreya Malviya f9a7989f5e Island: Fix 'propagation' field of config flattening 2022-06-19 23:13:09 -07:00
Shreya Malviya 83dd4334b2 UT: Fix flat_config.json to match current config schema 2022-06-19 21:54:54 -07:00
vakarisz d393a0b3c6 Agent: Change credential collectors, payloads and pbas in flat config
Flat config changes are made in order for config object to be serializable
2022-06-19 20:22:42 -07:00
Mike Salvatore b99ad70774 Island: Add StorageError 2022-06-17 19:56:09 -04:00
Mike Salvatore cb7dae28bf Island: Add a docstring for RetrievalError 2022-06-17 19:55:47 -04:00
Mike Salvatore 58733f7572
Merge pull request #2031 from guardicore/1960-configuration-repository
1960 configuration repository
2022-06-17 19:44:09 -04:00
Mike Salvatore 58ea11ae9f Common: Move DEFAULT_AGENT_CONFIGURATION to its own file 2022-06-17 19:16:19 -04:00
Mike Salvatore e4a2a04765 UT: Remove duplicate SingleFileRepository
This was added by mistake. Remove it!
2022-06-17 19:14:38 -04:00
Mike Salvatore d3a03d2653 Agent: Remove disused constants 2022-06-17 13:11:47 -04:00
Mike Salvatore e730695407 Agent: Remove disused Configuration class 2022-06-17 13:11:30 -04:00
Mike Salvatore 764bc1559b Island: Add IAgentConfigurationRepository to the DIContainer 2022-06-17 13:08:22 -04:00
Mike Salvatore 45168b5ba7 Island: Return default configuration from get_configuration() 2022-06-17 12:56:55 -04:00
Mike Salvatore a3e3e3e324 Common: Add DEFAULT_AGENT_CONFIGURATION 2022-06-17 12:48:54 -04:00
Mike Salvatore 9a216e9c3d Island: Add "raises" to docstring in get_configuration() 2022-06-17 12:17:22 -04:00
Mike Salvatore 922cb8cea9 Island: Add RetrievalError 2022-06-17 12:17:21 -04:00
Mike Salvatore 30065952a5 Island: Add RetrievalError 2022-06-17 12:13:18 -04:00
Mike Salvatore 73ead3bb26 Island: Rename set_configuration() -> store_configuration() 2022-06-17 12:10:43 -04:00
Mike Salvatore bdce5f84a6 Island: Add FileAgentConfigurationRepository 2022-06-17 12:09:30 -04:00
Mike Salvatore 5ebdb60ea4 Island: Add @abstractmethod in IAgentConfigurationRepository 2022-06-17 11:41:29 -04:00
Mike Salvatore a75041e93f Island: Rename IConfigurationRepository IAgentConfigurationRepository 2022-06-17 11:36:50 -04:00
Mike Salvatore 7cb7f7ab5a UT: Extract agent configuration from test_agent_configuration.py 2022-06-17 11:33:01 -04:00
Mike Salvatore ace3eb8718 UT: Extract SingleFileRepository from test_pba_file_upload.py 2022-06-17 11:19:11 -04:00
Mike Salvatore 91476a7a06 Island: Protract config -> configuration in IConfigurationRepository 2022-06-17 11:11:14 -04:00
Mike Salvatore 59e29456c0 Island: Rename i_config_repository.py -> i_configuration_repository.py 2022-06-17 11:10:16 -04:00
Mike Salvatore ae0c440603 Island: Add documentation for IConfigRepository 2022-06-17 11:08:45 -04:00
Mike Salvatore 62056175a1 Island: Remove unneeded methods in IConfigRepository
Also remove stale comments. No encryption is needed here because
configuration does not contain anything sensitive.
2022-06-17 11:06:23 -04:00
Mike Salvatore 84db00b728 Island: Use AgentConfiguration in IConfigRepository 2022-06-17 11:05:10 -04:00
Mike Salvatore f25a81635c
Merge pull request #2030 from guardicore/1960-configuration-schema
1960 configuration schema
2022-06-17 10:31:56 -04:00
Mike Salvatore ed39d155bf Common: Remove sub-configuration and sub-schemas from configuration 2022-06-17 10:23:43 -04:00
Mike Salvatore 291b82c28d Common: Separate agent sub configurations and schemas 2022-06-17 10:20:49 -04:00
vakarisz f8855d290d Agent: Remove WormConfiguration and cleanup related infrastructure 2022-06-17 16:40:40 +03:00
Mike Salvatore e0ae109368 Common: Add AgentConfiguration 2022-06-17 09:27:51 -04:00
Mike Salvatore 7039ccf708 Common: Switch configuration timeouts from ms to floating-point seconds 2022-06-17 09:14:22 -04:00
Mike Salvatore bd7ea7fdb1 Common: Add maximum_depth to PropagationConfiguration 2022-06-17 09:07:13 -04:00
Mike Salvatore a41b2e3ea4 Common: Add PropagationConfiguration 2022-06-17 09:04:00 -04:00
Mike Salvatore 9bbf5c8ae7 Common: Add NetworkScanConfiguration 2022-06-17 08:50:48 -04:00
Mike Salvatore 5845bb73af Common: Reorder scan and exploit configuration classes 2022-06-17 08:33:43 -04:00
Mike Salvatore 3c879f444d Common: Add ScanTargetConfigurationSchema 2022-06-17 08:30:42 -04:00
Mike Salvatore 7e9c481992 Common: Rename marshmallow post_load methods to be protected 2022-06-17 08:22:31 -04:00
Mike Salvatore ee8e949a0d Common: Add ICMPScanConfigurationSchema 2022-06-17 08:20:26 -04:00
Mike Salvatore 0b810f5d56 Common: Add TCPScanConfigurationSchema 2022-06-17 08:14:35 -04:00
vakarisz 2e561181ea Common: Add TCPScanConfiguration dataclass to agent_configuration.py 2022-06-17 15:10:46 +03:00