Skip to content

Support for prowler scan #12449

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 33 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
c41e01d
Add Prowler parser with test mode and multi-format support
cosmel-dojo May 14, 2025
32c9f52
Add test files and StringIO-based tests for Prowler parser
cosmel-dojo May 14, 2025
ba379f3
Ensure all Prowler parser tests pass correctly
cosmel-dojo May 14, 2025
36e2c34
Fixed linter errors.
cosmel-dojo May 14, 2025
7b8acf2
Add missing fie proweler.md
cosmel-dojo May 15, 2025
654d006
Fixed faling test
cosmel-dojo May 15, 2025
b8aadd9
Fixed linter errors.
cosmel-dojo May 15, 2025
64a7eae
Refactor Prowler parser to address feedback
cosmel-dojo May 19, 2025
581a50e
Fixed linter errors
cosmel-dojo May 19, 2025
4981aac
refactor(prowler): Remove special test handling and fix linting issues
cosmel-dojo May 20, 2025
6a48c58
Fixed linter error
cosmel-dojo May 20, 2025
f79f782
Refactored Prowler parser to remove test-specific handling
cosmel-dojo May 21, 2025
b7a41f7
Fixed linter errors.
cosmel-dojo May 21, 2025
3ac7de2
Refactor ProwlerParser to improve error handling and remove redundant…
cosmel-dojo Jun 3, 2025
6c4e41b
Update test file names in ProwlerStringIOParser tests Set file_conten…
cosmel-dojo Jun 3, 2025
828d0ca
Refactor ProwlerParser for improved functionality and error handling
cosmel-dojo Jun 5, 2025
80fbc90
Enhance ProwlerParser tests for improved validation of findings
cosmel-dojo Jun 5, 2025
43d383a
Removed unnecessary comments and added a brief description instead.
cosmel-dojo Jun 6, 2025
68e3c12
Adjusted the test to look for remediation data when provided.
cosmel-dojo Jun 6, 2025
8ac3c08
Removed the duplicate assertion for AWS cloud provider in the test file.
cosmel-dojo Jun 6, 2025
5f87212
Remove examples for the 4 different cloud providers from the Prowler …
cosmel-dojo Jun 8, 2025
00dd41f
Add official Prowler AWS CSV example (example_output_aws.csv)
cosmel-dojo Jun 9, 2025
3ef88e2
Add official Prowler Azure CSV example (example_output_azure.csv)
cosmel-dojo Jun 9, 2025
c72fcb2
Add official Prowler GCP CSV example (example_output_gcp.csv)
cosmel-dojo Jun 9, 2025
0926895
Add official Prowler Kubernetes CSV example (example_output_kubernete…
cosmel-dojo Jun 9, 2025
13fef15
Add official Prowler AWS OCSF JSON example (example_output_aws.ocsf.j…
cosmel-dojo Jun 9, 2025
dc8417e
Add official Prowler Azure OCSF JSON example (example_output_azure.oc…
cosmel-dojo Jun 9, 2025
55644ce
Add official Prowler GCP OCSF JSON example (example_output_gcp.ocsf.j…
cosmel-dojo Jun 9, 2025
01d4133
Add official Prowler Kubernetes OCSF JSON example (example_output_kub…
cosmel-dojo Jun 9, 2025
5dcc040
Update test_prowler_parser.py to use official example files
cosmel-dojo Jun 9, 2025
46d5d33
Enhance check_id extraction logic in ProwlerParser
cosmel-dojo Jun 9, 2025
a4e40a9
Refine cloud provider inference logic in ProwlerParser
cosmel-dojo Jun 11, 2025
82b53b8
Refactor ProwlerParser and update tests for impact and mitigation han…
cosmel-dojo Jun 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions docs/content/en/connecting_your_tools/parsers/file/prowler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
title: "Prowler Scanner"
toc_hide: true
---

## Summary

Prowler is a command-line tool and open-source security tool to perform AWS, Azure, GCP, and Kubernetes security best practices assessments, audits, incident response, continuous monitoring, hardening, and forensics readiness.

## Usage

Prowler file can be imported in CSV or JSON format. The parser supports scans from all four cloud providers: AWS, Azure, GCP, and Kubernetes.

## Data Mapping

| Data From Prowler | Maps to Finding Field |
|-------------------|----------------------|
| CHECK_ID/check_id | vuln_id_from_tool |
| CHECK_TITLE/title | title (combined with CHECK_ID) |
| DESCRIPTION/risk_details | description |
| SEVERITY/severity | severity |
| PROVIDER/provider | tags |
| SERVICE_NAME/service | tags |
| STATUS/status_code | active (FAIL = True) |

## Severity Mapping

Prowler severity levels are mapped as follows:

* critical → Critical
* high → High
* medium → Medium
* low → Low
* informational/info → Info

### Sample Scan Data

Sample Prowler scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/prowler).

To use the Prowler scanner with DefectDojo, follow these steps:

1. Run a Prowler scan against your cloud environment (AWS, Azure, GCP, or Kubernetes)
2. Export the results in CSV or JSON format:

```bash
# For AWS, export as CSV
prowler aws --output csv

# For Azure, export as CSV
prowler azure --output csv

# For GCP, export as CSV
prowler gcp --output csv

# For Kubernetes, export as CSV
prowler kubernetes --output csv

# Alternatively, export as JSON for any platform
prowler aws --output json
```

3. In DefectDojo, select "Prowler Scan" as the scan type when uploading the results

## Data Mapping

The Prowler parser supports both CSV and JSON formats and automatically determines the format when processing a file. It extracts the following data:

| Prowler Field | DefectDojo Field |
|-------------------|------------------------|
| CHECK_ID | vuln_id_from_tool |
| CHECK_TITLE | title (with CHECK_ID) |
| DESCRIPTION | description |
| SEVERITY | severity |
| STATUS | active/inactive |
| PROVIDER | tags |
| SERVICE_NAME | tags |
| RISK | description (appended)|
| REMEDIATION_* | mitigation |

## Severity Mapping

Prowler severity levels are mapped to DefectDojo severity levels as follows:

| Prowler Severity | DefectDojo Severity |
|-------------------|------------------------|
| CRITICAL | Critical |
| HIGH | High |
| MEDIUM | Medium |
| LOW | Low |
| INFORMATIONAL | Info |

## Support

The parser supports:
- All major cloud platforms (AWS, Azure, GCP, and Kubernetes)
- CSV format (comma or semicolon delimiters)
- JSON format (OCSF format)
- Field extraction and validation
- Active/inactive status based on finding status code
Empty file.
Loading