2.3 KiB
2.3 KiB
Concelier Vendor Risk Signal Provider
Module
Concelier
Status
VERIFIED
Description
Extracts vendor-specific risk signals from advisory data, emits fix availability events, and tracks advisory field changes for risk scoring. Not in the known list.
Implementation Details
- Modules:
src/Concelier/__Libraries/StellaOps.Concelier.Core/Risk/ - Key Classes:
VendorRiskSignalExtractor(src/Concelier/__Libraries/StellaOps.Concelier.Core/Risk/VendorRiskSignalExtractor.cs) - extracts vendor-specific risk signals (CVSS, exploit maturity, fix availability) from advisory dataPolicyStudioSignalPicker(src/Concelier/__Libraries/StellaOps.Concelier.Core/Risk/PolicyStudio/PolicyStudioSignalPicker.cs) - filters and selects signals for policy evaluation
- Interfaces:
IPolicyStudioSignalPicker - Source: Sprint 0115 (batch_14/file_16.md)
E2E Test Plan
- Provide a vendor advisory with CVSS and fix availability and verify
VendorRiskSignalExtractorproduces correct risk signals - Verify fix availability emission: advisory with a fix emits a fix-available signal event
- Verify field change tracking: update an advisory field and verify the risk signal reflects the change
- Verify signal extraction handles missing fields gracefully (no CVSS, no fix info)
Verification
- Run ID: run-002 (deep verification)
- Date: 2026-02-13
- Result: PASS - Deep behavioral verification with 28 NEW unit tests written.
- Core.Tests 543/545 (2 pre-existing FeedSnapshotPinningService failures, unrelated): VendorRiskSignalExtractorTests (14 tests: CVSS extraction, KEV parsing from NVD/OSV JSON, fix availability from OSV affected[].ranges[].events[{fixed}], provenance anchoring, blank-system filtering, null handling, NormalizedSystem aliases, EffectiveSeverity v2/v3 thresholds, HighestCvssScore). PolicyStudioSignalPickerTests (14 tests: CVSS version priority selection v4>v3.1>v3.0>v2, PreferredCvssVersion, KEV-to-critical severity override, fix version extraction with dedup, provenance chain, options control for IncludeCvss/IncludeKev/IncludeFixAvailability/IncludeProvenance).
- AdvisoryFieldChangeEmitterTests (1): CVSS change tracking with invariant culture.
- Previous Run: run-001 (indirect verification via InterestScoreCalculatorTests only)