feat(compliance): add Cyber Essentials 3.3 for Azure#11588
Conversation
Adds a new universal compliance framework mapping all 28 sub-requirements across the five Cyber Essentials themes (Firewalls, Secure Configuration, Security Update Management, User Access Control, Malware Protection) to existing Azure checks where automatable, with manual/non-applicable attributes for requirements outside cloud scope.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
📝 WalkthroughWalkthroughAdds a ChangesNCSC Cyber Essentials 3.3 Azure Framework
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related issues
Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
✅ Conflict Markers Resolved All conflict markers have been successfully resolved in this pull request. |
Context
Related to #11579.
NCSC Cyber Essentials is the UK government-backed cybersecurity certification scheme. There is currently no Cyber Essentials coverage for Azure in Prowler.
I noticed PR #11586 also proposes a Cyber Essentials framework for Azure, using the legacy provider-specific schema (
prowler/compliance/azure/...json, v3.1). This PR offers an alternative implementation using the universal compliance schema (the schema recommended for new frameworks per the Security Compliance Framework guide), targeting the current Cyber Essentials version (3.3, April 2026). Posting this so maintainers can compare approaches and pick whichever fits best — happy to close this if #11586 is preferred, or to adjust based on feedback.Description
Adds
prowler/compliance/cyber_essentials.json, a new universal compliance framework covering NCSC Cyber Essentials: Requirements for IT Infrastructure v3.3.Theme,AssessmentStatus(Automated/Manual),CloudApplicability(full/partial/non-applicable),RemediationProcedure, andReferencesattributes.AssessmentStatus: "Manual"/CloudApplicability: "non-applicable", per the framework spec requirement that every requirement be present even when no check can automate it.outputsconfig groups byThemeand includes a PDF chart summarizing compliance by theme.Adds
tests/lib/check/universal_compliance_models_test.py::TestCyberEssentialsFrameworkcovering schema validity, provider support, theme coverage, unique requirement IDs, and attribute/enum consistency.Adds a CHANGELOG.md entry under
### 🚀 Added.Steps to review
uv run pytest -q tests/lib/check/universal_compliance_models_test.py -k cyber_essentials— runs the new tests.uv run python prowler-cli.py azure --list-compliance— confirmscyber_essentialsis discovered.uv run python prowler-cli.py azure --list-compliance-requirements cyber_essentials— lists all 28 requirements with descriptions and check mappings.Checklist
SDK/CLI
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
Tests