S3 bucket without versioning
Part of Architecture & Best Practices, which counts for 15% of the overall score. When this check fires it deducts 4 points from that category, once per scan, no matter how many places it turns up.
What it detects
An aws_s3_bucket has no versioning block and no companion aws_s3_bucket_versioning resource, so an accidental or malicious overwrite cannot be rolled back. This is a structural heuristic and is suppressed when a versioning resource is present.
Why it matters
With versioning off, an overwrite or delete is permanent: there is no prior version to restore after a bad deploy, a buggy script, or a ransomware-style attack. Versioning is the difference between a quick rollback and unrecoverable data loss. This check is a heuristic and is suppressed when a companion aws_s3_bucket_versioning resource is present.
How to fix it
Add an aws_s3_bucket_versioning resource with versioning_configuration status set to "Enabled". Pair it with a lifecycle rule to expire or transition old noncurrent versions so storage cost stays bounded. Enable it on buckets holding state, uploads, or anything you cannot regenerate.
The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing
Does your repo trip this check?
Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.
Scan your repo