Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ruby-advisory-db — База данных уязвимостей для Ruby-гемов и сред выполнения, поддерживаемая сообществом, предоставляющая структурированные данные CVE/GHSA с исправленными версиями для отслеживания уязвимостей и интеграции с аудитом. | Kitploit
Инструменты/GitHubGitHub/rubysec/ruby-advisory-db
Анализ уязвимостейРазведка угрозСтатьи и ИсследованияОбучение и ОбразованиеПодобранные Ресурсы
GitHubrubysec/ruby-advisory-db

ruby-advisory-db

База данных уязвимостей для Ruby-гемов и сред выполнения, поддерживаемая сообществом, предоставляющая структурированные данные CVE/GHSA с исправленными версиями для отслеживания уязвимостей и интеграции с аудитом.

Репозиторий
1.1k2484 дней назадПроверено Kitploit
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

База данных Ruby Advisory

База данных Ruby Advisory — это совместная работа сообщества по сбору всех уведомлений о безопасности, относящихся к библиотекам Ruby. Мы рассчитываем, что другие будут создавать данные, такие как получение CVE, GHSA, OSVDB, cvss или исходной информации об уязвимостях. Более подробная информация ЗДЕСЬ.

Вы можете проверить свои собственные Gemfile.lock на соответствие этой базе данных с помощью bundler-audit.

Поддержите безопасность Ruby!

Знаете об уязвимости, которой нет в этой базе данных? Откройте issue или отправьте PR.

Структура каталогов

База данных представляет собой список каталогов, соответствующих названиям библиотек Ruby на rubygems.org. Внутри каждого каталога находятся один или несколько файлов уведомлений для библиотеки Ruby. Эти файлы уведомлений названы с использованием идентификационного номера уведомлений CVE, GHSA или OSVDB (устаревший).

root@kitploit:~
gems/:
  actionpack/:
    CVE-2014-0130.yml  CVE-2014-7818.yml  CVE-2014-7829.yml  CVE-2015-7576.yml
    CVE-2015-7581.yml  CVE-2016-0751.yml  CVE-2016-0752.yml
rubies/:
  jruby/:
    ...
  mruby/:
    ...
  ruby/:
    ...

gems/

Каталог gems/ содержит подкаталоги, соответствующие названиям библиотек Ruby на rubygems.org. Внутри каждого каталога находятся один или несколько файлов уведомлений для библиотеки Ruby. Эти файлы уведомлений названы с использованием идентификатора CVE или GHSA уведомлений.

rubies/

Каталог rubies/ содержит подкаталоги для каждой реализации Ruby. Внутри каждого каталога находятся один или несколько файлов уведомлений для реализации Ruby. Эти файлы уведомлений названы с использованием идентификатора CVE или GHSA уведомлений.

Примеры

Каждый файл уведомления содержит информацию об уведомлении в формате YAML. Вот несколько примеров уведомлений:

gems/actionpack/CVE-2023-22795.yml

root@kitploit:~
---
gem: actionpack
cve: 2023-22795
ghsa: 8xww-x3g3-6jcv
url: https://github.com/rails/rails/releases/tag/v7.0.4.1
title: ReDoS based DoS vulnerability in Action Dispatch
date: 2023-01-18
description: |
  There is a possible regular expression based DoS vulnerability in Action
  Dispatch related to the If-None-Match header. This vulnerability has been
  assigned the CVE identifier CVE-2023-22795.

  Versions Affected: All
  Not affected: None
  Fixed Versions: 6.1.7.1, 7.0.4.1

  # Impact

  A specially crafted HTTP If-None-Match header can cause the regular
  expression engine to enter a state of catastrophic backtracking, when on a
  version of Ruby below 3.2.0. This can cause the process to use large amounts
  of CPU and memory, leading to a possible DoS vulnerability All users running
  an affected release should either upgrade or use one of the workarounds
  immediately.

  # Workarounds

  We recommend that all users upgrade to one of the FIXED versions. In the
  meantime, users can mitigate this vulnerability by using a load balancer or
  other device to filter out malicious If-None-Match headers before they reach
  the application.

  Users on Ruby 3.2.0 or greater are not affected by this vulnerability.
patched_versions:
  - "~> 5.2.8"
  - "~> 6.1.7, >= 6.1.7.1"
  - ">= 7.0.4.1"

rubies/ruby/CVE-2022-28739.yml

root@kitploit:~
---
engine: ruby
cve: 2022-28739
url: https://www.ruby-lang.org/en/news/2022/04/12/buffer-overrun-in-string-to-float-cve-2022-28739/
title: Buffer overrun in String-to-Float conversion
date: 2022-04-12
description: |
  A buffer-overrun vulnerability is discovered in a conversion algorithm from a
  String to a Float. This vulnerability has been assigned the CVE identifier
  CVE-2022-28739. We strongly recommend upgrading Ruby.

  Due to a bug in an internal function that converts a String to a Float, some
  conversion methods like Kernel#Float and String#to_f could cause buffer
  over-read. A typical consequence is a process termination due to segmentation
  fault, but in a limited circumstances, it may be exploitable for illegal
  memory read.

  Please update Ruby to 2.6.10, 2.7.6, 3.0.4, or 3.1.2.
