rubysec / ruby-advisory-db
git clone https://github.com/rubysec/ruby-advisory-db.git
🔥 on GitHub Trending today
A database of vulnerable Ruby Gems
+0
stars, 24h · #669
+1
stars, 7 days · #1,646
+4
stars, 30 days · #10,050
1.1k
★ total · +0% this week
248
forks · 5 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRuby
License—
Created2013-02-12 (13y ago)
Last pushtoday
Watchers73
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #9 daily in ruby
- 2026-10-20 — #20 monthly in ruby · +4 ★
- 2026-10-20 — #10 weekly in ruby · +1 ★
GitHub topics
Links
- GitHub: github.com/rubysec/ruby-advisory-db
- Homepage: https://rubysec.com
- Releases · Issues · Hacker News mentions
README excerpt
# Ruby Advisory Database The Ruby Advisory Database is a community effort to compile all security advisories that are relevant to Ruby libraries. We expect others to create the data, such as getting CVE's, GHSA's, OSVDB's, cvss', or original vulnerability information. More details at HERE. You can check your own Gemfile.locks against this database by using [bundler-audit]. ## Support Ruby Security! Do you know about a vulnerability that isn't listed in this database? Open an issue or submit a PR. ## Directory Structure The database is a list of directories that match the names of Ruby libraries on [rubygems.org]. Within each directory are one or more advisory files for the Ruby library. These advisory files are named using the advisories' [CVE] or [GHSA] or [OSVDB] (legacy) identifier number. [code] ### `gems/` The `gems/` directory contains sub-directories that match the names of the Ruby libraries on [rubygems.org]. Within each directory are one or more advisory files for the Ruby library. These advisory files are named using the advisories' [CVE] or [GHSA] ID. ### `rubies/` The `rubies/` directory contains sub-directories for each Ruby implementation. Within each directory are one or more advisory files for the Ruby implementation. These advisory files are named using the advisories' [CVE] or [GHSA] ID. ## Examples Each advisory file contains the advisory information in [YAML] format. Here are some example advisories: ### `gems/actionpack/CVE-2023-22795.yml` [code] ### `rubies/ruby/CVE-2022-28739.yml` [code] ## YAML Schema ### `gems` * `gem` \[String\] (required): Name of the affected gem. * `library` \[String\] (optional): Name of the ruby library which the affected gem belongs to. * `framework` \[String\] (optional): Name of the framework which the affected gem belongs to. (e.g. rails) * `platform` \[String\] (optional): If this vulnerability is platform-specific, name of platform this vulnerability affects (e.g. jruby) * `cve` \[String\] (optional): Common Vulnerabilities and Exposures (CVE) ID. * `osvdb` \[Integer\] (optional): Open Sourced Vulnerability Database (OSVDB) ID. * `ghsa` \[String\] (optional): GitHub Security Advisory (GHSA) ID. * `url` \[String\] (required): The URL to the full advisory. * `title` \[String\] (required): The title of the advisory or individual vulnerability. It must be a single line sentence. * Line wrap `title:` field at 80. * `date` \[Date\] (required): The public disclosure date of the advisory. * `description` \[String\] (required): One or more paragraphs describing the vulnerability. It may contain multiple paragraphs. * Used `description: |` if it is more than one sentence/line. * Line wrap `descriptions:` field at 80. * Do not include "POC", "PoC", or "Proof of Concept" heading sections (any casing) in the `description:` field. * Not use "\n" or "%" in `description:` field. * `cvss_v2` \[Float\] (optional): The [CVSSv2] score for the vulnerability. * `cvss_v3` \[Float\] (optional): The