31.6% of security advisories for self-hosted AI tools never reach the database your scanner reads
Description and use
31.6 % of published vulnerabilities in self‑hosted AI projects are missing from GitHub’s global advisory database, rendering them invisible to dependency scanners.
Problem
Dependency scanners miss real, maintainer‑published vulnerabilities in self‑hosted AI tools because the advisories are not imported into GitHub’s global advisory database.
Outcome
In a snapshot of 30 self‑hosted AI/ML repos, 195 of 618 (31.6%) published advisories were not present in the global database under their own GHSA ID, with a median missing time of 91.1 days versus 3.2 days for imported advisories.
Workflow
- 1. List each repo’s published advisories via the GitHub REST API.
- 2. Build the set of GHSA IDs from the github/advisory‑database repository using a blobless clone.
- 3. Mark an advisory as imported only if its GHSA ID appears in that set.
- 4. For missing advisories with a CVE, query the GitHub advisories API by CVE to determine if it has a thin record under a different ID or no global presence at all.
Evidence
195 of 618 published security advisories (31.6%) are not in the global GitHub Advisory Database under their own ID
A GRA only protects downstream users once it is imported into the global database under its own GHSA ID
Median time missing: 91.1 days. Max: 999.7 days.
When GitHub does import a reviewed GRA, the median time to do so is 3.2 days
- Record date: 2026-10-15T02:41:20.654Z