patched_versions:
  - ~> 2.6.10
  - ~> 2.7.6
  - ~> 3.0.4
  - '>= 3.1.2'

Схема YAML

gems

  • gem [String] (обязательно): Название затронутого gem.
  • library [String] (необязательно): Название библиотеки Ruby, к которой принадлежит затронутый gem.
  • framework [String] (необязательно): Название фреймворка, к которому принадлежит затронутый gem. (например, rails)
  • platform [String] (необязательно): Если эта уязвимость специфична для платформы, название платформы, которую затрагивает эта уязвимость (например, jruby)
  • cve [String] (необязательно): Идентификатор Common Vulnerabilities and Exposures (CVE).
  • osvdb [Integer] (необязательно): Идентификатор Open Sourced Vulnerability Database (OSVDB).
  • ghsa [String] (необязательно): Идентификатор GitHub Security Advisory (GHSA).
  • url [String] (обязательно): URL-адрес полного уведомления.
  • title [String] (обязательно): Заголовок уведомления или отдельной уязвимости. Должен быть предложением в одну строку.
    • Перенос строки поля title: на 80 символов.
  • date [Date] (обязательно): Дата публичного раскрытия уведомления.
  • description [String] (обязательно): Один или несколько абзацев, описывающих уязвимость. Может содержать несколько абзацев.
    • Используйте description: |, если это более одного предложения/строки.
    • Перенос строки поля descriptions: на 80 символов.
    • Не включайте разделы заголовков "POC", "PoC" или "Proof of Concept" (в любом регистре) в поле description:.
    • Не используйте "\n" или "%" в поле description:.
  • cvss_v2 [Float] (необязательно): Оценка CVSSv2 для уязвимости.
  • cvss_v3 [Float] (необязательно): Оценка CVSSv3 для уязвимости.
  • cvss_v4 [Float] (необязательно): Оценка CVSSv4 для уязвимости.
  • unaffected_versions [Array<String>] (необязательно): Требования к версиям для незатронутых версий библиотеки Ruby.
    • Диапазоны версий unaffected_versions должны быть в кавычках (например: ">= 1.2.3").
  • patched_versions [Array<String>] (необязательно): Требования к версиям для исправленных версий библиотеки Ruby.
    • Диапазоны версий patched_versions должны быть в кавычках (например: ">= 1.2.3").
    • Опустите patched_versions:, если у вас нет идентификаторов исправленных версий.
  • related [Hash<Array<String>>] (необязательно): Иногда уведомление ссылается на множество URL-адресов и других идентификаторов. Поддерживаемые ключи: cve, ghsa, osvdb и url
    • Все поддерживаемые ключи имеют отступ 4 пробела от левого поля.
    • Связанные поля cve, ghsa и osvdb не являются URL-адресами.
  • notes [String] (необязательно): Внутренние примечания относительно включения уязвимости в эту базу данных.

rubies

  • engine [ruby | mruby | jruby | truffleruby] (обязательно): Название затронутой реализации Ruby.
  • platform [String] (необязательно): Если эта уязвимость специфична для платформы, название платформы, которую затрагивает эта уязвимость (например, jruby)
  • cve [String] (необязательно): Идентификатор Common Vulnerabilities and Exposures (CVE).
  • osvdb [Integer] (необязательно): Идентификатор Open Sourced Vulnerability Database (OSVDB).
  • ghsa [String] (необязательно): Идентификатор GitHub Security Advisory (GHSA).
  • url [String] (обязательно): URL-адрес полного уведомления.
  • title [String] (обязательно): Заголовок уведомления или отдельной уязвимости. Должен быть предложением в одну строку.
    • Перенос строки поля title: на 80 символов.
  • date [Date] (обязательно): Дата публичного раскрытия уведомления.
  • description [String] (обязательно): Один или несколько абзацев, описывающих уязвимость. Может содержать несколько абзацев.
    • Используйте description: | (не |-), если это более одного предложения/строки.
    • Перенос строки поля descriptions: на 80 символов.
    • Не используйте "\n" или "%" в поле description:.
    • Не включайте разделы заголовков "POC", "PoC" или "Proof of Concept" (в любом регистре) в поле description:.
  • cvss_v2 [Float] (необязательно): Оценка CVSSv2 для уязвимости.
  • cvss_v3 [Float] (необязательно): Оценка CVSSv3 для уязвимости.
  • cvss_v4 [Float] (необязательно): Оценка CVSSv4 для уязвимости.
  • unaffected_versions [Array<String>] (необязательно): Требования к версиям для незатронутых версий реализации Ruby.
    • Поле unaffected_versions имеет отступ 2 пробела от левого поля.* cve, ghsa и osvdb связанные поля не являются URL-адресами.
  • patched_versions [Array<String>] (необязательно): Требования к версиям для исправленных версий реализации Ruby.
    • Диапазоны версий patched_versions/unaffected_versions должны быть в кавычках (например: ">= 1.2.3").
    • Поле patched_versions имеет отступ 2 пробела от левого поля.
    • Опустите patched_versions:, если у вас нет идентификаторов исправленных версий.
  • related [Hash<Array<String>>] (необязательно): Иногда уведомление ссылается на множество URL-адресов и других идентификаторов. Поддерживаемые ключи: cve, ghsa, osvdb и url
    • Все поддерживаемые ключи имеют отступ 4 пробела от левого поля.
    • Связанные поля cve, ghsa и osvdb не являются URL-адресами.
  • notes [String] (необязательно): Внутренние примечания относительно включения уязвимости в эту базу данных.

