nccgroup/ScoutSuite

Improve error handling across all resources

Open

#873 aberto em 23 de set. de 2020

Ver no GitHub
 (2 comments) (0 reactions) (1 assignee)Python (978 forks)batch import
component-provider-alibabacomponent-provider-awscomponent-provider-azurecomponent-provider-gcpcomponent-provider-ocienhancementgood first issue

Métricas do repositório

Stars
 (5.904 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

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

Guia do colaborador