Cloud security · Offline engineering lab

Cloud Security Posture & IAM Hardening

Python tools for checking synthetic AWS configurations and Terraform plans.

A Python cloud-configuration scanner with AWS-style IAM and infrastructure heuristics, Terraform-plan JSON analysis, SARIF output and repeatable hardened-fixture comparisons.

My contribution
Implemented offline Python configuration checks
Evidence / output
AWS-style and Terraform-shaped findings with 62 tests
Scope
Synthetic inputs; no live cloud assessment
PythonIAMTerraform JSONAWS conceptsSARIFCI

Repository updated · Snapshot checked 6 Nov 2026 (UTC)

15Synthetic AWS-style patterns
10Separate Terraform plan patterns
62Automated tests
01 / CONTEXT

Project context

Configuration reviews need more than a list of best practices. I wanted to turn selected cloud-security concerns into testable code, record the exact rule and affected resource, and avoid claiming certainty where effective permissions or deployment state remain unknown.

02 / EXECUTION

What I did

  • Implemented Python rules for IAM trust and permission patterns, storage access and encryption, network ingress and monitoring coverage.
  • Added a separate Terraform-shaped JSON plan scanner with nested resources and explicit handling for unknown values.
  • Compared intentionally vulnerable and hardened fixtures without modifying live infrastructure.
  • Produced machine-readable SARIF, proposed remediation evidence and CI regression checks.
SYSTEM FLOW

Offline scanning and verification workflow

  1. 01Synthetic configuration fixturesVulnerable and hardened JSON examples
  2. 02Python rule engineIAM, storage, networking and monitoring heuristics
  3. 03Findings and SARIFRule/resource traceability with uncertainty recorded
  4. 04Regression and comparisonRepeatable tests and hardened-fixture comparisons
Synthetic AWS-style inputs and hand-authored Terraform-shaped JSON; no cloud connection or deployed resource changes.
03 / VERIFICATION

Evidence and outcomes

  • Detector implementations and fixture inputs are versioned in the repository.
  • Manual-review entries preserve uncertainty around IAM conditions and provider-computed values.
  • Comparisons and SARIF are reproducible; findings are traceable to rule and resource.

Full documentation and source files are in the public GitHub repository.

TECHNICAL NOTE

Why configuration findings require manual context

Does a pattern match establish that a real cloud resource is exposed?

Method
A deterministic Python scanner examines synthetic AWS-style fields and hand-authored Terraform-plan-shaped JSON. It records the matched rule, resource and requested follow-up evidence.
Observed / documented
Patterns such as wildcard IAM permissions and internet-wide ingress can be surfaced and compared against hardened fixtures without changing infrastructure.
Limits of the evidence
Conditions, SCPs, boundaries, routes and effective permissions are outside parts of the simplified input. These are review prompts, not verified exploitable weaknesses.
Read detector rules and method
04 / LIMITATIONS

Limitations

Scope

Entirely offline and synthetic. The Terraform-shaped inputs were hand-authored; no live AWS assessment or actual remediation was performed. Zero findings is not a compliance or security attestation.

Next project / 03

Web Application Security

CONTACT

Contact

I'm interested in early-career roles in security operations, security engineering and information security.