mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-03-22 03:08:23 +00:00
fix(sdk): scope scan_id by provider and account (#10184)
This commit is contained in:
@@ -57,14 +57,16 @@ class OCSF(Output):
|
||||
if not findings:
|
||||
return
|
||||
|
||||
scan_ids_by_provider = {}
|
||||
scan_ids_by_provider_account = {}
|
||||
for finding in findings:
|
||||
provider = finding.metadata.Provider
|
||||
if provider not in scan_ids_by_provider:
|
||||
scan_ids_by_provider[provider] = _uuid7_from_timestamp(
|
||||
account_uid = finding.account_uid
|
||||
scan_key = (provider, account_uid)
|
||||
if scan_key not in scan_ids_by_provider_account:
|
||||
scan_ids_by_provider_account[scan_key] = _uuid7_from_timestamp(
|
||||
finding.timestamp
|
||||
)
|
||||
scan_id = scan_ids_by_provider[provider]
|
||||
scan_id = scan_ids_by_provider_account[scan_key]
|
||||
finding_activity = ActivityID.Create
|
||||
cloud_account_type = self.get_account_type_id_by_provider(
|
||||
finding.metadata.Provider
|
||||
|
||||
@@ -123,11 +123,11 @@ class TestOCSF:
|
||||
1619600000, tz=timezone.utc
|
||||
)
|
||||
|
||||
def test_scan_id_is_unique_per_provider(self):
|
||||
def test_scan_id_is_unique_per_provider_and_account(self):
|
||||
findings = [
|
||||
generate_finding_output(provider="aws"),
|
||||
generate_finding_output(provider="azure"),
|
||||
generate_finding_output(provider="aws"),
|
||||
generate_finding_output(provider="aws", account_uid="111111111111"),
|
||||
generate_finding_output(provider="aws", account_uid="222222222222"),
|
||||
generate_finding_output(provider="aws", account_uid="111111111111"),
|
||||
]
|
||||
|
||||
ocsf = OCSF(findings)
|
||||
|
||||
Reference in New Issue
Block a user