Skip to content

feat(aws): add apigateway_domain_name_pqc_tls_enabled check#11316

Open
pedrooot wants to merge 1 commit into
masterfrom
feat/apigateway-domain-name-pqc-tls-enabled
Open

feat(aws): add apigateway_domain_name_pqc_tls_enabled check#11316
pedrooot wants to merge 1 commit into
masterfrom
feat/apigateway-domain-name-pqc-tls-enabled

Conversation

@pedrooot
Copy link
Copy Markdown
Member

@pedrooot pedrooot commented May 21, 2026

Context

To mitigate "harvest now, decrypt later" attacks, API Gateway offers enhanced TLS security policies that add hybrid post-quantum (ML-KEM) key exchange for REST API custom domain names. Prowler had no check surfacing whether a custom domain uses one.

Description

Adds the apigateway_domain_name_pqc_tls_enabled check. It evaluates the securityPolicy of every REST API custom domain name against a configurable allowlist (apigateway_pqc_tls_allowed_policies, default: SecurityPolicy_TLS13_1_3_2025_09). The apigateway service is extended to list custom domain names. Severity: low.

Note: API Gateway HTTP and WebSocket APIs only support the legacy TLS_1_2 policy today, so they cannot use post-quantum TLS and are out of scope for this check.

Steps to review

  1. Check implementation: prowler/providers/aws/services/apigateway/apigateway_domain_name_pqc_tls_enabled/
  2. Service change listing custom domain names: prowler/providers/aws/services/apigateway/apigateway_service.py
  3. Run the tests: poetry run pytest tests/providers/aws/services/apigateway/apigateway_domain_name_pqc_tls_enabled/ tests/providers/aws/services/apigateway/apigateway_service_test.py -v
  4. Optionally run against a real environment: prowler aws --check apigateway_domain_name_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
    • Yes, permissions updated: adds apigateway:GET on arn:*:apigateway:*::/domainnames/* to both permissions/prowler-additions-policy.json and the CloudFormation scan-role template, required to read custom domain names.

License

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

@pedrooot pedrooot requested review from a team as code owners May 21, 2026 22:19
@mintlify
Copy link
Copy Markdown
Contributor

mintlify Bot commented May 21, 2026

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

Project Status Preview Updated (UTC)
prowler 🟢 Ready View Preview May 21, 2026, 10:20 PM

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

@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 21, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

✅ All necessary CHANGELOG.md files have been updated.

@github-actions
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

  • apigateway_domain_name_pqc_tls_enabled (aws): aws_well_architected_framework_security_pillar_aws, ccc_aws, csa_ccm_4.0_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.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

Conflict Markers Resolved

All conflict markers have been successfully resolved in this pull request.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 21, 2026

Codecov Report

❌ Patch coverage is 94.59459% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 3.66%. Comparing base (7d03bc5) to head (48256d8).
⚠️ Report is 13 commits behind head on master.

❗ There is a different number of reports uploaded between BASE (7d03bc5) and HEAD (48256d8). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (7d03bc5) HEAD (48256d8)
api 1 0
Additional details and impacted files
@@             Coverage Diff             @@
##           master   #11316       +/-   ##
===========================================
- Coverage   93.97%    3.66%   -90.31%     
===========================================
  Files         237      858      +621     
  Lines       34829    25155     -9674     
===========================================
- Hits        32729      922    -31807     
- Misses       2100    24233    +22133     
Flag Coverage Δ
api ?
prowler-py3.10-aws 3.18% <94.59%> (?)
prowler-py3.10-config 3.66% <94.59%> (?)
prowler-py3.11-aws 3.18% <94.59%> (?)
prowler-py3.11-config 3.66% <94.59%> (?)
prowler-py3.12-aws 3.18% <94.59%> (?)
prowler-py3.12-config 3.66% <94.59%> (?)

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

Components Coverage Δ
prowler 3.66% <94.59%> (∅)
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
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

🔒 Container Security Scan

Image: prowler:5c69b40
Last scan: 2026-05-21 22:33:33 UTC

📊 Vulnerability Summary

Severity Count
🔴 Critical 6
Total 6

5 package(s) affected

⚠️ Action Required

Critical severity vulnerabilities detected. These should be addressed before merging:

  • Review the detailed scan results
  • Update affected packages to patched versions
  • Consider using a different base image if updates are unavailable

📋 Resources:

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.

2 participants