Skip to content

Commit

Permalink
Added error suppression where required and documented where it isn't.
Browse files Browse the repository at this point in the history
  • Loading branch information
ShayNehmad committed Oct 13, 2019
1 parent 177e1ea commit 177f902
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 3 deletions.
1 change: 1 addition & 0 deletions monkey/monkey_island/cc/environment/aws.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
class AwsEnvironment(Environment):
def __init__(self):
super(AwsEnvironment, self).__init__()
# Not suppressing error here on purpose. This is critical if we're on AWS env.
self.aws_info = AwsInstance()
self._instance_id = self._get_instance_id()
self.region = self._get_region()
Expand Down
14 changes: 13 additions & 1 deletion monkey/monkey_island/cc/services/remote_run_aws.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import logging

from monkey_island.cc.services.config import ConfigService
from common.cloud.aws_instance import AwsInstance
from common.cloud.aws_service import AwsService
Expand All @@ -7,6 +9,8 @@

__author__ = "itay.mizeretz"

logger = logging.getLogger(__name__)


class RemoteRunAwsService:
aws_instance = None
Expand All @@ -23,7 +27,15 @@ def init():
:return: None
"""
if RemoteRunAwsService.aws_instance is None:
RemoteRunAwsService.try_init_aws_instance()

@staticmethod
def try_init_aws_instance():
# noinspection PyBroadException
try:
RemoteRunAwsService.aws_instance = AwsInstance()
except Exception:
logger.error("Failed init aws instance. Exception info: ", exc_info=True)

@staticmethod
def run_aws_monkeys(instances, island_ip):
Expand Down Expand Up @@ -119,7 +131,7 @@ def _get_run_monkey_cmd_windows_line(bit_text, island_ip):
return r"[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {" \
r"$true}; (New-Object System.Net.WebClient).DownloadFile('https://" + island_ip + \
r":5000/api/monkey/download/monkey-windows-" + bit_text + r".exe','.\\monkey.exe'); " \
r";Start-Process -FilePath '.\\monkey.exe' -ArgumentList 'm0nk3y -s " + island_ip + r":5000'; "
r";Start-Process -FilePath '.\\monkey.exe' -ArgumentList 'm0nk3y -s " + island_ip + r":5000'; "

@staticmethod
def _get_run_monkey_cmd_line(is_linux, is_64bit, island_ip):
Expand Down
2 changes: 2 additions & 0 deletions monkey/monkey_island/cc/services/reporting/aws_exporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ def handle_report(report_json):
logger.info('No issues were found by the monkey, no need to send anything')
return True

# Not suppressing error here on purpose.
current_aws_region = AwsInstance().get_region()

for machine in issues_list:
Expand Down Expand Up @@ -70,6 +71,7 @@ def _prepare_finding(issue, region):
configured_product_arn = load_server_configuration_from_file()['aws'].get('sec_hub_product_arn', '')
product_arn = 'arn:aws:securityhub:{region}:{arn}'.format(region=region, arn=configured_product_arn)
instance_arn = 'arn:aws:ec2:' + str(region) + ':instance:{instance_id}'
# Not suppressing error here on purpose.
account_id = AwsInstance().get_account_id()
logger.debug("aws account id acquired: {}".format(account_id))

Expand Down
4 changes: 2 additions & 2 deletions monkey/monkey_island/cc/services/reporting/exporter_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@ def try_add_aws_exporter_to_manager(manager):
RemoteRunAwsService.init()
if RemoteRunAwsService.is_running_on_aws() and ('aws' == env.get_deployment()):
manager.add_exporter_to_list(AWSExporter)
except Exception as err:
logger.error("Failed adding aws exporter to manager.", exc_info=True)
except Exception:
logger.error("Failed adding aws exporter to manager. Exception info:", exc_info=True)

0 comments on commit 177f902

Please sign in to comment.