Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,10 @@ Findings map to NIST FIPS 203 (ML-KEM), FIPS 204 (ML-DSA), and FIPS 205 (SLH-DSA

| Feature | Description |
|---|---|
| **Misconfiguration Scanner** | Runs 144 Azure security rules across storage, network, identity, database, compute, Key Vault, AKS, Kubernetes workloads, post-quantum cryptography, backup, serverless, private endpoint, and supply chain posture |
| **Misconfiguration Scanner** | Runs 154 Azure security rules across storage, network, identity, database, compute, Key Vault, AKS, Kubernetes workloads, post-quantum cryptography, backup, serverless, private endpoint, supply chain, and governance posture |
| **Compliance Mapper** | Maps findings to CIS Benchmarks, NIST CSF, ISO 27001, and SOC 2 framework JSON files |
| **Scan History API** | Stores scans and findings in PostgreSQL and exposes findings, score, scan history, compliance posture, drift, and resource inventory over REST |
| **Remediation Playbooks** | Every documented rule ships with a matching review-gated remediation script (144 playbooks) |
| **Remediation Playbooks** | Every documented rule ships with a matching review-gated remediation script (154 playbooks) |
| **Security Dashboard** | Full React dashboard deployed on Vercel - live monitoring, findings, compliance, drift, prioritization, and AI-layer views |
| **Project Website** | Documentation and reference site at [owasp.github.io/openshield](https://owasp.github.io/openshield/) - blog, rules gallery, architecture, evidence guides, roadmap, and releases |
| **Sentinel Integration** | Normalises findings and pushes them into Microsoft Sentinel via a Log Analytics custom table and KQL analytics rules |
Expand Down Expand Up @@ -120,11 +120,11 @@ Project policies and assurance evidence:
flowchart TD
A["React Dashboard\nVercel · Live"]
B["Flask REST API\nJWT · CORS · Blueprints"]
C["Scanner Engine\n144 Python rules"]
C["Scanner Engine\n154 Python rules"]
D["Azure Subscription\nScanned via Azure SDK + Graph"]
E["Compliance Framework JSON\nCIS · NIST · ISO 27001 · SOC 2"]
F["PostgreSQL Database\nFindings · Scans"]
G["Azure CLI Playbooks\n144 remediation scripts"]
G["Azure CLI Playbooks\n154 remediation scripts"]
H["sentinel/ingest.py\nNormalise + HMAC upload"]
I["Microsoft Sentinel\nOpenShieldFindings_CL · KQL rules"]

Expand Down
120 changes: 120 additions & 0 deletions compliance/frameworks/cis_azure_benchmark.json
Original file line number Diff line number Diff line change
Expand Up @@ -1734,6 +1734,126 @@
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-001": {
"control_id": "N/A-GOV-001",
"control_name": "Subscription Outside Approved Management Group Hierarchy",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "not_applicable",
"evidence_type": "no_direct_mapping",
"primary_source": "OpenShield compliance mapping pack, authored against CIS Microsoft Azure Foundations Benchmark v2.0.0. Technical-evidence mapping only.",
"rationale": "No numbered control in this mapping pack directly maps to AZ-GOV-001. This rule is excluded from this framework score.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-002": {
"control_id": "N/A-GOV-002",
"control_name": "Required Security Policy Initiative Missing",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "not_applicable",
"evidence_type": "no_direct_mapping",
"primary_source": "OpenShield compliance mapping pack, authored against CIS Microsoft Azure Foundations Benchmark v2.0.0. Technical-evidence mapping only.",
"rationale": "No numbered control in this mapping pack directly maps to AZ-GOV-002. This rule is excluded from this framework score.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-003": {
"control_id": "N/A-GOV-003",
"control_name": "Preventive Policy Uses Non-Enforcing Effect",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "not_applicable",
"evidence_type": "no_direct_mapping",
"primary_source": "OpenShield compliance mapping pack, authored against CIS Microsoft Azure Foundations Benchmark v2.0.0. Technical-evidence mapping only.",
"rationale": "No numbered control in this mapping pack directly maps to AZ-GOV-003. This rule is excluded from this framework score.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-004": {
"control_id": "N/A-GOV-004",
"control_name": "Policy Exemption Missing Governance Metadata",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "not_applicable",
"evidence_type": "no_direct_mapping",
"primary_source": "OpenShield compliance mapping pack, authored against CIS Microsoft Azure Foundations Benchmark v2.0.0. Technical-evidence mapping only.",
"rationale": "No numbered control in this mapping pack directly maps to AZ-GOV-004. This rule is excluded from this framework score.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-005": {
"control_id": "N/A-GOV-005",
"control_name": "Critical Production Resource Missing Deletion Lock",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "not_applicable",
"evidence_type": "no_direct_mapping",
"primary_source": "OpenShield compliance mapping pack, authored against CIS Microsoft Azure Foundations Benchmark v2.0.0. Technical-evidence mapping only.",
"rationale": "No numbered control in this mapping pack directly maps to AZ-GOV-005. This rule is excluded from this framework score.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-006": {
"control_id": "N/A-GOV-006",
"control_name": "Excessive Subscription Owner Assignments",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "not_applicable",
"evidence_type": "no_direct_mapping",
"primary_source": "OpenShield compliance mapping pack, authored against CIS Microsoft Azure Foundations Benchmark v2.0.0. Technical-evidence mapping only.",
"rationale": "No numbered control in this mapping pack directly maps to AZ-GOV-006. This rule is excluded from this framework score.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-007": {
"control_id": "N/A-GOV-007",
"control_name": "Privileged Access Assigned at Broad Scope",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "not_applicable",
"evidence_type": "no_direct_mapping",
"primary_source": "OpenShield compliance mapping pack, authored against CIS Microsoft Azure Foundations Benchmark v2.0.0. Technical-evidence mapping only.",
"rationale": "No numbered control in this mapping pack directly maps to AZ-GOV-007. This rule is excluded from this framework score.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-008": {
"control_id": "N/A-GOV-008",
"control_name": "Undocumented Resource Provider Registered",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "not_applicable",
"evidence_type": "no_direct_mapping",
"primary_source": "OpenShield compliance mapping pack, authored against CIS Microsoft Azure Foundations Benchmark v2.0.0. Technical-evidence mapping only.",
"rationale": "No numbered control in this mapping pack directly maps to AZ-GOV-008. This rule is excluded from this framework score.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-009": {
"control_id": "N/A-GOV-009",
"control_name": "Production Resource Missing Ownership Metadata",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "not_applicable",
"evidence_type": "no_direct_mapping",
"primary_source": "OpenShield compliance mapping pack, authored against CIS Microsoft Azure Foundations Benchmark v2.0.0. Technical-evidence mapping only.",
"rationale": "No numbered control in this mapping pack directly maps to AZ-GOV-009. This rule is excluded from this framework score.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-010": {
"control_id": "N/A-GOV-010",
"control_name": "Security Configuration Drift Exceeds SLA",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "not_applicable",
"evidence_type": "no_direct_mapping",
"primary_source": "OpenShield compliance mapping pack, authored against CIS Microsoft Azure Foundations Benchmark v2.0.0. Technical-evidence mapping only.",
"rationale": "No numbered control in this mapping pack directly maps to AZ-GOV-010. This rule is excluded from this framework score.",
"owner": null,
"review_status": "pending_review",
"review_date": null
}
}
}
120 changes: 120 additions & 0 deletions compliance/frameworks/iso27001.json
Original file line number Diff line number Diff line change
Expand Up @@ -1734,6 +1734,126 @@
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-001": {
"control_id": "A.5.15",
"control_name": "Access control",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "supporting",
"evidence_type": "automated_configuration_scan",
"primary_source": "ISO/IEC 27001:2022, Annex A control A.5.15",
"rationale": "AZ-GOV-001 supplies Azure configuration evidence supporting A.5.15. It does not establish full organizational compliance; policy and process evidence require separate review.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-002": {
"control_id": "A.5.1",
"control_name": "Policies for information security",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "supporting",
"evidence_type": "automated_configuration_scan",
"primary_source": "ISO/IEC 27001:2022, Annex A control A.5.1",
"rationale": "AZ-GOV-002 supplies Azure configuration evidence supporting A.5.1. It does not establish full organizational compliance; policy and process evidence require separate review.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-003": {
"control_id": "A.5.1",
"control_name": "Policies for information security",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "supporting",
"evidence_type": "automated_configuration_scan",
"primary_source": "ISO/IEC 27001:2022, Annex A control A.5.1",
"rationale": "AZ-GOV-003 supplies Azure configuration evidence supporting A.5.1. It does not establish full organizational compliance; policy and process evidence require separate review.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-004": {
"control_id": "A.5.1",
"control_name": "Policies for information security",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "supporting",
"evidence_type": "automated_configuration_scan",
"primary_source": "ISO/IEC 27001:2022, Annex A control A.5.1",
"rationale": "AZ-GOV-004 supplies Azure configuration evidence supporting A.5.1. It does not establish full organizational compliance; policy and process evidence require separate review.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-005": {
"control_id": "A.8.9",
"control_name": "Configuration management",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "supporting",
"evidence_type": "automated_configuration_scan",
"primary_source": "ISO/IEC 27001:2022, Annex A control A.8.9",
"rationale": "AZ-GOV-005 supplies Azure configuration evidence supporting A.8.9. It does not establish full organizational compliance; policy and process evidence require separate review.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-006": {
"control_id": "A.5.18",
"control_name": "Access rights",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "supporting",
"evidence_type": "automated_configuration_scan",
"primary_source": "ISO/IEC 27001:2022, Annex A control A.5.18",
"rationale": "AZ-GOV-006 supplies Azure configuration evidence supporting A.5.18. It does not establish full organizational compliance; policy and process evidence require separate review.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-007": {
"control_id": "A.5.18",
"control_name": "Access rights",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "supporting",
"evidence_type": "automated_configuration_scan",
"primary_source": "ISO/IEC 27001:2022, Annex A control A.5.18",
"rationale": "AZ-GOV-007 supplies Azure configuration evidence supporting A.5.18. It does not establish full organizational compliance; policy and process evidence require separate review.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-008": {
"control_id": "A.5.9",
"control_name": "Inventory of information and other associated assets",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "supporting",
"evidence_type": "automated_configuration_scan",
"primary_source": "ISO/IEC 27001:2022, Annex A control A.5.9",
"rationale": "AZ-GOV-008 supplies Azure configuration evidence supporting A.5.9. It does not establish full organizational compliance; policy and process evidence require separate review.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-009": {
"control_id": "A.5.9",
"control_name": "Inventory of information and other associated assets",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "supporting",
"evidence_type": "automated_configuration_scan",
"primary_source": "ISO/IEC 27001:2022, Annex A control A.5.9",
"rationale": "AZ-GOV-009 supplies Azure configuration evidence supporting A.5.9. It does not establish full organizational compliance; policy and process evidence require separate review.",
"owner": null,
"review_status": "pending_review",
"review_date": null
},
"AZ-GOV-010": {
"control_id": "A.8.8",
"control_name": "Management of technical vulnerabilities",
"description": "OpenShield evaluates this governance control from read-only Azure control-plane evidence and organisation-approved policy inputs.",
"mapping_type": "supporting",
"evidence_type": "automated_configuration_scan",
"primary_source": "ISO/IEC 27001:2022, Annex A control A.8.8",
"rationale": "AZ-GOV-010 supplies Azure configuration evidence supporting A.8.8. It does not establish full organizational compliance; policy and process evidence require separate review.",
"owner": null,
"review_status": "pending_review",
"review_date": null
}
}
}
Loading
Loading