From 2f7ef7df9b354cc65125bc25206675eb0829a6a0 Mon Sep 17 00:00:00 2001 From: Mike Nordby Date: Mon, 21 Oct 2024 14:42:17 -0600 Subject: [PATCH 01/10] PAPP-34886 update dependencies --- .pre-commit-config.yaml | 4 +- LICENSE | 2 +- awsinspector.json | 58 +++---- awsinspector_connector.py | 312 +++++++++++++++++++------------------- awsinspector_consts.py | 32 ++-- awsinspector_view.py | 18 +-- tox.ini | 5 +- 7 files changed, 210 insertions(+), 221 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index dfadee6..1e56da0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,11 +1,11 @@ repos: - repo: https://github.com/phantomcyber/dev-cicd-tools - rev: v1.16 + rev: v1.23 hooks: - id: org-hook - id: package-app-dependencies - repo: https://github.com/Yelp/detect-secrets - rev: v1.4.0 + rev: v1.5.0 hooks: - id: detect-secrets args: ['--no-verify', '--exclude-files', '^awsinspector.json$'] diff --git a/LICENSE b/LICENSE index 94b040f..64cc283 100644 --- a/LICENSE +++ b/LICENSE @@ -198,4 +198,4 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file + limitations under the License. diff --git a/awsinspector.json b/awsinspector.json index 49996cd..96d580d 100644 --- a/awsinspector.json +++ b/awsinspector.json @@ -9,50 +9,18 @@ "product_name": "Inspector", "product_version_regex": ".*", "publisher": "Splunk", - "license": "Copyright (c) 2019-2023 Splunk Inc.", + "license": "Copyright (c) 2019-2024 Splunk Inc.", "app_version": "2.2.11", "utctime_updated": "2022-01-07T21:56:46.000000Z", "package_name": "phantom_awsinspector", "main_module": "awsinspector_connector.py", - "min_phantom_version": "5.2.0", + "min_phantom_version": "6.2.2", "fips_compliant": true, "latest_tested_versions": [ "Cloud tested on July 29th, 2021" ], "python_version": "3", "app_wizard_version": "1.0.0", - "pip_dependencies": { - "wheel": [ - { - "module": "boto3", - "input_file": "wheels/shared/boto3-1.17.30-py2.py3-none-any.whl" - }, - { - "module": "botocore", - "input_file": "wheels/shared/botocore-1.20.30-py2.py3-none-any.whl" - }, - { - "module": "jmespath", - "input_file": "wheels/shared/jmespath-0.10.0-py2.py3-none-any.whl" - }, - { - "module": "python_dateutil", - "input_file": "wheels/shared/python_dateutil-2.8.1-py2.py3-none-any.whl" - }, - { - "module": "s3transfer", - "input_file": "wheels/shared/s3transfer-0.3.7-py2.py3-none-any.whl" - }, - { - "module": "six", - "input_file": "wheels/shared/six-1.16.0-py2.py3-none-any.whl" - }, - { - "module": "urllib3", - "input_file": "wheels/shared/urllib3-1.26.18-py2.py3-none-any.whl" - } - ] - }, "configuration": { "access_key": { "description": "Access Key", @@ -1270,5 +1238,25 @@ }, "versions": "EQ(*)" } - ] + ], + "pip_dependencies": { + "wheel": [ + { + "module": "boto3", + "input_file": "wheels/shared/boto3-1.17.30-py2.py3-none-any.whl" + }, + { + "module": "botocore", + "input_file": "wheels/shared/botocore-1.20.30-py2.py3-none-any.whl" + }, + { + "module": "jmespath", + "input_file": "wheels/shared/jmespath-0.10.0-py2.py3-none-any.whl" + }, + { + "module": "s3transfer", + "input_file": "wheels/shared/s3transfer-0.3.7-py2.py3-none-any.whl" + } + ] + } } diff --git a/awsinspector_connector.py b/awsinspector_connector.py index 8e119fc..69ae78e 100644 --- a/awsinspector_connector.py +++ b/awsinspector_connector.py @@ -21,6 +21,7 @@ import sys import phantom.app as phantom + # Usage of the consts file is recommended import requests from boto3 import Session, client @@ -60,7 +61,7 @@ def __init__(self): self._base_url = None def initialize(self): - """ This is an optional function that can be implemented by the AppConnector derived class. Since the + """This is an optional function that can be implemented by the AppConnector derived class. Since the configuration dictionary is already validated by the time this function is called, it's a good place to do any extra initialization of any internal modules. This function MUST return a value of either phantom.APP_SUCCESS. """ @@ -72,13 +73,13 @@ def initialize(self): self._region = AWSINSPECTOR_REGION_DICT.get(config[AWSINSPECTOR_JSON_REGION]) self._proxy = {} - env_vars = config.get('_reserved_environment_variables', {}) - if 'HTTP_PROXY' in env_vars: - self._proxy['http'] = env_vars['HTTP_PROXY']['value'] - if 'HTTPS_PROXY' in env_vars: - self._proxy['https'] = env_vars['HTTPS_PROXY']['value'] + env_vars = config.get("_reserved_environment_variables", {}) + if "HTTP_PROXY" in env_vars: + self._proxy["http"] = env_vars["HTTP_PROXY"]["value"] + if "HTTPS_PROXY" in env_vars: + self._proxy["https"] = env_vars["HTTPS_PROXY"]["value"] - if config.get('use_role'): + if config.get("use_role"): credentials = self._handle_get_ec2_role() if not credentials: return self.set_status(phantom.APP_ERROR, AWSINSPECTOR_ROLE_CREDENTIALS_FAILURE_MSG) @@ -88,8 +89,8 @@ def initialize(self): return phantom.APP_SUCCESS - self._access_key = config.get('access_key') - self._secret_key = config.get('secret_key') + self._access_key = config.get("access_key") + self._secret_key = config.get("secret_key") if not (self._access_key and self._secret_key): return self.set_status(phantom.APP_ERROR, AWSINSPECTOR_BAD_ASSET_CONFIG_MSG) @@ -97,7 +98,7 @@ def initialize(self): return phantom.APP_SUCCESS def finalize(self): - """ This function gets called once all the param dictionary elements are looped over and no more handle_action + """This function gets called once all the param dictionary elements are looped over and no more handle_action calls are left to be made. It gives the AppConnector a chance to loop through all the results that were accumulated by multiple handle_action function calls and create any summary if required. Another usage is cleanup, disconnect from remote devices etc. @@ -127,12 +128,12 @@ def _create_client(self, action_result, param=None): # Try getting and using temporary assume role credentials from parameters temp_credentials = dict() - if param and 'credentials' in param: + if param and "credentials" in param: try: - temp_credentials = ast.literal_eval(param['credentials']) - self._access_key = temp_credentials.get('AccessKeyId', '') - self._secret_key = temp_credentials.get('SecretAccessKey', '') - self._session_token = temp_credentials.get('SessionToken', '') + temp_credentials = ast.literal_eval(param["credentials"]) + self._access_key = temp_credentials.get("AccessKeyId", "") + self._secret_key = temp_credentials.get("SecretAccessKey", "") + self._session_token = temp_credentials.get("SessionToken", "") self.save_progress("Using temporary assume role credentials for action") except Exception as e: @@ -143,18 +144,16 @@ def _create_client(self, action_result, param=None): self.debug_print("Creating boto3 client with API keys") self._client = client( - 'inspector', - region_name=self._region, - aws_access_key_id=self._access_key, - aws_secret_access_key=self._secret_key, - aws_session_token=self._session_token, - config=boto_config) + "inspector", + region_name=self._region, + aws_access_key_id=self._access_key, + aws_secret_access_key=self._secret_key, + aws_session_token=self._session_token, + config=boto_config, + ) else: self.debug_print("Creating boto3 client without API keys") - self._client = client( - 'inspector', - region_name=self._region, - config=boto_config) + self._client = client("inspector", region_name=self._region, config=boto_config) except Exception as e: return action_result.set_status(phantom.APP_ERROR, "Could not create boto3 client: {0}".format(e)) @@ -177,12 +176,12 @@ def _make_boto_call(self, action_result, method, **kwargs): try: resp_json = boto_func(**kwargs) except Exception as e: - return RetVal(action_result.set_status(phantom.APP_ERROR, 'boto3 call to Inspector failed', e), None) + return RetVal(action_result.set_status(phantom.APP_ERROR, "boto3 call to Inspector failed", e), None) return phantom.APP_SUCCESS, resp_json def _handle_test_connectivity(self, param): - """ This function is used to handle the test connectivity action. + """This function is used to handle the test connectivity action. :param param: Dictionary of input parameters :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) @@ -194,7 +193,7 @@ def _handle_test_connectivity(self, param): if phantom.is_fail(self._create_client(action_result, param)): return action_result.get_status() - ret_val, response = self._make_boto_call(action_result, 'list_assessment_targets', maxResults=1) + ret_val, response = self._make_boto_call(action_result, "list_assessment_targets", maxResults=1) if phantom.is_fail(ret_val): self.save_progress("Test Connectivity Failed") @@ -204,7 +203,7 @@ def _handle_test_connectivity(self, param): return action_result.set_status(phantom.APP_SUCCESS) def _handle_list_targets(self, param): - """ This function is used to fetch targets of specific AWS account. + """This function is used to fetch targets of specific AWS account. :param param: Dictionary of input parameters :return: list of targets and their info for the specific AWS account @@ -217,40 +216,42 @@ def _handle_list_targets(self, param): if phantom.is_fail(self._create_client(action_result, param)): return action_result.get_status() - target_name = param.get('target_name') - limit = param.get('limit') + target_name = param.get("target_name") + limit = param.get("limit") if (limit and not str(limit).isdigit()) or limit == 0: return action_result.set_status(phantom.APP_ERROR, AWSINSPECTOR_INVALID_LIMIT) filter = {} if target_name: - filter['assessmentTargetNamePattern'] = target_name + filter["assessmentTargetNamePattern"] = target_name kwargs = {} - kwargs['filter'] = filter + kwargs["filter"] = filter - list_targets = self._paginator('list_assessment_targets', limit, action_result, **kwargs) + list_targets = self._paginator("list_assessment_targets", limit, action_result, **kwargs) if list_targets is None: - return action_result.get_status() + return action_result.get_status() tz = tzlocal() self.debug_print(tz) for target in list_targets: - ret_val, res = self._make_boto_call(action_result, 'describe_assessment_targets', assessmentTargetArns=[target]) + ret_val, res = self._make_boto_call(action_result, "describe_assessment_targets", assessmentTargetArns=[target]) if phantom.is_fail(ret_val): return action_result.get_status() - if res.get('assessmentTargets'): - assessment_target = res.get('assessmentTargets')[0] + if res.get("assessmentTargets"): + assessment_target = res.get("assessmentTargets")[0] else: - failure_code = res.get('failedItems', {}).get(target, {}).get('failureCode') - error_message = failure_code if failure_code else 'Unknown error' - return action_result.set_status(phantom.APP_ERROR, - 'Error occurred while fetching the details of the assessment target: {0}. Error: {1}'.format(target, error_message)) + failure_code = res.get("failedItems", {}).get(target, {}).get("failureCode") + error_message = failure_code if failure_code else "Unknown error" + return action_result.set_status( + phantom.APP_ERROR, + "Error occurred while fetching the details of the assessment target: {0}. Error: {1}".format(target, error_message), + ) for key, value in list(assessment_target.items()): if isinstance(value, datetime.datetime): @@ -259,12 +260,12 @@ def _handle_list_targets(self, param): action_result.add_data(assessment_target) summary = action_result.update_summary({}) - summary['total_targets'] = action_result.get_data_size() + summary["total_targets"] = action_result.get_data_size() return action_result.set_status(phantom.APP_SUCCESS) def _handle_list_templates(self, param): - """ This function is used to fetch templates that correspond to the assessment targets. + """This function is used to fetch templates that correspond to the assessment targets. :param param: Dictionary of input parameters :return: list of templates and their info for the specific AWS account @@ -277,13 +278,13 @@ def _handle_list_templates(self, param): if phantom.is_fail(self._create_client(action_result, param)): return action_result.get_status() - target_arns = param.get('target_arns') - if param.get('target_arns'): - target_arns = [target_arn.strip() for target_arn in target_arns.split(',')] - target_arns = ' '.join(target_arns).split() + target_arns = param.get("target_arns") + if param.get("target_arns"): + target_arns = [target_arn.strip() for target_arn in target_arns.split(",")] + target_arns = " ".join(target_arns).split() - template_name = param.get('template_name') - limit = param.get('limit') + template_name = param.get("template_name") + limit = param.get("limit") if (limit and not str(limit).isdigit()) or limit == 0: return action_result.set_status(phantom.APP_ERROR, AWSINSPECTOR_INVALID_LIMIT) @@ -292,27 +293,29 @@ def _handle_list_templates(self, param): kwargs = {} if target_arns: - kwargs['assessmentTargetArns'] = target_arns + kwargs["assessmentTargetArns"] = target_arns if template_name: - filter['namePattern'] = template_name - kwargs['filter'] = filter + filter["namePattern"] = template_name + kwargs["filter"] = filter - list_templates = self._paginator('list_assessment_templates', limit, action_result, **kwargs) + list_templates = self._paginator("list_assessment_templates", limit, action_result, **kwargs) if list_templates is None: - return action_result.get_status() + return action_result.get_status() for template in list_templates: - ret_val, res = self._make_boto_call(action_result, 'describe_assessment_templates', assessmentTemplateArns=[template]) + ret_val, res = self._make_boto_call(action_result, "describe_assessment_templates", assessmentTemplateArns=[template]) - if res.get('assessmentTemplates'): - assessment_template = res.get('assessmentTemplates')[0] + if res.get("assessmentTemplates"): + assessment_template = res.get("assessmentTemplates")[0] else: - failure_code = res.get('failedItems', {}).get(template, {}).get('failureCode') - error_message = failure_code if failure_code else 'Unknown error' - return action_result.set_status(phantom.APP_ERROR, - 'Error occurred while fetching the details of the assessment template: {0}. Error: {1}'.format(template, error_message)) + failure_code = res.get("failedItems", {}).get(template, {}).get("failureCode") + error_message = failure_code if failure_code else "Unknown error" + return action_result.set_status( + phantom.APP_ERROR, + "Error occurred while fetching the details of the assessment template: {0}. Error: {1}".format(template, error_message), + ) for key, value in list(assessment_template.items()): if isinstance(value, datetime.datetime): @@ -324,13 +327,13 @@ def _handle_list_templates(self, param): action_result.add_data(assessment_template) summary = action_result.update_summary({}) - summary['total_templates'] = action_result.get_data_size() + summary["total_templates"] = action_result.get_data_size() self.save_progress("Handle list templates succeeded") return action_result.set_status(phantom.APP_SUCCESS) def _handle_add_target(self, param): - """ This function is used to create a new assessment target to the specific AWS account. + """This function is used to create a new assessment target to the specific AWS account. :param param: Dictionary of input parameters :return: ARN of the assessment target that is created by this action. @@ -343,35 +346,35 @@ def _handle_add_target(self, param): if phantom.is_fail(self._create_client(action_result, param)): return action_result.get_status() - target_name = param['target_name'] - resource_group_arn = param.get('resource_group_arn') + target_name = param["target_name"] + resource_group_arn = param.get("resource_group_arn") kwargs = {} - kwargs['assessmentTargetName'] = target_name + kwargs["assessmentTargetName"] = target_name - if param.get('resource_group_arn'): - kwargs['resourceGroupArn'] = resource_group_arn + if param.get("resource_group_arn"): + kwargs["resourceGroupArn"] = resource_group_arn - ret_val, response = self._make_boto_call(action_result, 'create_assessment_target', **kwargs) + ret_val, response = self._make_boto_call(action_result, "create_assessment_target", **kwargs) if phantom.is_fail(ret_val): return action_result.get_status() try: - del response['ResponseMetadata'] + del response["ResponseMetadata"] except: pass action_result.add_data(response) summary = action_result.update_summary({}) - summary['total_target_arn'] = action_result.get_data_size() + summary["total_target_arn"] = action_result.get_data_size() self.save_progress("Handle add target succeeded") return action_result.set_status(phantom.APP_SUCCESS, "Target successfully added") def _handle_run_assessment(self, param): - """ This function is used to start the assessment run specified by the ARN of the assessment template. + """This function is used to start the assessment run specified by the ARN of the assessment template. :param param: Dictionary of input parameters :return: ARN of the assessment run and their information @@ -384,37 +387,39 @@ def _handle_run_assessment(self, param): if phantom.is_fail(self._create_client(action_result, param)): return action_result.get_status() - template_arn = param['template_arn'] - assessment_run_name = param.get('assessment_run_name') + template_arn = param["template_arn"] + assessment_run_name = param.get("assessment_run_name") kwargs = {} - kwargs['assessmentTemplateArn'] = template_arn + kwargs["assessmentTemplateArn"] = template_arn - if param.get('assessment_run_name'): - kwargs['assessmentRunName'] = assessment_run_name + if param.get("assessment_run_name"): + kwargs["assessmentRunName"] = assessment_run_name - ret, assessment_run = self._make_boto_call(action_result, 'start_assessment_run', **kwargs) + ret, assessment_run = self._make_boto_call(action_result, "start_assessment_run", **kwargs) if phantom.is_fail(ret): return action_result.get_status() - assessment_run_arn = assessment_run.get('assessmentRunArn') + assessment_run_arn = assessment_run.get("assessmentRunArn") if not assessment_run_arn: - return action_result.get_status() + return action_result.get_status() # for arn in assessment_run_arns: - ret_val, res = self._make_boto_call(action_result, 'describe_assessment_runs', assessmentRunArns=[assessment_run_arn]) + ret_val, res = self._make_boto_call(action_result, "describe_assessment_runs", assessmentRunArns=[assessment_run_arn]) if phantom.is_fail(ret_val): return action_result.get_status() - if res.get('assessmentRuns'): - assessment_run = res.get('assessmentRuns')[0] + if res.get("assessmentRuns"): + assessment_run = res.get("assessmentRuns")[0] else: - failure_code = res.get('failedItems', {}).get(assessment_run_arn, {}).get('failureCode') - error_message = failure_code if failure_code else 'Unknown error' - return action_result.set_status(phantom.APP_ERROR, - 'Error occurred while fetching the details of the assessment run: {0}. Error: {1}'.format(assessment_run_arn, error_message)) + failure_code = res.get("failedItems", {}).get(assessment_run_arn, {}).get("failureCode") + error_message = failure_code if failure_code else "Unknown error" + return action_result.set_status( + phantom.APP_ERROR, + "Error occurred while fetching the details of the assessment run: {0}. Error: {1}".format(assessment_run_arn, error_message), + ) for key, value in list(assessment_run.items()): if isinstance(value, datetime.datetime): @@ -427,20 +432,20 @@ def _handle_run_assessment(self, param): val[k1] = str(v1) try: - del res['ResponseMetadata'] + del res["ResponseMetadata"] except: pass action_result.add_data(assessment_run) summary = action_result.update_summary({}) - summary['assessment_run_arn'] = assessment_run_arn + summary["assessment_run_arn"] = assessment_run_arn self.save_progress("Handle run assessment succeeded") return action_result.set_status(phantom.APP_SUCCESS) def _handle_get_findings(self, param): - """ This function is used to fetch findings that are generated by the assessment runs. + """This function is used to fetch findings that are generated by the assessment runs. :param param: Dictionary of input parameters :return: list of findings and their information @@ -455,64 +460,64 @@ def _handle_get_findings(self, param): filter = {} - assessment_run_arns = param.get('assessment_run_arns') + assessment_run_arns = param.get("assessment_run_arns") - if param.get('assessment_run_arns'): - assessment_run_arns = [assessment_run_arn.strip() for assessment_run_arn in assessment_run_arns.split(',')] - assessment_run_arns = ' '.join(assessment_run_arns).split() + if param.get("assessment_run_arns"): + assessment_run_arns = [assessment_run_arn.strip() for assessment_run_arn in assessment_run_arns.split(",")] + assessment_run_arns = " ".join(assessment_run_arns).split() - severities = param.get('severities') - if param.get('severities'): - severities = [severity.strip() for severity in severities.split(',')] - severities = ' '.join(severities).split() - filter.update({ - 'severities': severities - }) + severities = param.get("severities") + if param.get("severities"): + severities = [severity.strip() for severity in severities.split(",")] + severities = " ".join(severities).split() + filter.update({"severities": severities}) - limit = param.get('limit') + limit = param.get("limit") if (limit and not str(limit).isdigit()) or limit == 0: return action_result.set_status(phantom.APP_ERROR, AWSINSPECTOR_INVALID_LIMIT) kwargs = {} - if param.get('assessment_run_arns'): - kwargs['assessmentRunArns'] = assessment_run_arns - kwargs['filter'] = filter + if param.get("assessment_run_arns"): + kwargs["assessmentRunArns"] = assessment_run_arns + kwargs["filter"] = filter - list_findings = self._paginator('list_findings', limit, action_result, **kwargs) + list_findings = self._paginator("list_findings", limit, action_result, **kwargs) if list_findings is None: - return action_result.get_status() + return action_result.get_status() while list_findings: - ret_val, res = self._make_boto_call(action_result, 'describe_findings', findingArns=list_findings[:min(10, len(list_findings))]) + ret_val, res = self._make_boto_call(action_result, "describe_findings", findingArns=list_findings[: min(10, len(list_findings))]) if phantom.is_fail(ret_val): return action_result.get_status() - findings = res.get('findings') + findings = res.get("findings") if findings: for finding in findings: for key, value in list(finding.items()): if isinstance(value, datetime.datetime): finding[key] = str(value) else: - return action_result.set_status(phantom.APP_ERROR, - 'Error occurred while fetching the details of the findings: {0}'.format(str(list_findings[:min(10, len(list_findings))]))) + return action_result.set_status( + phantom.APP_ERROR, + "Error occurred while fetching the details of the findings: {0}".format(str(list_findings[: min(10, len(list_findings))])), + ) for finding_detail in findings: action_result.add_data(finding_detail) - del list_findings[:min(10, len(list_findings))] + del list_findings[: min(10, len(list_findings))] summary = action_result.update_summary({}) - summary['total_findings'] = action_result.get_data_size() + summary["total_findings"] = action_result.get_data_size() self.save_progress("Handle get findings succeeded") return action_result.set_status(phantom.APP_SUCCESS) def _handle_delete_target(self, param): - """ This function is used to delete the existing assessment target from the specific AWS account. + """This function is used to delete the existing assessment target from the specific AWS account. :param param: Dictionary of input parameters :return: Status (phantom.APP_ERROR/phantom.APP_SUCCESS), target is deleted successfully @@ -525,18 +530,18 @@ def _handle_delete_target(self, param): if phantom.is_fail(self._create_client(action_result, param)): return action_result.get_status() - target_arn = param['target_arn'] + target_arn = param["target_arn"] kwargs = {} - kwargs['assessmentTargetArn'] = target_arn + kwargs["assessmentTargetArn"] = target_arn - ret_val, response = self._make_boto_call(action_result, 'delete_assessment_target', **kwargs) + ret_val, response = self._make_boto_call(action_result, "delete_assessment_target", **kwargs) if phantom.is_fail(ret_val): return action_result.get_status() try: - del response['ResponseMetadata'] + del response["ResponseMetadata"] except: pass @@ -557,21 +562,19 @@ def _paginator(self, method_name, limit, action_result, **kwargs): list_items = list() next_token = None dic_map = { - 'list_targets': 'assessmentTargetArns', - 'list_templates': 'assessmentTemplateArns', - 'get_findings': 'findingArns', - 'delete_target': 'assessmentTargetArns' + "list_targets": "assessmentTargetArns", + "list_templates": "assessmentTemplateArns", + "get_findings": "findingArns", + "delete_target": "assessmentTargetArns", } set_name = dic_map.get(self.get_action_identifier()) while True: if next_token: - ret_val, response = self._make_boto_call(action_result, - method_name, - nextToken=next_token, - maxResults=AWSINSPECTOR_MAX_PER_PAGE_LIMIT, - **kwargs) + ret_val, response = self._make_boto_call( + action_result, method_name, nextToken=next_token, maxResults=AWSINSPECTOR_MAX_PER_PAGE_LIMIT, **kwargs + ) else: ret_val, response = self._make_boto_call(action_result, method_name, maxResults=AWSINSPECTOR_MAX_PER_PAGE_LIMIT, **kwargs) @@ -584,14 +587,14 @@ def _paginator(self, method_name, limit, action_result, **kwargs): if limit and len(list_items) >= limit: return list_items[:limit] - next_token = response.get('nextToken') + next_token = response.get("nextToken") if not next_token: break return list_items def handle_action(self, param): - """ This function gets current action identifier and calls member function of its own to handle the action. + """This function gets current action identifier and calls member function of its own to handle the action. :param param: Dictionary which contains information about the actions to be executed :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) @@ -599,13 +602,13 @@ def handle_action(self, param): self.debug_print("action_id", self.get_action_identifier()) # Dictionary mapping each action with its corresponding actions action_mapping = { - 'test_connectivity': self._handle_test_connectivity, - 'list_targets': self._handle_list_targets, - 'list_templates': self._handle_list_templates, - 'add_target': self._handle_add_target, - 'delete_target': self._handle_delete_target, - 'run_assessment': self._handle_run_assessment, - 'get_findings': self._handle_get_findings + "test_connectivity": self._handle_test_connectivity, + "list_targets": self._handle_list_targets, + "list_templates": self._handle_list_templates, + "add_target": self._handle_add_target, + "delete_target": self._handle_delete_target, + "run_assessment": self._handle_run_assessment, + "get_findings": self._handle_get_findings, } action = self.get_action_identifier() @@ -618,7 +621,7 @@ def handle_action(self, param): return action_execution_status -if __name__ == '__main__': +if __name__ == "__main__": import argparse @@ -628,10 +631,10 @@ def handle_action(self, param): argparser = argparse.ArgumentParser() - argparser.add_argument('input_test_json', help='Input Test JSON file') - argparser.add_argument('-u', '--username', help='username', required=False) - argparser.add_argument('-p', '--password', help='password', required=False) - argparser.add_argument('-v', '--verify', action='store_true', help='verify', required=False, default=False) + argparser.add_argument("input_test_json", help="Input Test JSON file") + argparser.add_argument("-u", "--username", help="username", required=False) + argparser.add_argument("-p", "--password", help="password", required=False) + argparser.add_argument("-v", "--verify", action="store_true", help="verify", required=False, default=False) args = argparser.parse_args() session_id = None @@ -640,31 +643,32 @@ def handle_action(self, param): password = args.password verify = args.verify - if (username is not None and password is None): + if username is not None and password is None: # User specified a username but not a password, so ask import getpass + password = getpass.getpass("Password: ") - if (username and password): + if username and password: login_url = BaseConnector._get_phantom_base_url() + "login" try: print("Accessing the Login page") response = requests.get(login_url, verify=verify, timeout=AWSINSPECTOR_DEFAULT_TIMEOUT) - csrftoken = response.cookies['csrftoken'] + csrftoken = response.cookies["csrftoken"] data = dict() - data['username'] = username - data['password'] = password - data['csrfmiddlewaretoken'] = csrftoken + data["username"] = username + data["password"] = password + data["csrfmiddlewaretoken"] = csrftoken headers = dict() - headers['Cookie'] = 'csrftoken={0}'.format(csrftoken) - headers['Referer'] = login_url + headers["Cookie"] = "csrftoken={0}".format(csrftoken) + headers["Referer"] = login_url print("Logging into Platform to get the session id") r2 = requests.post(login_url, verify=verify, data=data, headers=headers, timeout=AWSINSPECTOR_DEFAULT_TIMEOUT) - session_id = r2.cookies['sessionid'] + session_id = r2.cookies["sessionid"] except Exception as e: print("Unable to get session id from the platform. Error: {0}".format(str(e))) sys.exit(1) @@ -677,9 +681,9 @@ def handle_action(self, param): connector = AwsInspectorConnector() connector.print_progress_message = True - if (session_id is not None): - in_json['user_session_token'] = session_id - connector._set_csrf_info(csrftoken, headers['Referer']) + if session_id is not None: + in_json["user_session_token"] = session_id + connector._set_csrf_info(csrftoken, headers["Referer"]) ret_val = connector._handle_action(json.dumps(in_json), None) print(json.dumps(json.loads(ret_val), indent=4)) diff --git a/awsinspector_consts.py b/awsinspector_consts.py index 6dc0022..126aa72 100644 --- a/awsinspector_consts.py +++ b/awsinspector_consts.py @@ -15,23 +15,23 @@ # # # Define your constants here -AWSINSPECTOR_INVALID_LIMIT = 'Please provide non-zero positive integer in limit' +AWSINSPECTOR_INVALID_LIMIT = "Please provide non-zero positive integer in limit" AWSINSPECTOR_MAX_PER_PAGE_LIMIT = 500 AWSINSPECTOR_JSON_REGION = "region" AWSINSPECTOR_REGION_DICT = { - "US East (N. Virginia)": "us-east-1", - "US East (Ohio)": "us-east-2", - "US West (N. California)": "us-west-1", - "US West (Oregon)": "us-west-2", - "Asia Pacific (Mumbai)": "ap-south-1", - "Asia Pacific (Seoul)": "ap-northeast-2", - "Asia Pacific (Singapore)": "ap-southeast-1", - "Asia Pacific (Sydney)": "ap-southeast-2", - "Asia Pacific (Tokyo)": "ap-northeast-1", - "EU (Frankfurt)": "eu-central-1", - "EU (Ireland)": "eu-west-1", - "EU (London)": "eu-west-2", - } -AWSINSPECTOR_BAD_ASSET_CONFIG_MSG = 'Please provide access keys or select assume role check box in asset configuration' -AWSINSPECTOR_ROLE_CREDENTIALS_FAILURE_MSG = 'Failed to retrieve EC2 role credentials from instance' + "US East (N. Virginia)": "us-east-1", + "US East (Ohio)": "us-east-2", + "US West (N. California)": "us-west-1", + "US West (Oregon)": "us-west-2", + "Asia Pacific (Mumbai)": "ap-south-1", + "Asia Pacific (Seoul)": "ap-northeast-2", + "Asia Pacific (Singapore)": "ap-southeast-1", + "Asia Pacific (Sydney)": "ap-southeast-2", + "Asia Pacific (Tokyo)": "ap-northeast-1", + "EU (Frankfurt)": "eu-central-1", + "EU (Ireland)": "eu-west-1", + "EU (London)": "eu-west-2", +} +AWSINSPECTOR_BAD_ASSET_CONFIG_MSG = "Please provide access keys or select assume role check box in asset configuration" +AWSINSPECTOR_ROLE_CREDENTIALS_FAILURE_MSG = "Failed to retrieve EC2 role credentials from instance" AWSINSPECTOR_DEFAULT_TIMEOUT = 30 diff --git a/awsinspector_view.py b/awsinspector_view.py index 40db4c7..15a2c81 100644 --- a/awsinspector_view.py +++ b/awsinspector_view.py @@ -13,7 +13,7 @@ # either express or implied. See the License for the specific language governing permissions # and limitations under the License. def get_ctx_result(provides, result): - """ Function that parses data. + """Function that parses data. :param result: result :param provides: action name @@ -26,22 +26,22 @@ def get_ctx_result(provides, result): summary = result.get_summary() data = result.get_data() - ctx_result['param'] = param + ctx_result["param"] = param if summary: - ctx_result['summary'] = summary - ctx_result['action'] = provides + ctx_result["summary"] = summary + ctx_result["action"] = provides if not data: - ctx_result['data'] = {} + ctx_result["data"] = {} return ctx_result - ctx_result['data'] = data + ctx_result["data"] = data return ctx_result def display_view(provides, all_app_runs, context): - """ Function that displays view. + """Function that displays view. :param provides: action name :param context: context @@ -49,7 +49,7 @@ def display_view(provides, all_app_runs, context): :return: html page """ - context['results'] = results = [] + context["results"] = results = [] for summary, action_results in all_app_runs: for result in action_results: @@ -59,7 +59,7 @@ def display_view(provides, all_app_runs, context): results.append(ctx_result) if provides == "run assessment": - return_page = "awsinspector_run_assessment.html" + return_page = "awsinspector_run_assessment.html" elif provides == "list templates": return_page = "awsinspector_list_templates.html" elif provides == "get findings": diff --git a/tox.ini b/tox.ini index c4644ad..720a141 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,4 @@ [flake8] max-line-length = 145 max-complexity = 28 -extend-ignore = F403,E128,E126,E111,E121,E127,E731,E201,E202,F405,E722,D,W292 - -[isort] -line_length = 145 +extend-ignore = F403,E128,E126,E121,E127,E731,E201,E202,E203,E701,F405,E722,D,W503 From 54d9c074fa329ce253cd0864b737cd9ef7a2d0ec Mon Sep 17 00:00:00 2001 From: Mike Nordby Date: Mon, 21 Oct 2024 14:43:15 -0600 Subject: [PATCH 02/10] PAPP-34886 remove unused wheel --- .../urllib3-1.26.18-py2.py3-none-any.whl | Bin 143835 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 wheels/shared/urllib3-1.26.18-py2.py3-none-any.whl diff --git a/wheels/shared/urllib3-1.26.18-py2.py3-none-any.whl b/wheels/shared/urllib3-1.26.18-py2.py3-none-any.whl deleted file mode 100644 index c7337c76148d16f446ad50664d643d40c01c7645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143835 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 R<7=d;_aWlH z=>K$BoG7Q2YQ9;Y!`GgXJ4KJ$cWzA|;%>Hkei-oje7{&?@B;c9$_`4JiW<4TKFq|c zrJV~(QfsQ(hYCyCjw@z(n>^_9!|{9A=fnFwTS(LU_=B+hebbAJ>w}B?en)3yYx&$2?yP_LsJeU+R5U>4iNA4FK2Q_qk2PNQZL;53Ykz zs1#9IMI>ho&<+F!3B!vr$`(*3ka=ic-JM`sVDIFNvXDCPTiD%)V9`43w5Ij(dkLm2lsJEhBW1B7Vgoc5f(7>Kn%sg)kkK~ra?d=II%|i3kO+$oF zE|sK4HAt{a_Z;Hyq&{#YBMK-e1?y<`!%BA@mu?{%fvA}EKe@o;iNrZ?YC`o;W(gcK zx=yF)!h2FtFH1Rg%M5yn#ncGS!uAU7y~J#PuHPYzV9gv09EpHPD_4OU5^0zHKqL@f z+Xt9vqpt+CO}B_T~M;u6;n3AEXv3U9XC?>^#l_2_`p2L8EvuxF)fW^Mhy; znH;0mXz=Y zr#Ky(LMi3Ts1FqOn0FU@mDo1aYjC?k_;$BUsU2X{*30!~(~H(vLh)wH>&wl_`=J*z zVzd?OT??m^lCWv&BKerBnP@o4Ee$dZ;OwE1R~w*Xiu@7vGV%hvBjP-VU; z%KC3Zu5ihpQ{BW+|Hu~Deji>~P9jxV06;UfcJz9xUK{%T>Evb>;uOgQnZU>6r>zWG ziqy`{HvxTDeslaFeLqf9Aq=DOcnl~e-sJ4N6x{IjCXJu8KcpUDUz0AB^cYerKA|{U zuCDe`lpzu^gB>C}S;gwp|An#OoDjpv$WICLIUTMeR-DDUUKfC?+^dh6Q+x2G+YOBs zQV~FN`nl)8ug!|!r;tmK#SMKn0`1$2SOo49x}S<4=q<*+z**5vDAhSVAkWSN6fZ4c zZ|C^9)1)6>6x>v2(i~dbCIkszurPascq^uGB0UKxF3pdp=U(e@jE}VtC0&vy(kU8~;tfk_TG7T*px3c(U#LApKAn6c zF>uBPmqPd!8?F(+))LkpKmB-UhRDsCDFOZfMe2KfS1{$b>cf! z{oa)~9bJ0~1h#Y9I(eyk1Ou?Ze=HCL>@?0As3}p1U&H`Q6EQOc5cxcC6=Kkea3VE+ zro$s*ZlG^*Qv8=tZDpEX77W1L8(jNPRW~G?05%%|QnEu({w%?Ap43L~~UpzvYlF`^D@To?h zT+O4jkVsfu7HdD*AVSwYrOcw&s8F`j_jE%Wcu2~c-ka{2!`!zC51YeIm2(+yR$D6{ zS;rDgfRtF_J^D5B(6hKSfH?u0eE>-eU6yYnc?h(POS;34!N?y^%w`P8^O$SRs&6dQ z(Cs-Nyz_zpUZ^d*8gR$ju7J%&=tlsppCAaiGJdhu-Sv2e{=Icosl$~Sn&_n(YW5tJ zr2!3PsH@U4OC_z<0^|zxw6M%{r6fAJdWnUb&4konr* zy`0o$TI~fthR?#(NvHD6C+TW+2W~nBRxea}q}5tKJOs!Hk&J$faDEy-p|lz^mcAKb z@CeH(C%+O<@sjcg_|+y?D0a|PWZ)EY-Ah`nSt7!z9^~8}5T)Ay3PK`03jI)nS#pvT zZl>1tUBnobgpNSo1~#}F4J(<2u}-+7NG7Ku=32$QA1$pc4f&Pvqu&@_MQ~KZ00#L9 zh({zBv)%uPv!@=y!k(SH7k+9>b{0jlG^M+gx*nRQx(Wv+qbQTtwxf{0-KzLmV{t)U zg$$~dL$cc%5Z$FjyWp?|Msn=jpjsb2&sxa_a}L~E_QEk+?3{RDht>n-vKUBks@1&N zkgRc-WGE_`4U_~JYn7>dTehSXS8bp~dM}}Z(mk{vQMyVe%@RFgvaUZr=tV>?R3JB) zm60T3^wr`H{(J_`{N~unO4cAuxJclziDg{J;AC*Lj=+r8)wNj{FSP5EIt!JIYo1THAHuAxZq0$U%g zyk!`$9=`p8P@cEbWI7SwXk(16Wc-0Z-2WAa9YhVTPrCCJrAyJDR^o+P&vwMX@)x2G zTB@&EP$(DbmNRujCwJI7Yiz=jj*Z%b3BxL?xe7e{@ue^tZeKypHyPb)j!{~OIua)= z{!C4Xra6~rtF1=8NOZ>#AJk!)tI2JM4Z=lKo}nJb|16+(k6_fFK6ADtRC>heO?6y| zrRfR^`*#T{tF(fsTA;b2NekgckEFR2F|$P9hRGhrOQOy4!pP!KzL}$_(~S-_CnN-CGnr%qYx}W>AWYZej@L(G4?D^+3q?S@ zi%UT0BpKFZslgVjwFt6|N4LaAC~_X|wU|2pg(6j1<7!20skzQ!yD*Pc4t6_^GC;s2 zj>Oz2gyQmOC~)^s$k%G^pN-Cx7heT|g)5OXcoEBbE_kt2hB_e6&7$|MGaA;gb`St| zg|N#xND#qxr2QPLAMtUR4aJCayf?^7?>=!MK~AFzi_b{+N$=s{gAl;x{g2`ot~uP@ zz0k6B#W&;`%n~4&Oh4Y zd}ucg@91*Ko}NBG8|(Wm-tmpKKfJ0-OYH6S8&WlbB&HrSxvs8B2`V`QYZN`bJY;Sa z8O_^)@es_Ldb!9SV-+)nF4$ch6o%M@ZSUXSf_dz)nF-XM1d$lR9PY`8@Q@@ zYqr?l^qCzaw$m+2RDnd$ckmcL#ZE7;Rj{m~7}^8RT^y0)i7+Ct}E} zW+OLkE^fku?nEtT*`nIN@}0T;t*0qF)3bq#@0079kALdfK74)NP4xcFWiUGT&7cc7 zj}E(rf+BjN$VOEMyELR4E`q7iEH{sH?FF0V?JQsNF{kFU2dQbE&0Ngf!dWGGUG&Uc zs5n0>3QMVUj{qi4XiK-IOc91SRU^$fYMPbKEZNb%TCs^M-h$)gnswVl%pD(m8P>ZoE(T?o$~E`|J4JUqkp^FG<~#McgIv;mwVxPT|YqO>hw( zW|9s?XL+({*SAE8lf?v$dyXpAa)}-*S|W!1>P- zn46!-BukIg7^7H<^Y-{s1EZI!Ku98CFt32bKHHO;G@G3aDoS5$%;)+5rjTMvZ+2pz zV2G>zwuzU4m)Wt;*|-mT)8*;vS!a3{Za5#Iy|PkvZd*kz*tnir;9J~=qiN865LGdA zd?@#*PGE9<_%DL;x9i`od^p#R5XsI5r)zPm5%~KIf=~4RoJzx=F7h8ra2Bs=592fd zQ=}H7`dLsu4r60sxiZVU!w%$eOH)Q$^aA417>OqoZtqV=dZNA01)s&^NU82~ogEkf zQiLsI0N`=I=~%RNa1poV332FZgOg09T$i>Lui2k%`RM~&TI24{iNc>YN{bL`8Ag$^ ztSk&}z66-S#t!~>B{DX;tYZ_^=}MdEMlqk=mTK0Y0SSXyJD!2tzf<5mTJ1KDEH@oi z`z-k?Lhwgh?)6tCHff&jMw{WYIUVgf(*%WV^!DQyUSVTtf=6L8PN#>GwcMq)`f+&dq) z&a8_*SFQ=a%?5+bKGt38oq!&Z&P9uOg5UbvK1Q@j=A1^z|+tm5se~_j$ zE2YzJ)W&7qgbleE}IF9VF6g|6xjydtSOLM5=50tI#;$iuoZ4wMBn>f8BCXb!<1 zt8+q`lxPhr*twodBK=@{E1p_S>5GPQ6>Unit z|q`O=OO(w0{%*wdSDqcxedr5+ow+pM65ozzC<&i5LQAU zt`sTj@j*JXAbf`j_RIQE`Gk&u$TsA{`xZ(Ma3is?|7Ox_`eT;_$`IH?-|oU)*r~Y@ z@{nV(JHDj(%iX{*^P?Zs5Y!HTcsi#;@?S*sx2+-kf_tUtzXNH1O?*--1q|1jFuYzK zgL!-&jzcP)6=9to&lj+w#e0UgQsR=wS^SWxLnFoJ`hM%a>Iq&L&Lt9|{Fs+3f_1-a z|GRv{BMQ#*s>RVNszE!$stp@tyj|nVUw(MA#WC4K`)o(ez)}@fL#q)8ZtQzDK5n!f z=Jz7osTApA(qE?il&U>Nv{Y6rQp|U4IY!08j4r=xG?i2nUDoz8;9|4nY_rx()x=EN zC}9H>I9p`xGJUXK(FU`$fZd`pTI9dWbb2IXT7>s-TMIDR2~T+0MS1MNkXpo<^V$S{ z7V-Zow92&e3#KWViskwOmJPE|I{L_$x|NaQ;)^^e29l*d8yzRG?<1pi z8#1PEJ|=Q4psy`sX_NG%El+?pQu%KZH^rpK4l@hlmKy!>QC z^Gh4(yv!Up3BE6nW8nh#_C-3=Gz68x}I2?89U=qVm| z4;!;7F7aDCYoyiC35UX2S>^bQ8#71f0Cp%AO?-ie7LUE?#U7FCe`EeID+kVMTKfbi z%8zo%5gLe31H3mpc)1SjoNod0pi$K21%34s=(#A=Gng*epkdzhcEPRpebZH8I|dVY zx?<7=k1puOwQpy%_3Ox7<*AkX@BdKEEpdCV#DSKyr#vM`Es6!XANG+t zHoiy5)VBhe&*n|@uI<~X1>4)2)o%HdrGD~#v7mV08nDbwe3G)>@k`c{*=1Pevm8#i z@}N`f>Hs(H^C(?&kNYDC!FN84lw0u<<2&2`ig!C%N>67h005mF007MYU-52lXJ`F? z<-5<9)7EOr{oN;3{j$5TDaCl>66s3yqJs^|LN)#;bw{o&D?TJ*8VV(X{zLq<>wos$ zP4^9U@{x6G!dr>dD4~C(qt0pW3x_((GiTa#s`m<;C5vRlQ;AI{QK!vi!_9KE@9p)t z(=xMim2c9sg|af`cZ2+=rUt#OlBut?=GQZi1(kc@mZm|=HdTGzCCS*vQ6g>b{!G5> zzryakv!0^rtsje7+9;%zYB`VWw0vRW)78=WE^pLksf!dLgGF~yap2mq?oR7JgV(5{ zrPEsiDD^I>uv2kSuugV*Q0ddP)5F5>M&!ckbbYlbVErwbs^7s^QKE)Uf!`f|n5k`R za&;(Lwd`a|kRXR`e<6Eltkz1=TXwmC`LOP}XdPhDO^vFyFfiJ_a@p$Xo~TTj%&9t4 zsY3IoxLeWlTye$s;QQFU@=Q1o|4mQn>5{i=l)F<|v(AySTj|Nkcls%;=<+;>fv5Fx z#P@+eO2Kuj{ro!FTa#*;Kx^BO%m}fJk{ifDp)I-koNW!zc$L&-;WqP;O5KmSw7u+R zvDt*Z4sk@h>(Ndk^-)U(ZdYq&@^VOJdoe9?d`p0(4Ys{u9x*_jzq>BIVr{Ao!!G&4 zkrCi~>r`L;8_Pg$fgoM2v~8u9WZ7D_3D9}B`GGXGsRCfKgNQQ47A5)vT=(oUy&vk? zYCW;eaf!;>fZf+hse#>313-%f&QEp}2jnY}@Mm5D>9<&5E9w0zpeUP=R*B+NYofJM zwN#tZP+_~Orv9xoXBId3rsB#44tMs--2YyIvAww&5SB|c=IbDDvW1j~+ltZL50*`g zqRE#|;U?2wNmejvi_yGYVEF*-l2J#Xy}R+TjHmCfpAL}tSlq><2W_XVCJZU@fYnoB%AK)yGi#dI-MvoHH1*jK z==%Je^B*;8ZwChkpCne>>=A)1Pf@1~U>oyxauj^Rh!G9dCENCnz$vEAIRXrBqTRAs ze2v0hm-pNc#>$&k%F{H0e>Dtd|98S8sl*>En{%%of9N@bz;_u_IhsUVhx$*^ zEP*1xz*f0QUd3%ZJcHhl6n{6b4Qu~L2GEFhv)FE>5!_mfbgR?OS&7}vt&;G31@QZt ztyzP2TN~JEzs&UI9NGzGJ*v&60F4@N^V@4*XgEp1IahJp(f5#gL`e+3PQiU zce%On$XO7GUx}$tym=;bF)5GC`fDSzUDp`t?F=&c_TGxbg``wbhtJ}K7xzVJ(TODE zZ5y^oe90Gz^vwxrn>ge)x^>}}F1GH=mfz!R$oWuA*U7!xMnzg3F8lH&P)W$y?Y9I$ zqW8Ndq}KAPf-a%m+Um{0YEBH5gp>$WuEBtXBv<2YA$o8h$BT7+V9sWDMU~s^om4m@ z-R2D!$e<2|Wnx^ArT}0m;p0m%S(xuV6M{yD8lh2lM`!0INj72drA`f8n)fe6$Ic?V z#%s>6(~X8sU2Yyv9c}!EambsuDYHJ0R<>K642+GmIEYw=azIyUIwlNx=xE};>&99; zJ#tMe#ls(wP-FB=grznipbA1M{bdnZWG+tGynj7>vT-|Oe+w-m za>If5Pqmb76FxiJgB0a3M{*z9^UtXBsMv))FRMHZmE@x+h-zhE zXpBDbMO5m$mVnbP7ORNq_8QuJW)U*O!yV3zl=8FSv6`v7tv!aC%Pi!{ z1Z69RjWCrmN$67Ak~kR5AjOyHxX~x1Ryh_xh=w2;jEzHo8XkEzh*GZ6aV0o@bgLU> zXz4jSQEfk;Se#)Kogm2Ztuwdr>Vt!Wp2$#C+_n~vV5JdkmB;InsIwB1s{~1?xC+?m zT;sny4Cd+QAB-7u5n!`t@77i4!bmlFpI2wGr@a7;a75|=<8b_e*^yN(C)ngT{W3Uq zaKhFC#J*nkW#21B1721FzztM@K}iqVEIcq}l@`L>D<9gbaA3U5%!R@lW^!~kcA4JY z0kwdOjS7=y5&#@sQ;|p+i^**G9q7Qr37G0U_mfBjoWj`lL1ruEiYCo8nFc1BvsTdY z;46-haRi54)Nss&B6_AXvpGP^s`R|Xd7_uybLrkd&VFU)KE^KH6oC*Eh8Wx}7R$Jc zdhC@hu}D30#^N_txV%H?_Y;Mh$vo4?cwmy>Ij5lQnx(mB}HFo+K?uW%bmmK0;CjX5Kv_48hH?SmAgehg>;gXcXG_)I^*(QL%P| zpKoDrbprZb6<>^N5YptyK~TN^39=Dz1IhB$N{9w);JMXUc8yTX^`^Y@U(}i#=<}dA za;w%Jl-vXs@AvuHO19u{ph2H?f1j6B!|@w8Jxqn%WKRI`of3iQO!P+SzlwUYi9KQg=v%{fqTm9<}hAQJpl{fbi-EC)T zSK_Zo(ErM$#cl?SMeQkJ2z^{$f1=>)>P*$n>}Gd;+8bd{?sM_Bq=W+m{R4>v&K#oy ztD^ma(9MSIk4f?S_HzZWI}ghN0$RJ3Dze$bwo?*{$lT2fTF0TIL!mwm?;;&Fo3U(0 z8!we?WHa9-tI$MbUw%+rqA(-qKQ|)4^;Xd>xM(Hwfv0AaNOe8qf)2K1PqO^BfD-Hm zj*9?BQ4Z9LC_DQ~jAleQ>19}71n?^Qsc2x-&2~-h`D^8JW z)dbuiQ^^3w<4e2^EIDbdylJukWy%%WC7zHcnU_-aW@W~JDs2yWJ$VvN6WwuOaTIqjAxX#=X0CgOkJ(k8QfnfKh5II%}g#y)A%Xk@C*9yQ2_G?Ny$4mivE%*%zA zS|8vsF)Gc}^S#B(T7cB5)GEF$?-NF)rq4I>-$p#Y7np%djP&J^j+KgN)G7XBHG;Pg zOT(=Muiv8=UQNPnG5RLX%O;lFOd_-AH#COl#4$gRVmxKckO+v6?)ACscZtOpTp{0w z)cHN1u(yE+;;P7~nB-x2pH&unfi5i*)Sk z?hdO71=uElM78?ENeB#b7}&ZktR7trWri%2^WF^fK})^gg`NLw!V%&JKaV@^X)fBl zAYdWvkw%e2R}%wQLqH==X#QOvCyk83LGP$e#ea@k|JiMR(rT4zT7@HHIp4rHDir`> zN$~}tEVF{hlJ+`_5FZel%L%a?92FWCOn6&T0dx1n_~YCSELHR4F~mkI0|RKY(YF52#NM&wXiJ zyti13jLKhOjl|*>_k@5e1~wG{?~D{=K~S+ zcP3%I11G01Sj6KJRqc>HTVDe0T$4W@w=8zzefiLzq`<*_4hGbSPoSJ)*8LBz1UA+1 z7N{6d+hRSn(+P=N{J>!VCpy7X|KHFxp&@ARMR-`}Mvi4Gzx{st5Qfva z2N&o`tD=Q?6EGekxfEiTI8h<{G)Qk44{X4K!&|+X} z=&}choj6cXp+p)DLUh9TDY3=Ww0;mko-9KbBjSqb_hNm9HI3R*2~%xFPRquX+q5v8 zGgD>k`H2JKMioT9_#F%?^LynfwbozXL} zkNKco9yeQZ97{cutn>P!afGrXifS;0K|-vr)$TDZC{RNP={?aI4sK`sdG~*C2fZeC zrf$NmB3A^1E~3oAL|}q1g}Qc)we7T%gtZmmkoj zOzflpW5yWsX|^JY zR7IF9Fs(Z{_0i+pOmP&(=R7M=Xs=-!MZnmk5&Ex$#&FK0jY62pH%G%FK zkG~r~D!n@5t77P8~nr?5)ix0e&m{1eYD*(=ujlYEUjALZ;)*(}CwA4ft< zTs@wCfSjl(T`ISFS*e*E$w~2kL9OM8_l9-uuRD%7svKZf50hCn*B~Tw8k`;4LYZKYI0yj(K`a%K(!J&q#KdTpY{h_ z@5JBKrUL@xi!~=~LPRpAWjof74Rpk7zIUhg=ENvC5;+Y9N{v}OK+wP~e5y}aY1bMb zv^?<|u;qua*?%}j8~O*1C$7~zWErz(@I?$dDmyIN;^I+edN>R5MGzk#u;eBUco4W# zd@ub{VMY8LZA5UZqiMQksO|>|qKNb<*kW+auw9Wx$t19dEy0SuWhNb}Sz2<;aL;I+ zKjE}fOkmRba_`d*iy}_Uk1U6Zn6RY&kHZDs7b!{1jiI7~R2|uIt2uY)kjlrcvLiB{ zp5GZfcGS{|dQKtI#wsA(8F5H9p_TS_Jj^0)4tOhg6I5wmDe4qalKKYU3R* zJ67NELBW2J_t{LGgU`>c)ad|hHYq$@+<9%|aOY&EzbjDnuVrJtc4!>5n=j%PS z^`G|NCRC1+t?$F{&PrDm-@p?6L8J_;%ZLtW&i-v10Z>J$`nD^@^{k9v4%!PML_$@O znOs~SFDEZA=kJa}su7F^yp)H!a@eSfZ#r&f_~TILkF$GKresQ({TI2gHwhypsEzW( z-alp+1d3LGahV*BvceIXc#? z<7!P*q~kD!@p5W_Tq0}c7|%pM{g)BeA`2wI zy-l+gWj_9(V5jxE2`|m`CFyf<0rQSfERTGD*#3>s2n3s*R!mMI0{+^-mldr() zUI~r0wnuZYtjCYZQGtXW81cE+qP}nwtdDn_Uyw(+`G}y|DZd%Iy37lesEw#DlRj= z&U*osC_jy1-CL~MVz+@D8}Bh*dP;I2pHjt&N>w*z3^nAO=>e822N1`dT0?8>asd4~ z?1J?fF)jh(ig*! z4dfV@Z~j;oF(KJ@+gRDD%RG%svP;`TkQsP)ekt*s&;mIFcVt0s(s;^~gv;DtjfiBj z%;kG>xOaA($~!3lvnWt83NAjTrEpYn8;~X@l1(;hStX7}Zfebg^V&8Q>wsZZsmld>Z61>=J z!5YwXfGZPWsyeXaikFBMFh0}89YR=XnOcR`apy~#XunD%h|(MCnDv6}Ww|?t9Pqu8 z-4lEY4-AubLmG5f@MmjFCq}xYzg~gAiaJHPBKik8Uk!8zy!pEQWDV2zYmAa57_Nzf z1H{L{AE+*wW(CU~XOdY#tYM2NDJGPO!6iQY5kA(QTa~Z3(?;hlmMcO*pvaT3@p+(f zje78}CBuqCJUo_W+l#cNusUZ-MVJ-$Tw5$E%8V7!fmz`6s^{5G1UdEah|-#jQW8)<;m z$bz)b5)7~qG%s2jqzs#Y=W5}X1MvmQC=kR=pVOhIBovKeCF z_!;|<2~l=J@IR&%tS2gxM;YCSDZ-RKdF_t{rlUwtngCn?NXuPT$z#s?6S&UhSEek; zj_RS{#P-cgS#61!S_Hm_w%;mKv(1;9;EeKT*K^gSjj`q&=>^6p3iWPlg8v+L91@7X zU|3>9iM=XUK=1Xofjy|jkCDpiCfnF7W?5*kc)pSD&M(%82Cxmt33GvH) zfAs!&;?(^H`+av!Br{XT8j|r=1TKuCP9CG9LZK_2J$4>g0J3SC zUZpi=YE8gQ@+0{n%#Edn9CK1)0}-~mRze60ipQ)WeZeFa)d=k0d5}a9eL0*yb7~VO zSm4?hF}n(mAjrnVAPPe!vqer&kU~-fJScinTn45Tt-V8^(SYlSI76!$qZ}D{F99L4 zhyQenJ@o8Ai7?^Gek0l4XH2vZa|*bI&K>M#+J$wtapZ!|O;F3D1lEv7FCX(%ARG*&qsI9Loh69esz%DUoLQ9ntIqemD^%oXM2W)^g+9Kq6fUy$gT)s|Il3 zZqa}=$Lkcps;jVq!Gc`mBe@3p3~SDbijc2flR>F$h>wyKhYncN5+pcPO*_;tM)dQp zumGLFR;nFB)XMD1N@c$4|L29$=)OTHf?-j)O+Zu~eMl)m2hFr>!~!Yz>0jk0?zqVN z$%tuFVP3W5LV<%hMG&*v1oio%kF}Do&+PhjdGFi+5JazCFzZtXmrWxsSKO~8qSQ$Q zY3ar{NiiKBiYF$@Tc~VvmDW?j$(tO`05LQmE~Gn`i<`m3NQ6kqjibJ3d}`e_P_%WC z=&AG})hu(Sc#2g|AYQ16!>Vr6Nox6Fki;zOpVB#%85j&XY#yQuK7UlEyGuVBRggfz zKvXckneg|lwBi$W(~5(tq)w)y6DG>EK-K!MfD<+;4^3tE0Z1IS9IJUpr>hxNGx=D! z%Mgf3qnoy3^ie}(?Fz}fx#Trjxn=#Wz-TjYq@etZ-)Gj*aoJIxWFd3tK!I8Pg5SA0 z9psVb@+C20;3@rpO&q|DTLLNC>j<7Yw^tOFoR6hWGgsPp0JxOKC!C0ux6y@nnh?$s zV4!903)~4d=-EJNG!`?|ANgrn8RSH;(>d*;hn=l9Gx|CP$$mhwRtc1hi<#7Ca>60? z`YALX$$EcsQ(J`l{YuuHeZ3vezmUs7!blo~+Np*|A|d8cK|@8-h1;fCq02tz8Ey@b zymlZcBG%_xytrKs+E-(G3e_A!B~oAW(N+pBk^tlSUGcxJlX$w(0|G6K4}`Z(_tez$ zPLhz!_*8+xtU($F_JQqOX_zwBsiD9 z@F8IYXv0BBKS-~g4z`7Ne->vLB=TxqDKNCYlC2_{XPI|$u^6QcsCR0cDehKHAlc9R&93$rR+@8Nr1 z<*}{ceb8i$!WxdX{f+`8U&Z~>cS@?D#SjLs| zzzRlr#rT&!4>PontigN|X2a?Pob#fbqfYi~5c3<;y(8|2BOvo9CZKKmT>k5Z5ZLC< z@+}pGT+^Px=NNTO6T%|7n5x;fnp>k?cqXJEoFC~at#@IxO3LRVn@c^LH|1uxMu2G$ z9(26`X*ZSG(R(KT$(R~0&7?%&0_hwrDIM8x6LHamz^hX%;DVwdsj&q@-|_DLyQ__V z`p5m{=izH-Yhw%E?#KS+2O!5D`0i=3X#>JsDOb@Ls{4u^&$Af~EXZKE z4&irTlq60<%~5P2_8aC7J8N|w+@8rR87b+dqW%L@{UnsdnV9{i4MIQ+#SE&vE*nKs zI7%()getI1i4luP274h0TbIv$K>I9FE2~0^eiL)6>2!dx9X^QtXo%F07(2Y23^9;9 z!^vJv??NWGUml2p^ADu8UFw;-Tc!Fr6NKkIhkNxtK{CvYkRp*pH@)q55Wy#tWfbmJ zxqXEl|4n^`!8(b-ZK#c1*=92(Y5G>eYkxnY7)aag_hvw@-{25Ytf2lDW|)nFH$rAQ zBx-ZGoH;<@8w1J1YSC=WlcCjslzVi(Vq|Gbk`4oln0l8(>d^b#rDznULnYTgAMu;* zJGjHX-S6EXE-Gi&`O*=5+$YdO!ick&mTQ>W+kij-iysSDe~Ir8bqo-ePcYVJ1{k4J z#??Ai+0xw0KGR6RTE8qA;I1zkrx<;QXS$qNS>|)NivUEQGY=l~9;;TISKLmc7(o#` zZc2r;ioivo)C{F+&0rz{qoktQw&Q*7zLNPBBkN|_1oNa;zFgB^_)Id1nW7L~q1FJ0dx)SAj!xAp)kOyosuzpci8BtwUL(A?& zL-7UDUm)bj(LHlo_2daPjrfokdoq}gmGaC-WSQoIY8N+LN)2oyEBIU%aHZFUw_Rt@ z(y+L$3LDgskjpuAOanZYnyY20Fx&7xhE!Z2^c^!;!6B$;>v1s-7C7?Q?eF`LQ^FoL z6ocBnFZh(Z?_+WP)2r9h)Ltg)lM|0&1(NFMp`u~o7!14?Jg*Myh3jxN@OMj!0baik z?{KJk@nzcZ1lsvnTCDZYTRpNqZa!bGk<5OUo1=fK-H;!5JtAuMzu$-9fH}VhU=s^V z`t-R>wJZbJhs3)3LM0UJmK*R!`qRFJb<#+jOWa!>ES}X^SW6R~r1dD`+`0ww!}0*i zW>_#_-0S5t`zZb&C=8jWXCTI-+-ogL68MyCTj7Ox*XlqZ&e55R!}1{7rg=C@CsCwh zvqfIKcJlgp$0Qi0Rr!ya9;i+p>fs=A8^tVELHCQr{35uH0|r#Ch_I)`_5~7x9>*Kd zOwJdBQ2TX*H>FHHevgBQuaAf+BMGRUC5@#7y|VIWdM1NEw`l~(h>@K1F0i{Wys>&x zNZk|9NXoX1h&KV~3i6c5!TpzOi`VYh&pZWfsZt&T@7iq8D7Pt=Z29NTP7^guuTRpe zXJ5IO?>O}OcugXqLBpezG;WmxC`09ix9^S!7(7&n8!0?m;ogxUH5Ejxys?sIkMA{` zO8bCZ!e@`5@SC3-<$cW$%vlF1t8${X(*O}2keUo5QZwiXd|>K3L(cZ4Phui$(2H5x z@~bYsfpHG!rRX_w8I0=I3c52`qd}Q%t3^%rqns-!_uF=AusE`T80DRvNX&s#R8;a8 ztDal;rJb&?RTnrUZ);QMUs+gfgT?wW#=>ieTVVa>C{Xx_(J+7J3=QnbIp~Jma+JBZ z@ee=GbZgCShMh@c7J|fZJ95JG`jJ&6G2ImW#tpgwqwhrj| zGJ_K`S`Pd?WPz?j$_7yf&EPt>$aA2BQ%%z2sh<7>Y9T}B%+Vr(a`iUb)w;)HZ54&A z)Cm4`(?z|6BF9ohLwWc^o*k}1cL_Uyx{PV{FKGLboR&WL!+<+-{=pR{Ca#vI0mmXb zA=IZSa95!iECj3=SK!2VaBC*%JUhA-ke0pSIo{rg9ajl2EC%DP=6@Ol@mo*H% z9BUNT)Anby_AtO{C585`5%b4kaNGwTj9Wkk(X`9uw;%dzTd2Q);-~M2t#8Wj;_|Ea z=i~kE^J^Q6qu01{ui#h@RK{neZcWR}g`#YfBfbbZZg&TGu45`Hpw=ViPGViL6s)3` zJ_T-}<#rr;5cbOWEe3_TLdh77tec+HYZ?l+=;nq>0(gg^(JSZrB3@Ie4bPGPr6f}B ztU<-?!kL3&<~xvH%^Szg6UOWdskZ&mC6+Mc^{7mEZ?Eoe2(JzNuosWMpS}<`Cf%_u z-kyAKT~^3~e27Q-BtEa`f;ogizk>ugUM20-T9oz@lY%c)C=R(3)g;%eqOrd@ch16f zVa`qj#AzPWePipfZ4Bf@EI}cBN+?BR(Zxa z3J`cvt(tl-PapL-J5^oEb$Yaji+uYgEm zQ!>od;_^u>24LkfE!-d^TtxVo5`{jO#vZ_%=J-S$A%WqV>1SaV!(csLdGs@4bEKKz z_Zp#yh~bB+Eq;DJn{Zr;l4qfdfJBi%@3_H&hFN&iVTS>O6Bv3~y7;c58r4XakAB9q z9a)1h5lB&bRs3whql}b<*6C}P1YHdDlG$6$V#M%krQ{Ua0Qk9^?rsr zzNJ)Lqt1fOKRhW-@|dZ$j#V8#uRCtG@k-$eT#K%%Yt-@U46jf6hrHY8SW8?Z=lfwz z)X@_wu&i)=jlLzyZwb0=tySJfEblLr`~i!*w$~!{KI63e%N`~^;c{@if6Mf_8SuaZ z<28Id?->dsPZHP|l%g;`74o+2_s;XU3L+w<^;OWt+;*s) zxM~>>6-F+QiwT4~iyPbKTzK<6@9ye5YS{H`S*$TYLKe^PmwUca2#+u9<`_Pil zqBP`bdm}R8&h9)$R{PH38f7VUkjZyOGl zy;}102oRzs=2z{J7^@3?<8u4oB4hCN5LYCTCx3miy<^>!)<-5ZkOd&IT+{6A3NyMOTiJF2TY zE!lDj`7fqR@ZXFK6L%vM`~PDv_GswXVRs?=tkn^qU?f0`LVD@}9dHTM7P0{1kk?TQF`$&ZC9q%I$;U6oyPwEe_Fj zHFD78M894voBQ1wvq$2+sII0bOEgPfZ>>&rafd2UCzB(4s?|+AsB+s-xeT_La#AN; zmT}QycI)`tP_5pPqBq5At}Iw1lx?X#U0t6oEMi%btnQrnjBo6CaTW;_c};_n!8LKy z*Tp6oa*-<2`m5okX9P8*&-mLE6|G5k8ws9w@_K}iX{!}&&5a)Oi!p36`!G|6a#V0g zEEJ;}aE6w!5$pbciWBJ~$<&IoC}qsZ zt^#E@mFTlJVTe?AHIRi_sm8p(IQ~Cs{!!D9ADZ1xk7h6^1KB7E)$yo0FEp z{OYQm??n2c4syZkgZ@($)tYGB!?;_IyZ{AFU1&OhC2sBNt}!LhOflpzfLRXgp4*i+ zL7QOre*yaz`{@#^R-W}Sb{!=LT9Kj78q_h!*_pt)*F&e4nW6OrpY08(kIp{9DUf60|DZ zu@-RbxqQ^PzljWU!kbzrq05+WjA6V2M9()_#}wCJg{Z+n-fwQwqi$xq#<_6$g(+lX z)Xac3fY+rW%5WG$6L9C83jCXlA7rzx!h$70~TDtet6<|Hd{g6h7QC>8~RNTdue4XYpnJ4&>Q}FcYR{8Z+R?WBMg( zBrvKPTN$M9?gua`2_R?{LM4P7pT2U=bsS*gE^>BRfg6dYI)&NZJDnP@eI4-I4-y!C zvsIxZ2p36Tz!FpQu%K!%fP5PScJ2cjmk5v<7>ZiBsto`&b*xO*(Wnr~c#2pMk^tkJ z&1a%Ji-If^u{w1K6= zw%_Q-!^O`oM5jigS%)h#S9GIg#}fAh)k-~5UELUyIUlIOoqy9139<<+0|-{U*qYU$4F%}fqa&9n9-NTl7-tIgfB;+90M2j@ zAAbQ-kC(biU;5qh{X79|NeyP&J8Dg>-}1`y^GHOU^;8)FI&kW1vtb ziBTWt4UD%3KL{>iuSPJXpN0$q)&Nkj5kZD^C~(%mG7ueZcjDO%01OWeB(_=TQo0UK zn7ssW1ocR7zSv~EY6mY|E&WZiNu7?IT@Av1`mh@=NHQhkC6m>V2i;&f-*2M700zHz zp}K}+p>{Aw?9=qclvtmlaU1Idbr`tpS~mll=0(v4TBA zwEp3ikLqW9UZeEtpbFj*Twg_<9x(rkGM?B_yD>l$t5NYd(5*i}XJ=ctw^Zu`jK?H0 zG~=LAGi5pRBodW0Y_ft4Ghp4OZwZcV$V_Ts1Tqn3>bnf$#|>$x?5>v<^R*# zt+DH?Co;9QmDdIluw>ue!KK#N&FU(%^rtU1>Q>L|>^B0kqaLx9_?J&dhcy5Q0`ix+47FSKhyFGW4^9=>dU2I zSgXc@Oju`7Ezb^2eZPySOH`t>u95gCuHcFir5H~Enz$DnPMb5|*(ErWZ)o|E$|p5d zk&Wbq+S+^*Af)9E=k1HmuVlNRPZykB04iYmruNTm#pjwOaa+j!7okr@|EqvXJR;~z zRXkQ;At8Wm@9*6#C-zaBhrZ2>cE>hAVTVZ|Q#EFx8Yh9Gp zV;L~|WR8t$f2okoK$|*RRT~@-fL6rCXmNLTN2$gx3<0|xkczpFee*LPLX1HJ*pH)i zoE#Zr`%W0R#FyN|(}4Vzm3f^ZK)@S36}&`jX8H2rLK9r*oe-G8g_xFJ) zFysCc1TI(!&GZ!LbHjeWYn52vrauG6Ywn*Q_q4{b1h<3nW0wFJj%|5+N7qRl91bt+ z2-KcaY~4&-3lzKbx1>Aj4toYy=h}(>XLQY5q>pA+4M>nXr%%PDwW>>p_}YS~o8~>j z1=2nus?;Bb&5eMWuX%dDa@$>Tj3RJaoH=Q@oQ}Y(CpO#+BCmcqKIu7n{(S~^4T2I4 z^}MsUu%AafOfHJ+ zsNSgtMYT0*H6T*d_qo}NqOR$9#?m+sE_xc?1KR4G`5JVXYUAGI;Dz`f#<(WG zJ1Kk8Ip&`cm#^TUi7bhfdU8_i?Ebzm4T*f?cnlFwcPiIsAM!=q_15&c^_a^PS#g>l z!y;y z($gdLYXuFrF8x6NcXc>MAx%R71pp942mpZiAB|k57ADrl|4ZfG(eSd{8b|!q%QGAx zK*&g1ZS@ueZlStxy6OUOz#`#n4zW?7b|hsimB4eu)RJAA+s*Kap9=GyD1gro1dN!< z+3@%}ZP878j}1QPOjMm1iYMtJq9-+=PWXp6D)7aNndaJSASp?aQ8Gw#ors#X@Esft&+eKD^i?ZGgfvW9Hf{dnKKSQ{^64J7bO%^ES4NL zPBatuAnC}4(r|2j415poAA96^{w8)LcAScEtJRR>2at|Cwi<+BDkW}l(5+9r4(F9} z8khsmZ>bVF)$9evp-wQyX4*Ts_tv29E4~2~3kv}wVrSdT<+PnYc7 zDAJc4HA*x--Z|kEM2yDXYg8grOlf4=0cO?vLz%mFL^J-)7SXDoIirRof-TK7LO9j* zcjNQ%PhB&Yq0r*7oUng>W*`s=5}@`HOCNfqX+<%I&wXI`ndZ#x-`8V!ElOxcey&81 zT&PU@j#7^f&do_3&)`(xKyo2unSlMcse0H^J_J+HbHggT`RwG_+0sw9uUl$4QhNrj=T; zfJ&N(hjeT~uXWk}1))Zo!(JqlK+J&J#OM^SkhOeHfvL{3W zh=v|`Ik0qdERjH8JTG>3_7hn)xNUPp3?pczn7qi4R~2`ohvepZo!gX?UP9||%DHA1 z84<}t*3Wn0VQ9&(ycSHl<<_Xi>48zxYtp*4K(^aJ$OU^T&|AEkLRD#n%eWV>&$f;1 zc=F?GU0cB9CSkT_r8eug;Byn~<6zP9Ab_e&_J$DL(8g4u9@RtT?OZ#*s1vXSGn_(Kfd?4B5Buj2kGGq{ z>&vFcsH!M-{9WL0vzC?z+sdP(jp?kRxw1Q6#uv}AsAN$EV_P1_ym8vE_WN?-$1m-L z^E^`nrVl18UP3dAN+r#Vp;xp(P9;ov)!n18Bco}!F?jN{rrD$9Cke4a5rYz|;31NEpX^kg z<{O@3Z$t36Es>Y!nK&nLr;HGUG) z+$avF5^G!@my++2jJUEE_GpDmDue*nhN*i^@{r;YsZ3Q;Ds}-f0APBl4j|%J&BZAp z!DBD*m-ZK4U|-7+cLc8fP-h-@+W5N)qN)ns-$%p()#qtu3zawihQSpo1Cd>HQTRhX zgmGvK_8;dr-`_nb4G`E9iG>kXjH8JOMjE zH{wK_>SL75vk0KRgANMnlJUfRdp{#;Z$;cN2j({{{9^++CTB)hKe*ox@2$C&Ay}o3 zVa=5uR|@%Vd$#f-2Y}efwL2Ee#xga#zK-FXb36hCMU>2xo5sJv8k%!Q8uU6KO;k)$ zZAOppA?TNrXb>T%UVxNZQ><)}2F#^_GagMRxs1RFFH^&0b&|Pv<}S-a4bLR(H=j;$8Qzo4 zWy^}K4y=sQL_SO zN7>;85w^zE)^~Lk^WKr84k37M@zm-B%4$9Q8f9T znx-wP`3*MaP4o-hu?C?sC)MAE;mZ87E7MPeid5;bGJEWbD<{1H+~-+ zJ;R$Wz&caqFke8=DQ)Gse>;B$I`?HNEO20U1+D{Eu6R}d)@2CT(r9Y1Y6(Z6*=U6A z`_!E-V(&B$63!THzcNC?FM4} zkIH)e`u5jwuqUoLMkuPBKlOD32I;VD=sSU0;Y_T+EkEfmLsu*wXTfVPX)ZHH1wb`6 zoCJsO**Mp`IroZ2-$Hjv2Y*^eS@w0$gR{N)P3|x5>mJ^H zD@|`U_a!r%jpw=iQQ$TvoifOymeS&tB;PfgJ_BzTm>(zR*w$8volM4Z==I7op*b>F z3WA7ZhN1-M&H`CmoGs~}vz;L`3Em+~RN|pqTs5|&U+FoL2caAU9VuW-#4V@Yb4)>oUZctZgs?&S}}m3tNC#ZEsps5Jmx=Y>oA*F zXkOiXAob-cx;{g1HaLA+?HLUv3oi5`RC8HRXkHQROTn9Q@Q48iN3z+{faxmw8?Hsq zRh@Zop4D7KGD)vsXYS&5pv-H*5Yc)C7K>HFX5aiD=>J_#hE??y`2qs~g#Qy9|C0c0 zYGG|+Z|CIvub@m(9fb0%}heEk=BbH8!(jA@pNX|YskRL8C-M$&Xz$Pg`iUx8@#(w6Amuwo?G(JlN6<` z1!2jp2D|$Dsl;Z{lc#_@o82qS^s#h<2H~h88UaPi1I^Z;BmqKB?5= z?Uw_izxHs{-YTRs;j^WL0%<^>-XjK=3cQAGJ_0Uhb+HkYgc~qhjj|6k0MIXj9+MyN!%(1T$!%RK+F@Z28}FyLc3pCfVxEBxR6QXr1r4 zmZpvJfx<7^4TrG&+wkdyKvILV$9b<>S_uQm1GL61)a{dfFrqOaRlpd6ZB_SYvDE6o z%hFVl)6y?C3`)^ws>!)n7kZ;~O2k4zgx^&MRikMaRH9>WIgo^dh=-Mhx~wQDGz!|> zP0y|kk}G$@As`6Q!|@NEuZv>&xW>CVK7Eibk8hTrfeVb#_fk4BxF)?IKVPy9VogRc z*cUJ>r0NapeNwNSFM;7cH;8VFU}Q}X*t`-L=dV;0S8js>T$Sq_;LMjHKwPGEB<1ml z!T}=d?uAkwyADUtS8l~y!??{ec5sp4yerX{M_SZ4c{D^Hzc=yZyqeBtd!LD!v-AvnG;2^YcVC2&V}2 z-r+5AfVXY8dmqPKH$*Aejr%$>4+2AZcNY2$nWlQ30aL$($y zM2wo;E8fUi`k&L$9`PrLmu7EkC>+|-9T5AukYybG_4Z+RMqjrToR&K;JCIZ22e0!& zU%)30f~dE9$3)|yLqhcBWmbr9#FnC}O9STHJ>*_Jzc~(C)c(bF;%)z#&-R@^95_4F zmkFl%NtlR+d-+{Qj{P)xIsN2&{}0&BZMv17hXw$ECiidu$M5fd;T<*xwgzSlSX}DHa zwD>e%Up880PV$y#PD!ik$&qOV=bQ{+LH~@wO4LGUm*#(ABgP^j0fiG6vI2X_VS%}Zcp^EFr3&>!Y@RaA_MZ*Wi|GX z`B7Ht_F8Y1>dZf~k6e3gw2bX9bhUQy>LSeRT~u{;REXzZ{`k+IgpT=o{Bmh9vV(J> zoTxfb?l?4e%8D_$Ctqh-y)Cz?maH-?T3Vp@H|b%kW{K8(iPO87f$u%8u{Un9V%wZP z%ar6w%3YUyWicB;)D#XGjbWj!ILHN&{smKTT}AM zC9v5=V$rS2p&Lp`K=&>+I0lDHm*tTqLE58MvvjBEOy011CtuUdT^hn?bLYv>(dnM? z_k3;X`T73tfKHnv%GHqwD5YdG!IqYQgktdcLtDM(kKbo}*1DwVO{oDJCQ`nOwH(m& z>yz7Ye?qkJp=j>0T#w2o(e_We#oXNOD<20;pdWguLLNc_M%njLY)<*YD;0>gQO9%m zv>;kh0@+qsc=ZMj-v%MY@DN2QYi@1-h}$O`2F3mJ)*z*<5YLv$8t8ON?(cHFKkv& zo(_QFKQ_kQr7q0b9`pForzv2&S+$4as;f%7v9RZ5_fnbY*|7ILcpY8mM2duS$Ab?1 zcSgt3A482|A;ELuGgV~4SPq_a5>n*f;0t(oE3E+!{XK1X&F=I^JMiize zs^{W7-)ZqG3c9^FEAfG_0c`+N&%6JX9l@TnxQAXt!-Z+C0muc{(NGT^q9IWYB2KG0 zKivG{p~2=XN^<%y*b{E%_jBrp-Y>rsD>0ygB-(>Gj;}A~-yV`0Cpd3XqgqyLA{Os2 zs|o3z2wjTB={OE>Bb7N&Yms_}v$?H~7Z}VgAVy{RGH^x9bZmF4YhBz zYfI}k(gHNnRZkY9kE%+(g|(m@*riY{xNd)9DXOjL^~bh_34;^-S`i_N=>>D`G&J-R z5QrhXePhDY9iGL>8V1&?E`cqV9j6=HB)(g7gBhXl548xZH(^2~XP(?TF1!*5xlBM7 zHHr2S{R7W_&{#?*kWJ4IYWjL7*fFCPCs{9{BL`P-nFPCm%?NXU=Zg(&BK`&ZF0eVY zIU%i5Kdy4fKrayRfY0mzvS~yt$1k))!TkERM8hq2F%#aVo-JVRbPCBG_&()|rCRZe z=G4<0rd;;SkR*QDDD%6>VlL0W;|ONVsv$@x&61bbzH$20uh=j4&ym5r+22n@AYV>w zp~9!A)pDoLwJE> zc!K=y>ij#rRhsInG@;0-SMitUGr~2qa=H{}<%*a9l~)b;VF9Pe{}tA2En= z%RPTH3Gmx{{;A>Hba7y1h_q-$&yToM0Pu4+UHeT3?#3#idD+AUY(f`qF6C zw4EQMK@%8R_z8^1Hvhc>E9ATyIsYYl1Z1y@lvkwkgob}gX;&avGtszQ&mV)BU1Wy| z^_Lcg^*T`4NucTY<^@-aZnZp|MnTh*8J0`hiU(TMF@VWIyioY4Ae(F|+9Fy#v5b(D z$0+s@Z)W)M@E^^%I`9jwNj$C^@!zx>)ZK^19F87)z;(wue@jt;U`uFda_ zg>yh0p|0vo*6n?Yc@brtvWplX?2Vt%PhifSh_&_&eSxC!B~O&|GV$p;_C7 zTGVsmeE$X#tZpDxOj1y{A`uh>9lUXV^QZ@?b8-FdVDi;C!JsnaE)ti%Ig53t-!0!h zup59-41a-Nh;|80KdT~V4U9kVxoV9Jqwyob%%;=rSB+s>*pCP7r_R{dhP-Zzoc#)L z$j}RG`DM)jTVP=<4B@Z;0_WAZ3?5$PDi!*_?rVL&ImIic3E?k)*aPsJHYkw%rRIS) zG~VcV4A$JC9o}YXxy|YV$P7M!!qQ`f&Xudc$<@MqBuVLG0_s_N*nPLZxOHm>@(KL4QILaX}l`5QG@Wj4%E zYs_6~c4p%Hayd8(;d217f2{K|7$_8%Q6fwZOkF>CmzuQbxV!4{y?YvTm_L1Yuz`$+(tBXg8!BqWnq~9epXI9d=2tUR>e$D6kIs~{Jh+St`3spf zK(}b^ti^6eVZ)8C*t_Evvj7f<(@p1oc_%~$y_JL-nzmPTz4E|#hOrVx zXK6J;I6C@CUsT5*;S}Q519h}m`lx~+&ToSgjZt_JgAD)UObCHt+~Z)7f>;0x@?h@7 z$zS4I)F{g)r9jM2@$3e%DgN_F>1>P~d}I;opu%P0A;m2UG+ubu9a!~})lu*c5+vfdbFjWTcW&v6t|ycN?E; z8rCoqgIDMdOJg`*A3L0v0+{6Wc$m;lB_=gsmB6A`ks*9QylGKA#P&xMjNN-WBac>0oT4&?ht_^~p6mMdHv1fKIHlzQ&Sun1pNK9a5ZYiE;{A^9 z`#Wg(YYSg>d;E#;8)0eGmuwSbOcK;cM*fDeLSG10%@r}{gyOGz?7zD-p^xa-?)+us(-GSAxCAnlaMf;z73jp zZk{Hd31SQvV9UUCx-JkUs$O8^-c<3Y|Dp!@YeUCq$lK{9cdTgUeNuprXXcdoVOT(| zlq||bp+;8j9o*j*YIXmyD7;_acNt5P0R7l^iBCM{MBK4C#af}l#*unm$*ab*G|8SFH2aaMJAOy{^e zcEw+1I5$auA-O+1YqQhqecNZHZDEgdB0WtU?{p}7atC6Vkph=@c=h_IG?G1W(*ntp z1tk-4N?isNIssu(!|rb(#G4~o1eD;5WN$Kk1KId76v$vRhL9sMOX7;p7dFFMV2gRX z`v95<_5<33JwFiW;dbpR^^Ke*ut?l}9Wx?=(;B6Y@VE%1MSgN#)!vAe?20ccU zk{vZL@zZbUoZ0=prhM%JkOO;~lyf1C71cemgPR5$Slh{s!UrdBn6lj+%x`#55qN5?>g6x>elM#G)&7YU4TJWqu{0e-`5B(uc;#LmKs zu;SDDI*iyayd3--8_0nN&taI;bNP&5NA2(C^5|gsk;~dUb)fX8T4~54wQ#_mBEB|m z))hZw1{^Ik=W$|pfCppQtlG1E59B3CDumCUMoKxp6^1*CBuHd{78~oqD_~s=fFr(f zALw%^eUds!q6A@K9GE)@2G8i&o571sf&jKOT2m03wc1gqo-UxFvj4@X`TXigGyP3! zE{B}Gj(vtG<&bQc#R+{$U&1p+G~Y~*UwR3J-kQ3x`FWP;y87o4`O2uBLGp(DH|ZPl zC#pX^MW4~v{oNq*>JBG98WeNWXvaD>Sgg8RiMx2%_aD$!nyX3Jb|gf3jmQn1evE!) zrtpB1sbTnrtWnVWCL7wli9=Mpr&`*7b|&p5BnyzA!X_z~nb~Z>?hwX!Ah38LdO5g~ zyKgcB;*+p4LASp;=u&hO{Tda$ZNQ77by+|krkd7Livnpuk1WK1q?@KrCfTsd+R1Uo zTC@gn#HEOBna;cm(Q;#lXbwkEbYv5kps+fL5B=f^qqe)VZ-NY zweCCFgmB;;o@XXV<~DuGasT4ImYZ->^thm(-X9O$96BNMSmIA>#YF1IwANmG9ii45 z(u+Dw`VPe&ui^%Nk63NQFmKp`sKWKtI`?C9;21kkVgZX=Bl7G3I$&Kcbx+}It@N_u zb5AJX8$xr9qw&uziTpim-e#;>hFp(DBt&7BQh zCSGXthVE;q19oitu``lvvnlavh+uRVNNla3J$UH0@kcXw*mawoF9p$|g^J|u;ki8= zFr%`{`2)6me+^r>UUM7n5TcbPUIu}zC#UsNnq0p1H79Bm>A27hP+~tNi3O8^z`qi^>OLj! z!Mz!$6Q!yw?aj`UhspyaqD#o!%w1K*_qt;tg;Pn5%<~t42b#b7TdOOoO)DFeBb<}o zi|tG%50n!jm~xB6A;hCZwx$J<4VEHUjC^ebDxzet>8%D#j`nvch= zZy4*odnr)(z2f5uU)zx0_xrGRjQ5!9>~;S9xb=O9q*hr*hA|cH^rD)y?uDDfV8FI9 z+-`(0xVfa;W)SPtQRN&`TEF+|WdAbdq6{DONO&1Cj@p8m)tp%;uO3H4e!5;O(ZwSc z|1snC{oAdoEMspqsdO9uEj|xOFS+;m+BKnYtrP9PR56|TgkWygqwLSY?i};?{KRJ3#-^jLb1A~h47iD;7ExU&5z76JJryuSy zDw!l>ieinwT_SX_pyQQjXUS2_TEM3cAm>5M)4TSkBaziRqiJYRC-^&^sY9?hVZ}6x zw03}m6<|`~+}Ix&*~F6hjA-k)MF3weWPfPykD2WeOo*yeOvstx)HW=*pw?RR;FRd3 z&K#3sqmnO+t>TA_+?SeCje}r(rH2<1a;)Fs59wL$P(dXu(> z$08PB@`n=?TmkCTazoa>O^he)mx)DB_BEpdr5v_SKtCI>)=5gip_yy~q}{M7q;s-w zZx&qm(~|_77x~)fTf2E@X5WX!!qe+quI7tg9USsfRzJd1DKD1H;!y#4|0YkPMu0AN zW@w#E<5z&?_3BO+=>Uh@R!?ECVI{5wr#aUBt@Loe8tUISp{IP8Zf2Ti4BYE-hK>cF zOuA1(gC-a&ub+GMD4+oP3-B!(XQXGCtY=JA;B?G_l4L?izK$c=jBI&AYa=hk4iGm4 z9zC{FK68ypcwpxgUh4q-ul8O<@6to^o;Cs&eDcH|TL zde4igqSZ_^X|8UTM5To+~+q@W+EcHah<}gvg z=TS#(JbSDCj8+z|0fzb{Py{bcR)?3o=lq^>R*FFVX*dDakV;4Wn^vhtb61opy_}Pm zDh{v3C3=%w^Je+w==K)$Px6XR#hp;O&yYt($LWak=_LWvE?id>mECx-`V31bqjmlM z4C;775Tt+NVXCdFQd#1vNGL3=aTC`3)}QNX77tTY_eD3dG>pS^p~ z=f`}!jrbM0#@GIvW1ro>K5+V#@N=SCqT1tIPIrUKhnpT-e{s_3QKpB5ml6*0GDwc# zhfhC$`In#eLZ>+!XY#as8~#C{NCNW$8u8cmTZ%nu+@dLI&|yTDOnh*Z4C@no=IzP~ zRW*_V@og1Deo`oNDy)~)QL>C z35`snO~bRi7uhhYd7m55{fq59)-6s*I~OF@i{y(Ebn^bSd;9dYUwYz-dPf3&D}|j- z&PsM?GiTxWib9y>{xmz$Hh0soh=KCHmV}{c$f4O{kq4&HG?Tu?k9@IFv#Ds1X7`Y8 z!bIe{>Ajh7t-WYE{#d`z*jU=-oz8^w4);eJukv-c<(fSWWKzP^9&Zipw0TL|-K?Fs z6A7M1-)6LtWL+4|00+!neBdymeL?n8rp0QtsbIb>i}$({&jAf=5t)gbxu}WL<%A<0 zuZT+FU0)FIsdR>*7s-m~=#6=f_od?lM}{+{`L8-%Ekc!+Gq{mbuI9gYmf?g1%TdNR zzN=rKFZ;lIeFmq-dUQ+K3MmBhqU?F}qH69%k^`bMLB{m@L0VPqh)3}9SqU|^cqgvVA^Kt)%`{agFWQ;or_i�~Eu-aN|;MRK_Itgl8Ie#jAH|!5l-*cN7;V3W6 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 Date: Mon, 21 Oct 2024 20:44:03 +0000 Subject: [PATCH 03/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2074bac..2537947 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Connector Version: 2.2.11 Product Vendor: AWS Product Name: Inspector Product Version Supported (regex): ".\*" -Minimum Product Version: 5.2.0 +Minimum Product Version: 6.2.2 This app integrates with AWS Inspector to perform security assessment actions From d19629251c43a581ce5e7e5b07f673b2763cfbce Mon Sep 17 00:00:00 2001 From: Mike Nordby Date: Wed, 23 Oct 2024 10:33:39 -0600 Subject: [PATCH 04/10] PAPP-34886 re-trigger sanity tests --- manual_readme_content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manual_readme_content.md b/manual_readme_content.md index 552f7a7..a10d230 100644 --- a/manual_readme_content.md +++ b/manual_readme_content.md @@ -1,5 +1,5 @@ [comment]: # " File: README.md" -[comment]: # " Copyright (c) 2019-2022 Splunk Inc." +[comment]: # " Copyright (c) 2019-2024 Splunk Inc." [comment]: # "" [comment]: # "Licensed under the Apache License, Version 2.0 (the 'License');" [comment]: # "you may not use this file except in compliance with the License." From 8f41edd1b75281a2d1b937ab923275e30788e91d Mon Sep 17 00:00:00 2001 From: splunk-soar-connectors-admin Date: Wed, 23 Oct 2024 16:34:17 +0000 Subject: [PATCH 05/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2537947..3d0ce7c 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Minimum Product Version: 6.2.2 This app integrates with AWS Inspector to perform security assessment actions [comment]: # " File: README.md" -[comment]: # " Copyright (c) 2019-2022 Splunk Inc." +[comment]: # " Copyright (c) 2019-2024 Splunk Inc." [comment]: # "" [comment]: # "Licensed under the Apache License, Version 2.0 (the 'License');" [comment]: # "you may not use this file except in compliance with the License." From a6ca7173fbedd21f227044a6d8ff5dc2c25e4c7a Mon Sep 17 00:00:00 2001 From: Mike Nordby Date: Tue, 29 Oct 2024 09:37:52 -0600 Subject: [PATCH 06/10] PAPP-34886 re-trigger CI From 3f91958f07dd08cc134b6cef03880711e997a470 Mon Sep 17 00:00:00 2001 From: Mike Nordby Date: Tue, 29 Oct 2024 16:36:11 -0600 Subject: [PATCH 07/10] PAPP-34886 Add release notes --- release_notes/unreleased.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release_notes/unreleased.md b/release_notes/unreleased.md index fbcb2fd..3fdbd0f 100644 --- a/release_notes/unreleased.md +++ b/release_notes/unreleased.md @@ -1 +1,3 @@ **Unreleased** + +* Update urllib3 library due to vulnerability, pre-commit updates [PAPP-34886] \ No newline at end of file From b4c308cb881c620b30ec6aa7f012628cb1d408bd Mon Sep 17 00:00:00 2001 From: Mike Nordby Date: Thu, 21 Nov 2024 15:27:24 -0700 Subject: [PATCH 08/10] PAPP-34886 re-trigger CI with new AWS instance From 4b756562aefc7de193989da021b16d76a8dc7fed Mon Sep 17 00:00:00 2001 From: Mike Nordby Date: Fri, 22 Nov 2024 14:59:52 -0700 Subject: [PATCH 09/10] PAPP-34886 update min_phantom_version --- awsinspector.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awsinspector.json b/awsinspector.json index 96d580d..9e0d528 100644 --- a/awsinspector.json +++ b/awsinspector.json @@ -14,7 +14,7 @@ "utctime_updated": "2022-01-07T21:56:46.000000Z", "package_name": "phantom_awsinspector", "main_module": "awsinspector_connector.py", - "min_phantom_version": "6.2.2", + "min_phantom_version": "6.3.0", "fips_compliant": true, "latest_tested_versions": [ "Cloud tested on July 29th, 2021" From 4532c2e16e72f477b6260e0326bec1b92295348d Mon Sep 17 00:00:00 2001 From: splunk-soar-connectors-admin Date: Fri, 22 Nov 2024 22:01:21 +0000 Subject: [PATCH 10/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d0ce7c..2cab158 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Connector Version: 2.2.11 Product Vendor: AWS Product Name: Inspector Product Version Supported (regex): ".\*" -Minimum Product Version: 6.2.2 +Minimum Product Version: 6.3.0 This app integrates with AWS Inspector to perform security assessment actions