feat: add VM Scale Set inventory, collectors, and first rule
Open
@dipeshrayg is already working on this.
Since Aug 15, 2026.
enhancement
help wanted
priority: medium
stale
- Dominant language
- Python
- Stars
- 57
- Forks
- 68
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 17
Description
What problem does this solve?
OpenShield currently has zero coverage of Virtual Machine Scale Sets — no inventory collector, no
rules. VMSS is a common production compute pattern and is entirely invisible to the scanner today.
Describe the solution
- Add a VMSS inventory collector to AzureClient (get_virtual_machine_scale_sets(), following the
existing collector pattern in docs/adding-a-rule.md). - Ship one high-value first rule reusing existing compute-domain logic where possible (e.g. a VMSS
equivalent of AZ-CMP-002's disk-encryption check, or AZ-CMP-001's NSG check applied to the VMSS
network profile) rather than inventing new detection logic from scratch. - Add matching playbook, tests, and framework mappings per the standard rule contract.
Alternatives considered
Wait until AKS/container work (already well underway via issue #255 and 6 existing az_aks rules)
progresses further before touching VMSS — rejected; VMSS is a distinct, currently uncovered gap
that doesn't depend on the container work landing first.
Additional context
Sequenced before container platform work, per the compute roadmap's own implementation strategy.
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.
Assessment
This issue has not been assessed yet.