cloudsplaining
AWS IAM Security Assessment tool that identifies violations of least privilege and generates a risk-prioritized HTML report
What it is and what it does
Cloudsplaining is an AWS IAM security assessment tool that identifies overly permissive IAM policies—specifically actions that lack resource constraints. It flags risky permission patterns including data exfiltration (s3:GetObject, ssm:GetParameter, secretsmanager:GetSecretValue), infrastructure modification, resource exposure, privilege escalation, and credentials exposure. The tool generates an HTML report that prioritizes findings by risk level, making it easy to identify which policies need remediation first.
You can scan a single policy file, all policies in one AWS account, or across multiple accounts. It also identifies IAM roles assumable by AWS compute services (EC2, ECS, EKS, Lambda) that may pose elevated risk if those services are internet-exposed. The tool supports custom exclusion files to filter false positives based on your organization's architecture and multi-account strategy.
Use it for:
- Audit existing IAM policies in production AWS accounts to find permissions that violate least privilege before they cause a breach.
- Scan a policy file during infrastructure-as-code review to catch overly permissive statements before deployment.
- Identify EC2 or Lambda roles that could be exploited if the compute service is compromised or exposed to the internet.
- Generate a prioritized remediation backlog across dozens of AWS accounts by flagging the highest-risk policies first.
- Detect data exfiltration vectors (unrestricted s3:GetObject, secretsmanager:GetSecretValue) in your account's role definitions.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Cloudsplaining scans AWS IAM policies to identify violations of least privilege and generates a risk-prioritized HTML report highlighting dangerous permissions without resource constraints.
Yes. Cloudsplaining is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and solves a concrete security problem—finding least-privilege violations in IAM policies. If you manage AWS accounts and need to audit or improve IAM security posture, this tool directly addresses that need with low install friction and clear, actionable output.
Install
cloudsplaining on PyPI
pip
pip install cloudsplaininguv
uv add cloudsplainingpoetry
poetry add cloudsplainingInstalling cloudsplaining
Before you install
Low friction: pure Python wheel with 8 runtime dependencies (boto3, botocore, click, jinja2, policy-sentry, pyyaml, schema, click-option-group). Actively maintained—last commit 2026-08-11, 2243 GitHub stars, no known vulnerabilities.
License in practice
MIT license (permissive) allows unrestricted use, modification, and distribution in both open and closed-source projects.
Quickstart
pip install cloudsplaining
cloudsplaining scan-policy-file --input-file policy.json
Requires Python >=3.10. For account-wide scanning, AWS credentials must be configured (boto3/botocore will use standard AWS credential chain).
Verify before relying
- Whether the tool can scan multiple AWS accounts in a single run or requires separate invocations per account.
- Performance characteristics when scanning large numbers of policies or accounts.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 8 — boto3, botocore, click, click-option-group, jinja2, policy-sentry, pyyaml, schema |
| Maintenance | actively maintained — 61 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,603,019/month — #2,276 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cloudsplaining-0.9.1-py3-none-any.whl
Keywords: aws, iam, roles, policy, policies, privileges, security
Tags
More Security packages
Provides Python bindings to the FreeDesktop.org…
permissive · top 1,000 on PyPI
msalMSAL for Python handles OAuth2 and OpenID…
permissive · top 1,000 on PyPI
joserfcjoserfc implements JOSE standards (JWS, JWE,…
permissive · top 1,000 on PyPI
AuthlibAuthlib provides a complete implementation of…
permissive · top 1,000 on PyPI
argon2-cffi-bindingsProvides low-level CFFI bindings to the…
permissive · top 1,000 on PyPI
adalADAL for Python authenticates applications with…
permissive · top 1,000 on PyPI
cloudsec-auditAudits AWS cloud security posture by checking…
permissive · top 15,000 on PyPI
policy-sentryPolicy Sentry generates least-privilege AWS IAM…
permissive · top 5,000 on PyPI
py-iam-expandExpands and deobfuscates AWS IAM action…
permissive · top 15,000 on PyPI
policyuniverseParses and analyzes AWS IAM and Resource…
permissive · top 15,000 on PyPI
aws-cdk.aws-iamProvides Python constructs for defining AWS IAM…
permissive · top 15,000 on PyPI
c7n-orgRuns Cloud Custodian policies in parallel…
permissive · top 5,000 on PyPI
c7nCloud Custodian is a rules engine that enforces…
permissive · top 5,000 on PyPI
iamdataProvides programmatic access to AWS IAM service…
permissive · top 15,000 on PyPI
awacsawacs generates AWS IAM policy JSON from Python…
permissive · top 15,000 on PyPI
pulumi-policyDefines and enforces policy rules on cloud…
permissive · top 15,000 on PyPI