Skip to content

feat(aws): add elbv2_listener_pqc_tls_enabled security check - #11254

Merged
HugoPBrito merged 2 commits into
masterfrom
feat/elbv2-listener-pqc-tls-enabled
Jul 15, 2026
Merged

feat(aws): add elbv2_listener_pqc_tls_enabled security check#11254
HugoPBrito merged 2 commits into
masterfrom
feat/elbv2-listener-pqc-tls-enabled

Conversation

@HugoPBrito

@HugoPBrito HugoPBrito commented May 20, 2026

Copy link
Copy Markdown
Member

Context

"Harvest now, decrypt later" attacks capture TLS-encrypted traffic today with the intent to decrypt it once a cryptographically relevant quantum computer becomes available. Without post-quantum (PQ) TLS policies on ELBv2 listeners, sensitive data, credentials, and session tokens passing through load balancers are vulnerable to this forward-looking threat. AWS has published the ELBSecurityPolicy-TLS13-*-PQ-2025-09 policy family that adds hybrid key exchange (ML-KEM 768 + classical ECDHE), but the existing Prowler check elbv2_insecure_ssl_ciphers folds PQ policies into its generic "secure" allowlist without surfacing PQ readiness as a distinct signal.

Description

This check evaluates every ELBv2 HTTPS (ALB) or TLS (NLB) listener's SslPolicy against a configurable allowlist of post-quantum TLS policies. A load balancer passes when all its HTTPS/TLS listeners use a PQ policy from the approved set, and fails when any listener uses a policy outside that set — including modern but classical-only policies like ELBSecurityPolicy-TLS13-1-2-2021-06. HTTP listeners and non-TLS NLB listeners are skipped (no TLS termination). The PQ allowlist is configurable via elbv2_listener_pqc_tls_allowed_policies in aws_audit_config to accommodate future AWS policy releases. Remediation is to switch affected listeners to ELBSecurityPolicy-TLS13-1-2-PQ-2025-09 or another approved PQ policy.

Steps to review

  1. Review the check implementation at prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/
  2. Review the metadata file for correct severity, remediation, and compliance mappings
  3. Review compliance framework mappings in prowler/compliance/aws/ to ensure the check is correctly mapped to relevant requirements
  4. Run the check tests: poetry run pytest tests/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/ -v
  5. Run the check against a real environment (if possible):
    prowler aws --check elbv2_listener_pqc_tls_enabled

Checklist

Community Checklist
  • This feature/issue is listed in here or roadmap.prowler.com
  • Is it assigned to me, if not, request it via the issue/feature in here or Prowler Community Slack

SDK/CLI

  • Are there new checks included in this PR? Yes
    • If so, do we need to update permissions for the provider? Please review this carefully.

License

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Summary by CodeRabbit

  • New Features
    • Added an AWS check to verify that ELBv2 HTTPS and TLS listeners use approved post-quantum TLS security policies.
    • Added configurable allowlists for permitted post-quantum TLS policies.
    • Added documentation and remediation guidance for the new check.
  • Bug Fixes
    • Improved handling of listener discovery failures to avoid producing misleading findings.

@github-actions github-actions Bot added documentation provider/aws Issues/PRs related with the AWS provider compliance Issues/PRs related with the Compliance Frameworks metadata-review labels May 20, 2026
@mintlify

mintlify Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
prowler 🟢 Ready View Preview May 20, 2026, 11:49 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@github-actions

github-actions Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

No Conflicts

No conflict markers, and the branch merges cleanly into its base.

@github-actions

github-actions Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

✅ All required changelog fragments are present.

@github-actions

github-actions Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

Compliance Mapping Review

This PR adds new checks. Please verify that they have been mapped to the relevant compliance framework requirements.

New checks already mapped in this PR

  • elbv2_listener_pqc_tls_enabled (aws): aws_well_architected_framework_security_pillar_aws, ccc_aws, ens_rd2022_aws, fedramp_moderate_revision_4_aws, ffiec_aws, gxp_21_cfr_part_11_aws, iso27001_2013_aws, kisa_isms_p_2023_aws, kisa_isms_p_2023_korean_aws, nist_800_171_revision_2_aws, nist_800_53_revision_5_aws, rbi_cyber_security_framework_aws, secnumcloud_3.2_aws

Use the no-compliance-check label to skip this check.

@codecov

