back to home

github / advisory-database

Security vulnerability database inclusive of CVEs and GitHub originated security advisories from the world of open source software.

View on GitHub
2,192 stars
553 forks
83 issues

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing github/advisory-database in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/github/advisory-database)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

GitHub Advisory Database A database of CVEs and GitHub-originated security advisories affecting the open source world. The database is free and open source and is a tool for and by the community. Submit pull requests to help improve our database of software vulnerability information for all. Goals • To provide a free and open-source repository of security advisories. • To enable our community to crowd-source their knowledge about these advisories. • To surface vulnerabilities in an industry-accepted formatting standard for machine interoperability. Features All advisories acknowledged by GitHub are stored as individual files in this repository. They are formatted in the Open Source Vulnerability (OSV) format. You can submit a pull request to this database (see, ) to change or update the information in each advisory. Pull requests will be reviewed and either merged or closed by our internal security advisory curation team. If the advisory originated from a GitHub repository, we will also @mention the original publisher for optional commentary. Sources We add advisories to the GitHub Advisory Database from the following sources: • Security advisories reported on GitHub • The National Vulnerability Database • The npm Security Advisories Database • The FriendsOfPHP Database • The Go Vulnerability Database • The Python Packaging Advisory Database • The Ruby Advisory Database • The RustSec Advisory Database • Community contributions to this repository If you know of another database we should be importing advisories from, tell us about it by opening an issue in this repository. Contributions There are two ways to contribute to the information provided in this repository. From any individual advisory on github.com/advisories, click **Suggest improvements for this vulnerability** (shown below) to open an "Improve security advisory" form. Edit the information in the form and click **Submit improvements** to open a pull request with your proposed changes. Alternatively, you can submit a pull request directly against a file in this repository. To do so, follow the contribution guidelines. References Advisory references are intended to be supplemental, relevant information for the reader. We aim to include primary source references provided by the CVE or GHSA authors, supplement with relevant code or documentation when applicable, and focus on concision and relevance for any additional references. We generally avoid including secondary source write ups on advisories unless they are provided by the upstream source. Fix commits Advisories are about specific build artifacts, and not about the project more generally. A reference to the commit that fixes a given vulnerability is helpful for downstream readers to determine impact, and we welcome contributions adding these details when missing. If the advisory already includes the relevant fix commit(s), we do not accept contributions that are duplicative, as adding irrelevant duplicate content creates an unnecessary burden on the reader of an advisory. Supported ecosystems Unfortunately, we cannot accept community contributions to advisories outside of our supported ecosystems. Our curation team reviews each community contribution thoroughly and needs to be able to assess each change. Generally speaking, our ecosystems are the namespace used by a package registry. As such they’re focused on packages within the registry which tend to be dependencies used in software development. Our supported ecosystems are: • Composer (registry: https://packagist.org) • Erlang (registry: https://hex.pm/) • GitHub Actions (registry: https://github.com/marketplace?type=actions) • Go (registry: https://pkg.go.dev/) • Maven (registry: https://repo.maven.apache.org/maven2) • npm (registry: https://www.npmjs.com/) • NuGet (registry: https://www.nuget.org/) • pip (registry: https://pypi.org/) • Pub (registry: https://pub.dev/) • RubyGems (registry: https://rubygems.org/) • Rust (registry: https://crates.io/) • Swift (registry: namespaced by dns) If you have a suggestion for a new ecosystem we should support, please open an issue for discussion. License This project is licensed under the terms of the CC-BY 4.0 open source license. Please see our documentation for the full terms. GHSA IDs Each security advisory, regardless of its type, has a unique identifier referred to as a . A qualifier is assigned when a new advisory is created on GitHub or added to the GitHub Advisory Database from any of the supported sources. The syntax of GHSA IDs follows this format: where • is a letter or a number from the following set: . • Outside the portion of the name: • The numbers and letters are randomly assigned. • All letters are lowercase. You can validate a GHSA ID using a regular expression: Values The OSV Schema supports several JSON object fields that are used to add context to various other parts of the OSV schema, namely an affected package, a package's affected ranges, and the vulnerability as a whole. Per the spec, these fields are used for holding additional information about the package, range, or vulnerability "as defined by the database from which the record was obtained." It additionally stipulates that the meaning and format of these custom values "is entirely defined by the database [of record]" and outside of the scope of the OSV Schema itself. For its purposes, GitHub uses a number of values in its OSV files. They are used primarily in support of Community Contributions and are intended for internal use only unless otherwise specified. These values and their format are subject to change without notice. Consuming systems should not rely on them for processing vulnerability information. | **Scope** | **Field** | **Purpose** | |---|---|---| | vulnerability | | The OSV schema supports quantitative severity scores such as CVSS. GitHub additionally assigns each vulnerability a non-quantitative human-readable severity value. | | vulnerability | | Gi…