Cloud Security Office Hours Banner

Prowler audit + remediation

Run Prowler against your own account, document every finding, and Terraform the fix for each one. Before/after screenshots are gold.

Walkthrough All Portfolio Projects

ยท ยท Vendor-neutral ยท View source on GitHub

Time: ~4 hours  ยท  Difficulty: Beginner  ยท  Stack: AWS ยท Prowler ยท Terraform

Prowler is the open-source CSPM tool everyone in cloud security has touched at some point. Running it against a real account, walking through every finding, and writing the Terraform that closes each one teaches you what "posture management" actually means in practice โ€” and produces a write-up that demonstrates exactly the work a CSPM analyst does on day one.

๐Ÿ“– On this page

  1. What you'll have at the end
  2. Prerequisites
  3. Step-by-step
  4. What hiring managers look for
  5. Common mistakes
  6. Where to publish
  7. Where next

What you'll have at the end

Prerequisites

Step-by-step

1. Install Prowler

pip install prowler
prowler --version

2. Create read-only credentials for Prowler

Don't run Prowler with admin. Create an IAM user / role with the policy in the Prowler repo's permissions/ directory. Configure a dedicated AWS profile for it.

3. Run the baseline scan

prowler aws --profile prowler-readonly --output-formats html json-ocsf

This produces a comprehensive scan against ~400 checks. Commit the HTML and JSON outputs to your repo as the before snapshot. Don't worry if the report is alarming on first run โ€” that's the point.

4. Triage the findings

Open the HTML report. Group findings into four buckets:

Document each bucket in your README. The triage is the skill being demonstrated.

5. Remediate the real problems

For each "real problem to fix," write the Terraform (or AWS CLI command) that closes it. Examples:

Apply the Terraform. Document each fix with a code snippet in the write-up.

6. Re-run Prowler

Run Prowler again with the same flags. Save the second HTML/JSON as the after snapshot. Commit a diff or summary of which findings flipped from FAIL to PASS.

7. Write the "what I learned" section

Most valuable section of the write-up. What surprised you? Which checks turned out to be more nuanced than they appeared? Did Prowler find anything you'd missed? Did it flag something that turned out to be a false positive?

8. (Optional) Schedule it

For bonus points: package the Prowler run into a GitHub Actions workflow that scans your account weekly and posts the diff as an issue. This is one of the most-asked interview question patterns: "how would you operate this at scale?"

What hiring managers look for

Common mistakes

Where to publish

The full publishing playbook is on the portfolio hub page. The short version: a public GitHub repo with a thorough README is the strongest single signal; pair it with a LinkedIn post and (optionally) a 5-minute lightning talk at a CSOH Friday Zoom.

Where next