codecov Bot commented May 20, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.73684% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 11.30%. Comparing base (bd72ec9) to head (4f20e60).
⚠️ Report is 8 commits behind head on master.

❗ There is a different number of reports uploaded between BASE (bd72ec9) and HEAD (4f20e60). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (bd72ec9) HEAD (4f20e60)
api 1 0
Additional details and impacted files
@@             Coverage Diff             @@
##           master   #11254       +/-   ##
===========================================
- Coverage   93.99%   11.30%   -82.70%     
===========================================
  Files         267     1012      +745     
  Lines       39781    35925     -3856     
===========================================
- Hits        37391     4060    -33331     
- Misses       2390    31865    +29475     
Flag Coverage Δ
api ?
prowler-py3.10-aws 6.36% <94.59%> (?)
prowler-py3.10-config 11.30% <94.73%> (?)
prowler-py3.10-external 10.38% <92.10%> (?)
prowler-py3.11-aws 6.36% <94.59%> (?)
prowler-py3.11-config 11.29% <94.73%> (?)
prowler-py3.11-external 10.38% <92.10%> (?)
prowler-py3.12-aws 6.36% <94.59%> (?)
prowler-py3.12-config 11.29% <94.73%> (?)
prowler-py3.12-external 10.38% <92.10%> (?)
prowler-py3.13-aws 6.35% <94.59%> (?)
prowler-py3.13-config 11.29% <94.73%> (?)
prowler-py3.13-external 10.37% <92.10%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
prowler 11.20% <94.73%> (∅)
api ∅ <ø> (∅)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

🔒 Container Security Scan

Image: prowler:4111a03
Last scan: 2026-07-15 11:36:14 UTC

✅ No Vulnerabilities Detected

The container image passed all security checks. No known CVEs were found.

📋 Resources:

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a configurable AWS ELBv2 check for post-quantum TLS policies, listener-discovery failure tracking, check metadata, configuration schema and defaults, documentation, changelog content, and comprehensive ALB/NLB tests.

Changes

ELBv2 PQ TLS compliance

Layer / File(s) Summary
PQ TLS configuration contract
prowler/config/schema/aws.py, prowler/config/config.yaml, tests/config/*, docs/user-guide/cli/tutorials/configuration_file.mdx
Adds the optional allowed-policy list, default policy values, schema validation, configuration fixtures, expected configuration data, and CLI documentation.
Listener discovery state
prowler/providers/aws/services/elbv2/elbv2_service.py
Records listener discovery failures and error details on ELBv2 load balancer models.
PQ TLS check implementation
prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/*, prowler/changelog.d/*
Evaluates HTTPS/TLS listener SslPolicy values against configured or default PQ policies and adds check metadata, remediation examples, and changelog content.
Compliance scenario coverage
tests/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/*
Tests ALB and NLB pass/fail cases, custom allowlists, missing policies, multiple listeners, and listener discovery failures.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ELBv2Service
  participant PQTLSCheck
  participant AWSConfig
  participant CheckReportAWS
  ELBv2Service->>PQTLSCheck: provide load balancers and listeners
  PQTLSCheck->>AWSConfig: read allowed PQ TLS policies
  PQTLSCheck->>CheckReportAWS: emit PASS or FAIL finding
Loading

Possibly related PRs

  • prowler-cloud/prowler#11518: Provides related provider-schema validation and configuration-loading plumbing used by the new policy-list configuration.

Suggested reviewers: pedrooot

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly names the new AWS ELBv2 PQ TLS security check and matches the main change.
Description check ✅ Passed The description includes Context, Description, Steps to review, Checklist, and License sections with enough detail.
Docstring Coverage ✅ Passed Docstring coverage is 80.65% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/elbv2-listener-pqc-tls-enabled

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

🔒 Container Security Scan

Image: prowler-api:d3a248a
Last scan: 2026-07-14 10:28:14 UTC

✅ No Vulnerabilities Detected

The container image passed all security checks. No known CVEs were found.

📋 Resources:

@HugoPBrito
HugoPBrito force-pushed the feat/elbv2-listener-pqc-tls-enabled branch from 541d266 to b753d90 Compare July 14, 2026 10:30
@HugoPBrito
HugoPBrito marked this pull request as ready for review July 14, 2026 11:43
@HugoPBrito
HugoPBrito requested a review from a team as a code owner July 14, 2026 11:43
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 14, 2026
Comment thread prowler/config/config.yaml

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.py`:
- Around line 59-83: Update the report handling in the listener evaluation flow
so every load balancer produces exactly one PASS or FAIL report. In the
lb.listener_discovery_failed branch, replace the MANUAL status with an
appropriate FAIL status while preserving the failure details and append
behavior. For load balancers with no TLS listeners, set an appropriate PASS
status and clear status_extended, append the report, then continue without
creating a second report.

In
`@tests/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled_test.py`:
- Around line 302-345: Add a new FAIL test alongside
test_listener_with_classical_tls_policy_fail and
test_listener_with_legacy_policy_fail that creates an HTTPS listener with an
empty SslPolicy, executes the check, and asserts status_extended identifies the
listener with “uses <none>”. Preserve the existing result, resource, and region
assertions as appropriate for this fallback case.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 68b61c16-6ce7-43a8-8998-bb5543e78e3b

📥 Commits

Reviewing files that changed from the base of the PR and between b753d90 and b2d5b24.

⛔ Files ignored due to path filters (13)
  • prowler/compliance/aws/aws_well_architected_framework_security_pillar_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ccc_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ens_rd2022_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/fedramp_moderate_revision_4_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ffiec_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/gxp_21_cfr_part_11_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/iso27001_2013_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/kisa_isms_p_2023_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/kisa_isms_p_2023_korean_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/nist_800_171_revision_2_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/nist_800_53_revision_5_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/rbi_cyber_security_framework_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/secnumcloud_3.2_aws.json is excluded by !prowler/compliance/**/*.json
