All Projects → opencve → Opencve

opencve / Opencve

Licence: other
CVE Alerting Platform

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Opencve

Vulnix
Vulnerability (CVE) scanner for Nix/NixOS.
Stars: ✭ 161 (-58.07%)
Mutual labels:  vulnerabilities, cve
inthewilddb
Hourly updated database of exploit and exploitation reports
Stars: ✭ 127 (-66.93%)
Mutual labels:  vulnerabilities, cve
Sbt Dependency Check
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). 🌈
Stars: ✭ 187 (-51.3%)
Mutual labels:  vulnerabilities, cve
Patrowlhears
PatrowlHears - Vulnerability Intelligence Center / Exploits
Stars: ✭ 89 (-76.82%)
Mutual labels:  vulnerabilities, cve
PocOrExp in Github
聚合Github上已有的Poc或者Exp,CVE信息来自CVE官网。Auto Collect Poc Or Exp from Github by CVE ID.
Stars: ✭ 544 (+41.67%)
Mutual labels:  vulnerabilities, cve
Cve Search
cve-search - a tool to perform local searches for known vulnerabilities
Stars: ✭ 1,765 (+359.64%)
Mutual labels:  vulnerabilities, cve
cwe-tool
A command line CWE discovery tool based on OWASP / CAPSEC database of Common Weakness Enumeration.
Stars: ✭ 40 (-89.58%)
Mutual labels:  vulnerabilities, cve
Cvebase.com
cvebase is a community-driven vulnerability data platform to discover the world's top security researchers and their latest disclosed vulnerabilities & PoCs
Stars: ✭ 88 (-77.08%)
Mutual labels:  vulnerabilities, cve
PatrowlHearsData
Open-Source Vulnerability Intelligence Center - Unified source of vulnerability, exploit and threat Intelligence feeds
Stars: ✭ 66 (-82.81%)
Mutual labels:  vulnerabilities, cve
PyParser-CVE
Multi source CVE/exploit parser.
Stars: ✭ 25 (-93.49%)
Mutual labels:  vulnerabilities, cve
Vulmap
Vulmap 是一款 web 漏洞扫描和验证工具, 可对 webapps 进行漏洞扫描, 并且具备漏洞利用功能
Stars: ✭ 1,079 (+180.99%)
Mutual labels:  vulnerabilities, cve
Writeups
This repository contains writeups for various CTFs I've participated in (Including Hack The Box).
Stars: ✭ 61 (-84.11%)
Mutual labels:  vulnerabilities, cve
Cve Bin Tool
This tool scans for a number of common, vulnerable components (openssl, libpng, libxml2, expat and a few others) to let you know if your system includes common libraries with known vulnerabilities.
Stars: ✭ 211 (-45.05%)
Mutual labels:  vulnerabilities, cve
Bugs-feed
Bug's feed is a local hosted portal where you can search for the latest news, videos, CVEs, vulnerabilities...
Stars: ✭ 90 (-76.56%)
Mutual labels:  vulnerabilities, cve
cwe-sdk-javascript
A Common Weakness Enumeration (CWE) Node.js SDK compliant with MITRE / CAPEC
Stars: ✭ 18 (-95.31%)
Mutual labels:  vulnerabilities, cve
Vulapps
快速搭建各种漏洞环境(Various vulnerability environment)
Stars: ✭ 3,353 (+773.18%)
Mutual labels:  vulnerabilities, cve
Bootstomp
BootStomp: a bootloader vulnerability finder
Stars: ✭ 303 (-21.09%)
Mutual labels:  cve
Vulnerabilitydb
Snyk's public vulnerability database
Stars: ✭ 345 (-10.16%)
Mutual labels:  vulnerabilities
Snyk
Snyk CLI scans and monitors your projects for security vulnerabilities.
Stars: ✭ 3,643 (+848.7%)
Mutual labels:  vulnerabilities
Android Vulnerabilities Overview
An small overview of known Android vulnerabilities
Stars: ✭ 282 (-26.56%)
Mutual labels:  vulnerabilities

OpenCVE

Tests Python versions Code style: black


OpenCVE, formerly known as Saucs, is a platform used to locally import the list of CVEs and perform searches on it (by vendors, products, CVSS, CWE...).

Users subscribe to vendors or products, and OpenCVE alerts them when a new CVE is created or when an update is done in an existing CVE.

How does it work

OpenCVE uses the JSON feed provided by the NVD to update the local list of CVEs.

After an initial import, a background task is regularly executed to synchronize the local copy with the NVD feed. If a new CVE is added, or if a change is detected, the subscribers of the related vendors and products are alerted.

For now the only method of notification is the mail, but we plan to add other integrations (webhooks, Slack, Jira, PagerDuty, OpsGenie...).

Requirements

OpenCVE works with Python >=3.6.

It uses the JSONB feature for performance, so you will need a PostgreSQL instance to store the data (CVE, Users, Vendors, Products, Subscriptions, ...). Other engines are not supported.

Celery is used to periodically fetch the NVD database and update the list of CVEs. For that you will need a broker : we recommend you Redis for the ease of installation. Futhermore it is possible that future versions of OpenCVE will use a cache feature, in that case the Redis requirement will already be filled for you.

During the import of initial data OpenCVE will download and parse huge files, like the CPE dictionnary. For that we recommend you 3.5G RAM at least.

Installation

You can install OpenCVE either using Docker with our dedicated repository or using pip with the following procedure :

$ pip install opencve

Configuration file

The first step is to create the configuration file. You can do it with the init command :

$ opencve init
[*] Configuration created in /Users/ncrocfer/opencve/opencve.cfg

Note: a custom path can be specified in the OPENCVE_CONFIG environment variable.

Initialize the database

The database can be configured using the database_uri variable of the opencve.cfg file. Once done the upgrade-db command will create all the tables :

$ opencve upgrade-db

Note: because it uses the JSONB feature for performance, OpenCVE only supports PostgreSQL.

Import the data

The database is now created, we need to populate it using the import-data command :

$ opencve import-data

This command can take several minutes, mainly for the list of vendors and products (around 10mn), so be patient :) But don't worry you will only do it once.

Start the workers

The synchronization between the OpenCVE database and the CVE list is done using a periodic Celery task.

A worker and the scheduler must be started for that (don't forget to configure the Celery configuration in the opencve.cfg file) :

$ opencve celery worker -l INFO
$ opencve celery beat -l INFO

Create an admin

$ opencve create-user john [email protected] --admin
Password:
Repeat for confirmation:
[*] User john created.

Start the webserver

You can finally launch the webserver and visit OpenCVE at localhost:8000 :

$ opencve webserver
[2020-07-14 20:38:06 +0200] [16032] [INFO] Starting gunicorn 20.0.4
[2020-07-14 20:38:06 +0200] [16032] [INFO] Listening at: http://127.0.0.1:8000 (16032)
[2020-07-14 20:38:06 +0200] [16032] [INFO] Using worker: sync
[2020-07-14 20:38:06 +0200] [16040] [INFO] Booting worker with pid: 16040

Note: the server name can be configured in the opencve.cfg file with the server_name variable.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].