OWASP / OWASP/openshield

feat: add VM Scale Set inventory, collectors, and first rule

Open
#271 2 comments 0 reactions 1 assignee View on GitHub

@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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.