4.1 KiB
Runbook: Feed Connector - OSV (Open Source Vulnerabilities) Failures
Sprint: SPRINT_20260117_029_DOCS_runbook_coverage Task: RUN-006 - Feed Connector Runbooks
Metadata
| Field | Value |
|---|---|
| Component | Concelier / OSV Connector |
| Severity | High |
| On-call scope | Platform team |
| Last updated | 2026-01-17 |
| Doctor check | check.connector.osv-health |
Symptoms
- OSV feed sync failing or stale
- Alert
ConnectorOsvSyncFailedfiring - Error: "OSV API request failed" or "ecosystem sync failed"
- OSV vulnerabilities missing from database
- Metric
connector_sync_failures_total{source="osv"}increasing
Impact
| Impact Type | Description |
|---|---|
| User-facing | Open source ecosystem vulnerabilities may be missed |
| Data integrity | Data becomes stale; no data loss |
| SLA impact | Vulnerability currency SLO violated for affected ecosystems |
Diagnosis
Quick checks
-
Check Doctor diagnostics:
stella doctor --check check.connector.osv-health -
Check OSV sync status:
stella admin feeds status --source osv -
Test OSV API connectivity:
stella connector test osv
Deep diagnosis
-
Check ecosystem-specific status:
stella connector osv ecosystems statusLook for: Failed ecosystems, stale ecosystems
-
Check sync logs:
stella connector logs osv --last 1h --level errorLook for: API errors, parsing failures, timeout
-
Check for OSV API outage:
stella connector osv api-statusAlso check: https://osv.dev/
-
Check GCS bucket access (OSV uses GCS for bulk data):
stella connector osv gcs-status
Resolution
Immediate mitigation
-
Retry sync for specific ecosystem:
stella admin feeds refresh --source osv --ecosystem npm -
Sync from GCS bucket directly (faster for bulk):
stella connector osv sync-from-gcs -
Load from offline bundle:
stella offline load --source osv --package osv-bundle-latest.tar.gz
Root cause fix
If API request failing:
-
Check API endpoint:
stella connector osv api-test -
Verify no proxy blocking:
stella connector config set osv.proxy <proxy-url>
If GCS access failing:
-
Check GCS connectivity:
stella connector osv gcs-test -
Enable anonymous access (default):
stella connector config set osv.gcs_auth anonymous -
Or configure service account:
stella connector config set osv.gcs_credentials /path/to/sa-key.json
If specific ecosystem failing:
-
Disable problematic ecosystem temporarily:
stella connector config set osv.ecosystems.disabled <ecosystem> -
Check ecosystem data format:
stella connector osv ecosystem-check <ecosystem>
If parsing errors:
-
Check for schema changes:
stella connector osv schema-check -
Update connector:
stella upgrade --component connector-osv
Verification
# Force sync
stella admin feeds refresh --source osv
# Monitor sync progress
stella admin feeds status --source osv --watch
# Verify ecosystem coverage
stella connector osv ecosystems status
# Query recent vulnerability
stella vuln query OSV-2026-xxxx
# Check no errors
stella connector logs osv --level error --last 1h
Prevention
- Bulk sync: Use GCS bulk sync for initial load and daily updates
- Monitoring: Alert on ecosystem sync failures
- Redundancy: NVD/GHSA provide overlapping coverage for major ecosystems
- Offline: Maintain weekly offline bundle
Related Resources
- Architecture:
docs/modules/concelier/connectors.md - Connector config:
docs/modules/concelier/operations/connectors/osv.md - Related runbooks:
connector-nvd.md,connector-ghsa.md - OSV API docs: https://osv.dev/docs/