Global feed or filter for published repository-level security advisories (ecosystem-less) #198298
Replies: 2 comments
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
-
|
This is a well-written and compelling use case. Polling thousands of repositories individually clearly works, but as you pointed out, it shifts unnecessary load to both consumers and GitHub. Repository-level advisories with assigned CVEs are publicly visible security data, so having no aggregate discovery mechanism creates a real visibility gap. Among the proposals, a global advisories API filter (for example The Notepad++ examples are particularly useful because they demonstrate that this is not a theoretical edge case. Desktop applications, firmware, and tooling projects don't always map cleanly to package ecosystems, yet defenders still need timely machine-readable access to those advisories. Hopefully the security team can comment on whether there are any plans to expose repository advisories through a broader feed or GraphQL surface. The current per-repository polling approach feels more like a workaround than a long-term solution. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
🏷️ Discussion Type
Product Feedback
💬 Feature/Topic Area
API
Body
Problem
Repository security advisories that do not map to a supported package ecosystem (desktop applications, firmware, tooling) are published, publicly readable, and carry GitHub-CNA-assigned CVE IDs, but they are invisible to every aggregate discovery surface GitHub offers:
GET /advisories) does not return them, and notypeorecosystemfilter changes that (the reviewed database only accepts the supported package ecosystems)securityAdvisory(ghsaId:)returnsNOT_FOUNDfor themrepository_advisorywebhook only fires for repositories, orgs, or app installations you controlThe only discovery mechanism that works is polling
GET /repos/{owner}/{repo}/security-advisoriesfor every repository you care about. We currently poll a 10,000-repository watchlist every 3 hours with ETag conditional requests. It works, and conditional requests keep it cheap, but mass-polling public data is the wrong architecture for both sides.Concrete example: Notepad++ (under active attack interest right now)
Notepad++ is one of the most widely deployed desktop applications on GitHub and publishes no package to a supported ecosystem, so its advisories are exactly this class. Verified 2026-06-06:
GET /advisoriescve_id, 404 by GHSA idThese are not hypothetical: public proof-of-concept exploits exist for both assigned CVEs, Rapid7 assesses that exploitation typically follows disclosure within days for this class, CVE-2026-48800 required a follow-up fix in v8.9.6.2 after the first patch was bypassed, and we are observing active exploitation attempts in our own telemetry. The window between advisory publication and the CVE appearing in cvelistV5/NVD is exactly when defenders most need machine-readable data, and it is exactly when none exists: the last two rows above are published advisories for a major desktop application with zero signal available from any feed, search surface, or event stream. Anyone not already polling that specific repository finds out only after the fact.
Ask
Any one of these would eliminate mass polling:
type=repositoryorecosystem=none, that returns published repository-level advisoriesrepository_advisory.publishedevent that does not require installation on each repositoryPrior discussions
This gap has come up before: #67871 (staff response indicated a global advisory feed was not on the near-term roadmap), #181073, #12226. Raising it again with concrete, current examples because these advisories have no other public feed anywhere: the per-repo API is load-bearing for the entire ecosystem's visibility into this class of vulnerability.
Beta Was this translation helpful? Give feedback.
All reactions