Skip to content

Unhandled exception when running multi-account scan #299

@areifert

Description

@areifert

I've been using Cloudsplaining for some time now as part of an automated pipeline, it scans all of our AWS accounts nightly and generates a report. However, with the latest release of Cloudsplaining (0.6.0), I'm seeing the following error:

Traceback (most recent call last):
  File "/home/runner/.local/bin/cloudsplaining", line 8, in <module>
    sys.exit(main())
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/bin/cli.py", line 34, in main
    cloudsplaining()
  File "/usr/lib/python3/dist-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/command/scan_multi_account.py", line 77, in scan_multi_account
    scan_accounts(
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/command/scan_multi_account.py", line 105, in scan_accounts
    results = scan_account(
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/command/scan_multi_account.py", line 179, in scan_account
    results = authorization_details.results
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/scan/authorization_details.py", line 150, in results
    "inline_policies": self.inline_policies,
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/scan/authorization_details.py", line 106, in inline_policies
    results.update(self.role_detail_list.inline_policies_json)
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/scan/role_details.py", line 117, in inline_policies_json
    results.update(role_detail.inline_policies_json)
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/scan/role_details.py", line 309, in inline_policies_json
    policies = {
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/scan/role_details.py", line 310, in <dictcomp>
    policy.policy_id: policy.json_large for policy in self.inline_policies
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/scan/inline_policy.py", line 175, in json_large
    "links": self.getFindingLinks(
  File "/home/runner/.local/lib/python3.10/site-packages/cloudsplaining/scan/inline_policy.py", line 72, in getFindingLinks
    links[
TypeError: list indices must be integers or slices, not str

I'm running Cloudsplaining using a GitHub Actions workflow with the default ubuntu-latest runner, with the following command:

cloudsplaining scan-multi-account \
    --config multi-account-config.yml \
    --exclusions-file exclusions.yml \
    --output-directory results \
    --role-name cloudsplaining-role

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions