Files
AutopilotMonitor/src/Backend/AutopilotMonitor.Functions/host.json
T
Oliver Kieselbach be63dad534 feat(backend): wire MSRC into correlation + sampling-bypass observability
MsrcApiClient was injected into VulnerabilityCorrelationService for months
but never invoked — every report shipped with source="NVD" only. New
MsrcCorrelationService owns refresh + per-CVE lookup against an in-memory
index built from the last 6 Patch Tuesdays; daily VulnerabilityDataSync
populates it; CorrelateAsync enriches each finding with msrcDocumentId,
msrcReleaseDate, msrcSeverity, msrcBaseScore, msrcVector and flips source
to "NVD+MSRC" when the CVE was published in the indexed window.

Health check also surfaced that all worker-side traces of the daily sync
and CPE auto-resolve were sampled out of App Insights despite running.
Adds Event to host.json excludedTypes and emits TelemetryClient events
for VulnerabilityDataSyncCompleted, VulnerabilityCorrelationCompleted,
CpeAutoResolveHit/Miss, CpeMappingPersisted so customEvents queries can
prove freshness without depending on sampled traces.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 13:16:22 +02:00

31 lines
897 B
JSON

{
"version": "2.0",
"logging": {
"logLevel": {
"default": "Information",
"Function": "Information",
"AutopilotMonitor.Functions.Security": "Debug",
"Host": "Error",
"Host.Aggregator": "Error",
"Host.Results": "Information",
"Host.Startup": "Error",
"Microsoft.Azure.WebJobs": "Error",
"Microsoft.Azure.WebJobs.Host": "Error",
"Microsoft.Azure.WebJobs.Script": "Error",
"Azure.Core": "Error",
"System": "Error"
},
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request;Event"
},
"enableLiveMetricsFilters": true
}
},
"extensions": {
"http": {
"routePrefix": "api"
}
}
}