Add rule AZ‑STOR‑007 — Storage Account Missing Private Endpoint
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 57
- Forks
- 68
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 17
Description
Rule Details
- Rule ID: AZ-STOR-007
- Severity: HIGH
- Category: Storage
- Frameworks: CIS / NIST / ISO 27001 / SOC 2
What does it detect?
This rule detects Azure Storage Accounts that do not have any Private Endpoint connections configured.
A Storage Account without a Private Endpoint remains reachable over the public internet, increasing exposure to unauthorized access, data exfiltration, and network‑based attacks.
Detection logic
- Query Storage Accounts using:
Microsoft.Storage/storageAccounts
-Inspect the property:
properties.privateEndpointConnections
-If:
-
The list is empty, or
-
The property is null, or
* No Private Endpoint connection is in an Approved state
→ return one HIGH severity finding.
- If one or more Private Endpoints exist → return no findings.
Why is this a security risk?
Storage Accounts exposed publicly can be accessed from any network on the internet.
Without Private Endpoints:
-
Traffic does not stay inside the customer’s VNet
-
Attack surface increases significantly
-
Lateral movement becomes easier
-
Compliance frameworks (CIS, NIST, ISO) are violated
-
Sensitive data may be reachable from untrusted networks
Private Endpoints enforce network isolation, ensuring Storage traffic flows only through private IPs inside Azure VNets.
Remediation steps
Azure CLI
az network private-endpoint create
--name
--resource-group
--vnet-name
--subnet
--private-connection-resource-id
--group-id blob
Test plan
- Tested against real Azure free trial subscription
- Compliant case returns no findings
- Non-compliant case returns correct finding
- CLI playbook written and tested
- All four compliance framework JSONs updated
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing Python rule entry point for Microsoft.Storage/storageAccounts and comparable storage checks, then inspect how properties.privateEndpointConnections and framework mappings are represented. Implement the approved-Private-Endpoint cases, add compliant and non-compliant tests, verify the Azure CLI playbook, and update the CIS, NIST, ISO 27001, and SOC 2 JSON mappings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, python
- Domain
- cloud, security
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100