I audited Prowler's 48 IAM che... Note

I audited Prowler's 48 IAM checks against a linter I built, and found a real gap

The author developed a Python tool called iam-lint to scan AWS IAM policy documents for security risks. iam-lint identifies issues like wildcard actions, wildcard resources, unrestricted iam:PassRole, and lack of MFA conditions. It flags critical and high severity risks, as well as medium ones like missing MFA requirements for sensitive actions. The tool is designed to be integrated into CI pipelines with an exit code indicating policy compliance. While developing iam-lint, the author compared its checks against Prowler, a widely used open-source cloud security tool. It was found that Prowler already covered some of iam-lint's checks, making those particular rules redundant. However, a significant gap was identified: Prowler lacked a check for policies that allow sensitive actions without requiring the aws:MultiFactorAuthPresent condition. This distinction is crucial because having MFA enabled at the account level doesn't guarantee that specific critical actions will enforce MFA. The author filed a "New Check Request" with Prowler for this identified gap, proposing a new check named iam_policy_sensitive_actions_require_mfa_condition. This process highlights the value of thoroughly investigating existing tools and contributing to them rather than just building isolated solutions. The proposed check's logic is already implemented and tested within iam-lint.