From 4eaa56847966c0980b4fffeb9cfbe34edb5401ff Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 22 Jun 2021 15:04:48 -0400 Subject: [PATCH] agent: Do not encrypt symlinks in ransomware simulation In order to keep Infection Monkey safe for production environments, the ransomware payload will explicitly ignore symlinks to prevent important files from accidentally getting encrypted. --- monkey/infection_monkey/ransomware/ransomware_payload.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/monkey/infection_monkey/ransomware/ransomware_payload.py b/monkey/infection_monkey/ransomware/ransomware_payload.py index d6a36ab5b..3ad33c29f 100644 --- a/monkey/infection_monkey/ransomware/ransomware_payload.py +++ b/monkey/infection_monkey/ransomware/ransomware_payload.py @@ -6,6 +6,7 @@ from infection_monkey.utils.dir_utils import ( file_extension_filter, filter_files, get_all_regular_files_in_directory, + is_not_symlink_filter, ) from infection_monkey.utils.environment import is_windows_os @@ -24,7 +25,10 @@ class RansomewarePayload: self._encrypt_files(file_list) def _find_files(self): - file_filters = [file_extension_filter(VALID_FILE_EXTENSIONS_FOR_ENCRYPTION)] + file_filters = [ + file_extension_filter(VALID_FILE_EXTENSIONS_FOR_ENCRYPTION), + is_not_symlink_filter, + ] all_files = get_all_regular_files_in_directory(self.target_dir) return filter_files(all_files, file_filters)