Files
git.stella-ops.org/devops/compose/fixtures/integration-fixtures/advisory/default.conf
master 2141fea4b6 Add integration e2e coverage: GitHubApp, advisory pipeline, Rekor, eBPF hardening
- GitHubApp: 11 new tests (health, CRUD lifecycle, update, delete, UI SCM tab)
- Advisory pipeline: 16 tests (fixture data verification, source management smoke,
  initial/incremental sync, cross-source merge, canonical query API, UI catalog)
  with KEV/GHSA/EPSS fixture data files for deterministic testing
- Rekor transparency: 7 tests (container health, submit/get/verify round-trip,
  log consistency, attestation API) gated behind E2E_REKOR=1
- eBPF agent: 3 edge case tests (unreachable endpoint, coexistence, degraded health)
  plus mock limitation documentation in test header
- Fix UI search race: wait for table rows before counting rowsBefore
- Advisory fixture now serves real data (KEV JSON, GHSA list, EPSS CSV)
- Runtime host fixture adds degraded health endpoint

Suite: 143 passed, 0 failed, 32 skipped in 13.5min (up from 123 tests)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 10:34:04 +03:00

86 lines
3.1 KiB
Plaintext

server {
listen 80;
server_name advisory-fixture.stella-ops.local;
default_type application/json;
# -----------------------------------------------------------------------
# Advisory data endpoints (for pipeline sync tests)
# -----------------------------------------------------------------------
# KEV catalog — realistic CISA Known Exploited Vulnerabilities feed
location = /kev/known_exploited_vulnerabilities.json {
alias /etc/nginx/data/kev-catalog.json;
add_header Content-Type "application/json";
add_header ETag '"e2e-kev-v1"';
}
# GHSA list — GitHub Security Advisories (REST-style)
location = /ghsa/security/advisories {
alias /etc/nginx/data/ghsa-list.json;
add_header Content-Type "application/json";
add_header X-RateLimit-Limit "5000";
add_header X-RateLimit-Remaining "4990";
add_header X-RateLimit-Reset "1893456000";
}
# EPSS scores — Exploit Prediction Scoring System (CSV)
location = /epss/epss_scores-current.csv {
alias /etc/nginx/data/epss-scores.csv;
add_header Content-Type "text/csv";
}
# -----------------------------------------------------------------------
# Source health/connectivity endpoints (for onboarding tests)
# -----------------------------------------------------------------------
# CERT-In (India) - unreachable from most networks
location /cert-in {
return 200 '{"status":"healthy","source":"cert-in","description":"CERT-In fixture proxy"}';
}
# FSTEC BDU (Russia) - unreachable from most networks
location /fstec-bdu {
return 200 '{"status":"healthy","source":"fstec-bdu","description":"FSTEC BDU fixture proxy"}';
}
# StellaOps Mirror - does not exist yet
location /stella-mirror {
return 200 '{"status":"healthy","source":"stella-mirror","version":"1.0.0","description":"StellaOps Advisory Mirror fixture"}';
}
# VEX Hub - local fixture
location /vex {
return 200 '{"status":"healthy","source":"vex","description":"VEX Hub fixture proxy"}';
}
# Exploit-DB - blocks automated requests
location /exploitdb {
return 200 '{"status":"healthy","source":"exploitdb","description":"Exploit-DB fixture proxy"}';
}
# AMD Security - blocks automated requests
location /amd {
return 200 '{"status":"healthy","source":"amd","description":"AMD Security fixture proxy"}';
}
# Siemens ProductCERT - blocks automated requests
location /siemens {
return 200 '{"status":"healthy","source":"siemens","description":"Siemens ProductCERT fixture proxy"}';
}
# Ruby Advisory DB (bundler-audit) - GitHub raw content issues
location /bundler-audit {
return 200 '{"status":"healthy","source":"bundler-audit","description":"Ruby Advisory DB fixture proxy"}';
}
# Catch-all health endpoint
location /health {
return 200 '{"status":"healthy","service":"advisory-fixture"}';
}
location / {
return 200 '{"status":"healthy","service":"advisory-fixture"}';
}
}