HIPAA & SOC2 compliance scanner for AWS — with direct fix mapping to Infrabaseline Terraform modules.
Project description
infrabaseline-audit
HIPAA & SOC2 compliance scanner for AWS.
Scan your account in under 60 seconds. Every failure maps directly to the Terraform module that fixes it.
❌ HIPAA 164.312(b) — CloudTrail enabled + multi-region
Status: FAILING
Issue: Single-region trails only: my-trail
Fix: infrabaseline HIPAA Kit → modules/cloudtrail
var.enable_multi_region_trail = true
Creates a multi-region CloudTrail trail with log file validation.
✅ SOC2 CC6.7 — S3 public access blocked
Status: PASSING
Install
pip install infrabaseline-audit
Requires Python 3.11+ and AWS credentials configured locally.
Usage
# Audit everything (HIPAA + SOC2)
infrabaseline-audit
# HIPAA only
infrabaseline-audit --framework hipaa
# SOC2 only
infrabaseline-audit --framework soc2
# Use a named AWS profile
infrabaseline-audit --profile staging
# Override region
infrabaseline-audit --region us-west-2
# Plain text (no ANSI colour)
infrabaseline-audit --no-color
# Version
infrabaseline-audit --version
What it checks
HIPAA (10 controls)
| Control | Check |
|---|---|
| 164.312(a)(2)(iv) | KMS encryption on RDS |
| 164.312(c)(1) | S3 public access blocked |
| 164.312(b) | CloudTrail enabled + multi-region |
| 164.312(b) | CloudTrail log delivery working |
| 164.312(b) | GuardDuty enabled |
| 164.312(a)(1) | IAM no wildcards |
| 164.312(d) | MFA enforced |
| 164.312(b) | VPC flow logs enabled |
| 164.312(a)(2)(i) | Secrets rotation configured |
| 164.312(a)(2)(iv) | Aurora encryption at rest |
SOC 2 (10 controls)
| Control | Check |
|---|---|
| CC6.1 | IAM least privilege |
| CC6.7 | S3 public access blocked |
| CC7.2 | GuardDuty enabled |
| CC6.3 | MFA enforced |
| CC7.1 | CloudTrail logging |
| CC6.6 | VPC network controls |
| CC9.1 | Backup retention (35 days) |
| CC6.8 | KMS key rotation |
| CC7.3 | Log retention (365 days) |
| CC6.2 | PassRole scoping |
Prerequisites
- AWS credentials configured (
aws configureorAWS_PROFILEset) - IAM permissions: ReadOnly access across CloudTrail, GuardDuty, IAM, KMS, RDS, S3, EC2, SecretsManager, CloudWatch Logs
Fix everything with Infrabaseline
Each failing control maps directly to a production-tested Terraform module:
- HIPAA Kit — $397 — 10 HIPAA controls, 76 resources, tested in us-east-1
- SOC 2 Kit — $497 — 10 SOC2 controls, 49 files across 7 modules
- Bundle — $697 — Both kits
Development
git clone https://github.com/Infrabaseline/infrabaseline-audit
cd infrabaseline-audit
pip install -e ".[dev]"
# Run tests
pytest
# Lint
ruff check .
License
MIT © Infrabaseline
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file infrabaseline_audit-0.1.0.tar.gz.
File metadata
- Download URL: infrabaseline_audit-0.1.0.tar.gz
- Upload date:
- Size: 22.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3aaf09b2c6239661ff683851f6c3c2721e29bf659cb35c8af119baaf502a5c8c
|
|
| MD5 |
b4a0ddaa2d4e1b435ce2d47efb830eaa
|
|
| BLAKE2b-256 |
031e5a2d6998e656c18ae0c26eb34d97df62496b42a3a4e72ec0b8221badd770
|
Provenance
The following attestation bundles were made for infrabaseline_audit-0.1.0.tar.gz:
Publisher:
publish.yml on Infrabaseline/infrabaseline-audit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
infrabaseline_audit-0.1.0.tar.gz -
Subject digest:
3aaf09b2c6239661ff683851f6c3c2721e29bf659cb35c8af119baaf502a5c8c - Sigstore transparency entry: 1174067581
- Sigstore integration time:
-
Permalink:
Infrabaseline/infrabaseline-audit@5e8eebfc7ffc7fa2ef863867a2859fb0d7659f22 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Infrabaseline
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5e8eebfc7ffc7fa2ef863867a2859fb0d7659f22 -
Trigger Event:
push
-
Statement type:
File details
Details for the file infrabaseline_audit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: infrabaseline_audit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 38.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
960363224ce03e6b68bc4c46bf5177f038ed35c10b8e657473fbcaaf2c1b7d89
|
|
| MD5 |
68749efcd2f3871939b64f3bb1f56376
|
|
| BLAKE2b-256 |
9b096b284b0f46b3ae36a5b17a9ddb3fb72559f6911ed52575d2b944c22496f7
|
Provenance
The following attestation bundles were made for infrabaseline_audit-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Infrabaseline/infrabaseline-audit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
infrabaseline_audit-0.1.0-py3-none-any.whl -
Subject digest:
960363224ce03e6b68bc4c46bf5177f038ed35c10b8e657473fbcaaf2c1b7d89 - Sigstore transparency entry: 1174067598
- Sigstore integration time:
-
Permalink:
Infrabaseline/infrabaseline-audit@5e8eebfc7ffc7fa2ef863867a2859fb0d7659f22 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Infrabaseline
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5e8eebfc7ffc7fa2ef863867a2859fb0d7659f22 -
Trigger Event:
push
-
Statement type: