Skip to content

Add pilot 4 metrics and fix for NetworkSecurity/VirtualMachinePublicIpDisabled#330

Merged
anatheka merged 3 commits into
mainfrom
emerald
Jun 19, 2026
Merged

Add pilot 4 metrics and fix for NetworkSecurity/VirtualMachinePublicIpDisabled#330
anatheka merged 3 commits into
mainfrom
emerald

Conversation

@anatheka

Copy link
Copy Markdown
Collaborator

This PR adds the EMERALD pilot 4 metrics and a fix for metric NetworkSecurity/VirtualMachinePublicIpDisabled.

franzling and others added 2 commits June 15, 2026 15:54
* init pilot 4 metrics

* feat(pilot4metrics): integrate pilot 4 metric additions

Sort pilot 4 metrics into existing/new category folders under metrics/:
- metrics/AssetManagement/ (AssetInventoryEnabled, AssetInventoryReviewFrequency)
- metrics/Backup/ (BackupFrequency, BackupRecoveryFrequency)
- metrics/SecurityIncidents/ (IncidentReportingTeam)

Align YAMLs (UUIDs, category names) and rego files (snake_case package,
lowerCamelCase document properties, applicable existence check, message
rules) with pilot 2 conventions.

Extend ontology following the pilot 2 pattern:
- Declare cl:AssetInventory, cl:Backup, cl:CloudFeature, cl:SecurityIncident
  in document.owx and attach them to cl:PolicyDocument via prop:has
- cl:AssetInventory/cl:Backup subclass the existing core:* counterparts
- Add data property axioms: reviewFrequency, frequency, recoveryFrequency,
  property, team
- Declare and label the new res:* data properties in core/properties.owx

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* Add metric `RestrictSSH`

* Add metric `VirtualMachinePublicIpDisabled`

* Use new ID

* Fix name of metric

* fix(ontology): remove self-loop SubClassOf for AssetInventory/Backup

In document.owx, the cl:, res:, and core: prefixes all resolve to the
same /classes/ IRI, so `cl:AssetInventory ⊆ core:AssetInventory` and
`cl:Backup ⊆ core:Backup` were X ⊆ X self-loops, which crashed
owl2proto's findAllLeafs with a stack overflow.

Attach the new data properties (prop:reviewFrequency, prop:frequency,
prop:recoveryFrequency) directly to core:AssetInventory / core:Backup
and drop the redundant cl: declarations.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Christian Banse <christian.banse@aisec.fraunhofer.de>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Angelika Schneider <angelika.schneider@aisec.fraunhofer.de>
Co-authored-by: Nico Haas <nico.haas@aisec.fraunhofer.de>
@anatheka anatheka changed the title Emerald Add pilot 4 metrics and fix for NetworkSecurity/VirtualMachinePublicIpDisabled Jun 19, 2026
@anatheka anatheka requested review from immqu and oxisto June 19, 2026 08:55
@anatheka anatheka merged commit b5e6abe into main Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants