Prerequisites#
Software#
Generally speaking, requirements are the following:
A GNU/Linux distribution. Tested on Debian Bookworm and Ubuntu 22.04.3 LTS
Python version >= 3.10. Tested with Python 3.11 and 3.12
Kvrocks database
Optionally:
PostgreSQL server for storage related to the users.
An email server — outgoing email for the accounts confirmation (password recovery, etc.);
Postfix, or an equivalent software, is required for the email notifications.
For the Web server you can use Gunicorn, uWSGI, Apache or Nginx.
Hardware#
For the core of the Vulnerability-Lookup service, we recommend the following baseline specifications for a public-facing deployment (running Kvrocks and PostgreSQL):
16 CPU cores
64 GB RAM
2 TB NVMe storage
The new VLAI capabilities are straightforward to set up, as we intentionally avoided adding complexity to the core Vulnerability-Lookup software or its dependencies. Instead, we developed a separate component called ML-Gateway, which is queried by the core service.
The requirements for ML-Gateway are currently minimal. For VLAI Severity, no GPU or specialized hardware is needed, as it uses a lightweight NLP model that is loaded at runtime. ML-Gateway requires:
4 GB of memory
200 GB of disk space
At least 4 vCPU cores
These requirements may increase depending on the VLAI features added in the future.
Network#
Deployment on the different servers requires an Internet connection, as updates are retrieved from the GitHub repository. The feeders also need Internet access to various locations, including Git repositories, HTTP endpoints, and specific APIs.