Общие рекомендации по участию

  • Имя файла уведомления
    • Предпочтение отдается CVE или GHSA перед именованием файлов OSVDB.
    • Должно быть равно значению корневого поля url:.
  • Для уведомлений после 2016 года используйте только "опубликованные" или "зарезервированные" CVE, которые можно найти на одном из этих веб-сайтов:
    • https://nvd.nist.gov/vuln/search
    • https://www.cve.org/CVERecord
  • Весь текст должен быть перенесен на 80 столбцов.
    • YAML должен иметь отступ в 2 пробела.
    • Ruby YAML не любит встроенные символы ":".
    • Для получения дополнительной информации:
      • Workflow Github Action
  • Запустите rspec spec/schema_validation_spec.rb для дополнительных проверок lint.
  • Проверьте все URL-адреса на битые ссылки.
    • Если URL-адрес не работает, проверьте, есть ли копия на https://web.archive.org, и укажите ссылку на нее.

Тесты

Перед отправкой pull request запустите тесты:

root@kitploit:~
bundle install
bundle exec rspec

Синхронизация GitHub Security Advisory (GHSA)

  • Обычный рабочий процесс GHSA/SYNC выглядит следующим образом:
    1. Запустите ruby-скрипт "GH_API_TOKEN=GITHUB_TOKEN_VALUE bundle exec rake sync_github_advisories".

      • Задача rake запишет YAML-файлы для любых отсутствующих уведомлений.
        • Затем она запустит shell-скрипт "./lib/rad-ignores.sh" для игнорирования дублирующихся уведомлений.
        • Затем она запустит "yamllint" для всех yml-файлов gems и rubies.
      • Более подробная информация следует после этого абзаца.
    2. Запустите "rake" для выполнения проверок lint.

    3. Если есть новые или измененные уведомления, отправьте PR в репозиторий.

    4. ВНИМАНИЕ: Между шагами 2 и 5 вам может потребоваться вручную отредактировать файлы.

Существует скрипт, который создаст первоначальные YAML-файлы для уведомлений RubyGem, которые есть в [API GitHub Security Advisory], но еще не включены в этот набор данных. Этот скрипт можно периодически запускать, чтобы гарантировать, что этот репозиторий содержит все данные, которые присутствуют в данных GitHub Security Advisory.

API GitHub Security Advisory требует токен для доступа к нему.

  • Это может быть полностью токен без областей действия (рекомендуется); он не требует никаких разрешений вообще.
  • Получите свой на: https://github.com/settings/tokens

Чтобы запустить синхронизацию GitHub Security Advisory для получения всех уведомлений, начните с выполнения задачи rake:

root@kitploit:~
GH_API_TOKEN="your GitHub API Token" bundle exec rake sync_github_advisories

Или, чтобы получить уведомления только для одного gem:

root@kitploit:~
GH_API_TOKEN="your GitHub API Token" bundle exec rake sync_github_advisories[gem_name]

Rails LTS

Мейнтейнеры Rails LTS попросили нас не отслеживать версии Rails LTS. Если вы используете Rails LTS и bundler-audit, рекомендуется добавить Список CVE, устраненных в Rails LTS в ваш файл .bundler-audit.yml в раздел ignore:.

Политика в отношении вкладов генеративного ИИ

Для защиты безопасности проекта и уважения добровольного времени наших мейнтейнеров, участие человека в процессе строго обязательно для всех представлений. Хотя инструменты ИИ разрешены в качестве помощников, участники должны лично проверять, понимать и нести полную ответственность за свою работу. Любые вклады, которые выглядят как непроверенный машинный вывод, будут немедленно закрыты, а повторные нарушители будут заблокированы в проекте и о них будет сообщено.

Благодарности

Пожалуйста, смотрите CONTRIBUTORS.md.

Эта база данных также включает данные из Open Sourced Vulnerability Database, разработанной Open Security Foundation (OSF) и ее участниками.

Скачать инструмент