📒 Files selected for processing (12)
  • docs/user-guide/cli/tutorials/configuration_file.mdx
  • prowler/changelog.d/elbv2-listener-pqc-tls-enabled.added.md
  • prowler/config/config.yaml
  • prowler/config/schema/aws.py
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/__init__.py
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.metadata.json
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.py
  • prowler/providers/aws/services/elbv2/elbv2_service.py
  • tests/config/config_test.py
  • tests/config/fixtures/config.yaml
  • tests/config/schema/aws_schema_test.py
  • tests/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled_test.py

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.py`:
- Around line 7-19: Update the PQ_TLS_POLICIES_DEFAULT allowlist to include
ELBSecurityPolicy-TLS13-1-0-PQ-2025-09 and
ELBSecurityPolicy-TLS13-1-0-FIPS-PQ-2025-09, preserving the existing policy
entries and ordering convention.

In
`@tests/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled_test.py`:
- Around line 108-169: Merge _mock_and_execute_with_audit_config into
_mock_and_execute by adding an optional audit_config=None parameter and passing
it through to both set_mocked_aws_provider calls. Update all callers of
_mock_and_execute_with_audit_config to call _mock_and_execute(audit_config=...),
then remove the duplicate helper.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 120d753e-e480-4084-b430-d8742c3cd00a

📥 Commits

Reviewing files that changed from the base of the PR and between b2d5b24 and aadd1a6.

⛔ Files ignored due to path filters (13)
  • prowler/compliance/aws/aws_well_architected_framework_security_pillar_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ccc_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ens_rd2022_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/fedramp_moderate_revision_4_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ffiec_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/gxp_21_cfr_part_11_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/iso27001_2013_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/kisa_isms_p_2023_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/kisa_isms_p_2023_korean_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/nist_800_171_revision_2_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/nist_800_53_revision_5_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/rbi_cyber_security_framework_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/secnumcloud_3.2_aws.json is excluded by !prowler/compliance/**/*.json
📒 Files selected for processing (12)
  • docs/user-guide/cli/tutorials/configuration_file.mdx
  • prowler/changelog.d/elbv2-listener-pqc-tls-enabled.added.md
  • prowler/config/config.yaml
  • prowler/config/schema/aws.py
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/__init__.py
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.metadata.json
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.py
  • prowler/providers/aws/services/elbv2/elbv2_service.py
  • tests/config/config_test.py
  • tests/config/fixtures/config.yaml
  • tests/config/schema/aws_schema_test.py
  • tests/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled_test.py

@HugoPBrito
HugoPBrito force-pushed the feat/elbv2-listener-pqc-tls-enabled branch from aadd1a6 to 105c491 Compare July 15, 2026 08:05

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/config/schema/aws_schema_test.py`:
- Around line 179-205: Rename the test class
Test_AWS_ELBv2_PQC_TLS_Allowed_Policies to TestAWSELBv2PQCTLSAllowedPolicies,
preserving all existing test methods and behavior.

