Skip to content

test(advisory): add live-verified vendor-specific CVE examples and end-to-end tests across all vendor CVE namespaces #218

Closed

Description

@kurtseifried

Agent: Gemini (SecID governing agent)

Problem

When resolving a CVE across sources (secid:advisory/CVE-...), global CVE registries (mitre.org/cve, nist.gov/nvd, cisa.gov/vulnrichment) resolve any valid published CVE, whereas vendor-specific CVE trackers only return HTTP 200 (and valid JSON on ?parsability=structured endpoints) for CVEs that apply to that vendor:

  • redhat.com/cve (HTML + Hydra REST JSON) & redhat.com/bugzilla (currently missing examples)
  • microsoft.com/msrc (Update Guide HTML + SUG v2.0 JSON API)
  • paloaltonetworks.com/pan-sa (HTML + CVE JSON + CSAF JSON)
  • ubuntu.com/cve-tracker (HTML + .json endpoint; currently lists CVE-2024-1234 which is a WordPress plugin CVE not in Ubuntu)
  • debian.org/tracker (currently missing examples)
  • suse.com/bugzilla (currently lists CVE-2024-1234, a WordPress plugin CVE not in SUSE)
  • oracle.com/alert (out-of-band CVE alerts, e.g. CVE-2021-44228)
  • cisa.gov/kev & cisa.gov/vulnrichment (vulnrichment still lists CVE-2024-1234 which 404s on cisagov/vulnrichment)
  • mitre.org/cve (cveawg.mitre.org/api/cve/{id} child node currently has no examples)
  • Data-only vendor CVE sources (apache.org/security, atlassian.com/jira-security, google.com/chrome, google.com/android, openssl.org/secadv)

Testing with a single CVE (e.g. Android's CVE-2026-0019 or CVE-2024-1234) leaves vendor-specific endpoints returning 404 in end-to-end verification.

Deliverable

  1. Audit every ^CVE-\d{4}-\d{4,}$ child node across all 15 CVE-matching namespaces in registry/advisory/.
  2. Ensure every URL-resolving vendor CVE child node (both HTML/scraped and JSON/structured) has a live-verified, vendor-appropriate CVE in data.examples that returns HTTP 200 (and valid JSON where parsability: "structured").
  3. Replace non-matching placeholder CVEs (such as CVE-2024-1234 on Ubuntu, SUSE, and CISA Vulnrichment) with real CVEs tracked by each vendor, and fill missing examples on redhat.com/bugzilla, debian.org/tracker, mitre.org/cve (CVE API), and google.com/android.
  4. Add vendor-specific CVE resolution & ?parsability=structured regression tests in SecID-Service and SecID-Server-API.

Activity

  1. kurtseifried commented on Nov 3, 2026

    @kurtseifried
    CollaboratorAuthor

    Agent: Gemini (SecID governing agent)

    Linked follow-up issue for auditing non-CVE cross-vendor / multi-namespace identifier schemes: #219.

  2. kurtseifried commented on Nov 3, 2026

    @kurtseifried
    CollaboratorAuthor

    Agent: Gemini (SecID governing agent)

    Completed and verified in production:

    1. Registry updates merged: CloudSecurityAlliance/SecID#220 (7678efe)
      • Fixed Ubuntu CVE tracker HTML URL (https://ubuntu.com/security/{id}) while preserving JSON API (https://ubuntu.com/security/cves/{id}.json).
      • Added SUSE's dedicated CVE tracker source (secid:advisory/suse.com/cve#CVE-... → https://www.suse.com/security/cve/{id}.html).
      • Updated CISA Vulnrichment example from CVE-2024-1234 (404) to CVE-2024-3400 (2024/3xxx/CVE-2024-3400.json, 200 OK).
      • Replaced generic placeholder examples with live-verified vendor-specific CVEs across all 12 CVE-resolving advisory files (redhat.json, microsoft.json, ubuntu.json, suse.json, debian.json, oracle.json, cisa.json, nist.json, mitre.json, google.json, apache.json, kernel.json).
    2. TypeScript resolver regression suite merged: CloudSecurityAlliance/SecID-Service#57 (c275ef3)
    3. Python resolver regression suite merged: CloudSecurityAlliance/SecID-Server-API#31 (341e270)
    4. Live MCP verification: Verified end-to-end via https://secid.cloudsecurityalliance.org/mcp (resolve tool) across Ubuntu, SUSE, Red Hat (?parsability=structured), Microsoft MSRC (?parsability=structured), Palo Alto Networks (?parsability=structured), CISA Vulnrichment (?parsability=structured), and cross-source secid:advisory/CVE-2023-44487.

    Follow-up issue #219 tracks the broader audit of other cross-vendor / multi-namespace identifier patterns.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions