
Bibliothèque et utilitaire d'interrogation de CVE utilisant un stockage local synchronisé directement avec la National Vulnerability Database.
CVEdb est encore une autre bibliothèque et utilitaire Python de base de données CVE. Il en existe déjà beaucoup. Pourquoi en créer une autre ? La plupart des bibliothèques existantes reposent sur une API tierce comme cve.circl.lu, qui peut et sait limiter l'utilisation, exiger une inscription et/ou demander une connexion Internet. Certaines bibliothèques sont surchargées, incluant des interfaces web pour la recherche.
Caractéristiques de CVEdb :
Anti-caractéristiques de CVEdb :
$ pip3 install cvedb
$ cvedb --help
from cvedb.db import CVEdb
with CVEdb.open() as db:
for cve in db.data():
print(cve)
Par défaut, les CVE téléchargées depuis NIST sont enregistrées dans une base de données sqlite stockée dans cvedb.db.DEFAULT_DB_PATH, qui est
définie sur ~/.config/cvedb/cvedb.sqlite. Cela peut être personnalisé en passant l'argument db_path à CVEdb.open.
La fonction db.data() renvoie une instance d'un objet cvedb.feed.Data, qui possède
nombreuses méthodes pour interroger les CVE.
Par exemple :
with CVEdb.open() as db:
for cve in db.data().search("search term"):
print(cve)
En plus d'accepter des chaînes de caractères, la fonction data().search(...) acceptera tout
objet cvedb.search.SearchQuery.
La National Vulnerability Database de NIST est en train de migrer vers une nouvelle API REST. Les ensembles de données sur lesquels
CVEdb est construit sont toujours disponibles, mais il n'est pas certain qu'ils puissent être dépréciés. De plus, NIST a commencé à limiter
le débit des téléchargements, ce qui peut affecter la synchronisation de CVEdb. Par conséquent, CVEdb est fourni
pré-initialisé avec une base de données. Ainsi, CVEdb ne
nécessite aucune connectivité Internet après son installation, autre que pour télécharger de nouvelles définitions de CVE. De plus, le comportement
de CVEdb a été modifié : au lieu de vérifier automatiquement les mises à jour si nécessaire, il exige désormais que l'utilisateur demande explicitement
une mise à jour avec le nouvel argument --update. La prise en charge de la nouvelle API REST est suivie dans
ce problème GitHub.
CVEdb a été créé par Trail of Bits. Il est sous licence GNU Lesser General Public License v3.0. Contactez-nous si vous cherchez une exception aux conditions. © 2021, Trail of Bits.
La base de données CVE fournie avec CVEdb est créée et maintenue par NIST et est publiée dans le domaine public.