In
`@tests/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled_test.py`:
- Around line 531-573: Add a test alongside
test_tls_listener_with_pq_policy_pass and
test_tls_listener_with_non_pq_policy_fail that creates an NLB with only a TCP
listener, executes _mock_and_execute, and asserts PASS with the expected “no
HTTPS/TLS listeners” status message. Also verify the result identifies my-nlb
and its load balancer ARN.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c5f7c746-c329-4b3e-92ed-c15d84c76a0f

📥 Commits

Reviewing files that changed from the base of the PR and between aadd1a6 and 105c491.

⛔ Files ignored due to path filters (13)
  • prowler/compliance/aws/aws_well_architected_framework_security_pillar_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ccc_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ens_rd2022_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/fedramp_moderate_revision_4_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ffiec_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/gxp_21_cfr_part_11_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/iso27001_2013_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/kisa_isms_p_2023_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/kisa_isms_p_2023_korean_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/nist_800_171_revision_2_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/nist_800_53_revision_5_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/rbi_cyber_security_framework_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/secnumcloud_3.2_aws.json is excluded by !prowler/compliance/**/*.json
📒 Files selected for processing (12)
  • docs/user-guide/cli/tutorials/configuration_file.mdx
  • prowler/changelog.d/elbv2-listener-pqc-tls-enabled.added.md
  • prowler/config/config.yaml
  • prowler/config/schema/aws.py
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/__init__.py
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.metadata.json
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.py
  • prowler/providers/aws/services/elbv2/elbv2_service.py
  • tests/config/config_test.py
  • tests/config/fixtures/config.yaml
  • tests/config/schema/aws_schema_test.py
  • tests/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled_test.py

Comment thread tests/config/schema/aws_schema_test.py Outdated
- Add configurable post-quantum TLS policy validation

- Emit one PASS or FAIL report per load balancer

- Add config schema coverage and SDK tests
Comment thread prowler/providers/aws/services/elbv2/elbv2_service.py Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.metadata.json`:
- Line 30: Update the remediation text in the metadata entry to reference the
configured allowed PQ policy names or allowlist rather than the entire
ELBSecurityPolicy-TLS13-*-PQ-2025-09 family. Ensure the guidance only recommends
policies accepted by the default allowlist and preserves the existing migration
and periodic-review intent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 18cbcbe6-596c-4fbd-9660-0990eeb1e2d7

📥 Commits

Reviewing files that changed from the base of the PR and between 105c491 and 4f20e60.

⛔ Files ignored due to path filters (13)
  • prowler/compliance/aws/aws_well_architected_framework_security_pillar_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ccc_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ens_rd2022_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/fedramp_moderate_revision_4_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/ffiec_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/gxp_21_cfr_part_11_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/iso27001_2013_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/kisa_isms_p_2023_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/kisa_isms_p_2023_korean_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/nist_800_171_revision_2_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/nist_800_53_revision_5_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/rbi_cyber_security_framework_aws.json is excluded by !prowler/compliance/**/*.json
  • prowler/compliance/aws/secnumcloud_3.2_aws.json is excluded by !prowler/compliance/**/*.json
📒 Files selected for processing (12)
  • docs/user-guide/cli/tutorials/configuration_file.mdx
  • prowler/changelog.d/elbv2-listener-pqc-tls-enabled.added.md
  • prowler/config/config.yaml
  • prowler/config/schema/aws.py
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/__init__.py
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.metadata.json
  • prowler/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled.py
  • prowler/providers/aws/services/elbv2/elbv2_service.py
  • tests/config/config_test.py
  • tests/config/fixtures/config.yaml
  • tests/config/schema/aws_schema_test.py
  • tests/providers/aws/services/elbv2/elbv2_listener_pqc_tls_enabled/elbv2_listener_pqc_tls_enabled_test.py

@danibarranqueroo danibarranqueroo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job! 🚀

@HugoPBrito
HugoPBrito merged commit 8e9af70 into master Jul 15, 2026
43 of 44 checks passed
@HugoPBrito
HugoPBrito deleted the feat/elbv2-listener-pqc-tls-enabled branch July 15, 2026 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

compliance Issues/PRs related with the Compliance Frameworks documentation metadata-review new-check provider/aws Issues/PRs related with the AWS provider

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants