
CVE照会ライブラリおよびユーティリティ。ローカルストアを使用し、National Vulnerability Databaseと直接同期します。
CVEdbは、もう1つのPython用CVEデータベースライブラリ兼ユーティリティです。すでに多くのものが存在しています。なぜ別のものを作るのでしょうか? 既存のライブラリのほとんどは cve.circl.lu のようなサードパーティのAPIに依存しており、これらは使用を制限したり、登録を要求したり、インターネット接続を必要としたりすることがあります。また、検索用のWebインターフェースを含む、肥大化したライブラリもあります。
CVEdbの特徴:
CVEdbのアンチフィーチャー:
$ pip3 install cvedb
$ cvedb --help
from cvedb.db import CVEdb
with CVEdb.open() as db:
for cve in db.data():
print(cve)
デフォルトでは、NISTからダウンロードしたCVEは cvedb.db.DEFAULT_DB_PATH に保存されているsqliteデータベースに保存されます。このパスは ~/.config/cvedb/cvedb.sqlite に設定されています。これは CVEdb.open に db_path 引数を渡すことでカスタマイズできます。
db.data() 関数は cvedb.feed.Data オブジェクトのインスタンスを返します。このオブジェクトには CVEを照会するための多数のメソッド があります。
例:
with CVEdb.open() as db:
for cve in db.data().search("search term"):
print(cve)
data().search(...) 関数は文字列のほか、あらゆる cvedb.search.SearchQuery オブジェクト も受け付けます。
NIST National Vulnerability Databaseは新しいREST APIへの移行中です。CVEdbが基づいているデータセットはまだ利用可能ですが、非推奨になる可能性があるかどうかは不明です。また、NISTはダウンロードのレート制限を開始しており、CVEdbの同期に影響を与える可能性があります。そのため、CVEdbには データベースが事前にシードされた状態 で同梱されています。したがって、CVEdbはインストール後、新しいCVE定義をダウンロードする以外にインターネット接続を必要としません。さらに、CVEdbの動作は、必要に応じて自動的に更新をチェックする方式から、新しい --update 引数でユーザーが明示的に更新を要求する方式に変更されました。新しいREST APIのサポートは このGitHub issue で追跡されています。
CVEdbは Trail of Bits によって作成されました。 GNU Lesser General Public License v3.0 の下でライセンスされています。 条件の例外をお求めの場合は お問い合わせください。 © 2021, Trail of Bits.
CVEdbに同梱されているCVEデータベース はNISTによって作成・保守されており、パブリックドメインで公開されています。