nccgroup/ScoutSuite

Improve error handling across all resources

Open

#873 aperta il 23 set 2020

Vedi su GitHub
 (2 commenti) (0 reazioni) (1 assegnatario)Python (978 fork)batch import
component-provider-alibabacomponent-provider-awscomponent-provider-azurecomponent-provider-gcpcomponent-provider-ocienhancementgood first issue

Metriche repository

Star
 (5904 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Currently, facades implement good exception handling, but resource parsing does not. That means that for a given resource type, if parsing fails for any given resource, the fetch_all method fails and stops, hence not parsing any additional resources.

All resources should be reviewed and updated, to ensure they handle parsing errors.

e.g., for AWS IAM roles (https://github.com/nccgroup/ScoutSuite/blob/master/ScoutSuite/providers/aws/resources/iam/roles.py#L8) the method should be updated as so:

for raw_role in raw_roles:
    try:
        name, resource = self._parse_role(raw_role)
        self[name] = resource
    except Exception as e:
        print_exception('Failed to parse {} resource: {}'.format(self.__class__.__name__, e))

Guida contributor