nccgroup/ScoutSuite

Improve error handling across all resources

Open

#873 ouverte le 23 sept. 2020

Voir sur GitHub
 (2 commentaires) (0 réactions) (1 assigné)Python (978 forks)batch import
component-provider-alibabacomponent-provider-awscomponent-provider-azurecomponent-provider-gcpcomponent-provider-ocienhancementgood first issue

Métriques du dépôt

Stars
 (5 904 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

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))

Guide contributeur