All Projects → Vulnogram → Vulnogram

Vulnogram / Vulnogram

Licence: MIT license
Vulnogram is a tool for creating and editing CVE information in CVE JSON format

Programming Languages

javascript
184084 projects - #8 most used programming language
Pug
443 projects
CSS
56736 projects

Projects that are alternatives of or similar to Vulnogram

vulristics
Extensible framework for analyzing publicly available information about vulnerabilities
Stars: ✭ 46 (-55.34%)
Mutual labels:  vulnerability, cve, cvss
fabric8-analytics-vscode-extension
Red Hat Dependency Analytics extension
Stars: ✭ 125 (+21.36%)
Mutual labels:  security-vulnerability, cve, nvd
cvss-calculator
A Java library for calculating CVSSv2 and CVSSv3 scores and vectors
Stars: ✭ 27 (-73.79%)
Mutual labels:  nvd, cvss, cvssv3
Faraday
Faraday introduces a new concept - IPE (Integrated Penetration-Test Environment) a multiuser Penetration test IDE. Designed for distributing, indexing, and analyzing the data generated during a security audit.
Stars: ✭ 3,198 (+3004.85%)
Mutual labels:  vulnerability, cve, security-automation
Vfeed
The Correlated CVE Vulnerability And Threat Intelligence Database API
Stars: ✭ 826 (+701.94%)
Mutual labels:  vulnerability, cve
Command Injection Payload List
🎯 Command Injection Payload List
Stars: ✭ 658 (+538.83%)
Mutual labels:  vulnerability, security-vulnerability
Cve 2017 0065
Exploiting Edge's read:// urlhandler
Stars: ✭ 15 (-85.44%)
Mutual labels:  vulnerability, cve
Ossf Cve Benchmark
The OpenSSF CVE Benchmark consists of code and metadata for over 200 real life CVEs, as well as tooling to analyze the vulnerable codebases using a variety of static analysis security testing (SAST) tools and generate reports to evaluate those tools.
Stars: ✭ 71 (-31.07%)
Mutual labels:  vulnerability, cve
Hacking
hacker, ready for more of our story ! 🚀
Stars: ✭ 413 (+300.97%)
Mutual labels:  vulnerability, security-vulnerability
Labs
Vulnerability Labs for security analysis
Stars: ✭ 1,002 (+872.82%)
Mutual labels:  vulnerability, cve
Cve 2018 20555
Social Network Tabs Wordpress Plugin Vulnerability - CVE-2018-20555
Stars: ✭ 78 (-24.27%)
Mutual labels:  vulnerability, cve
Herpaderping
Process Herpaderping proof of concept, tool, and technical deep dive. Process Herpaderping bypasses security products by obscuring the intentions of a process.
Stars: ✭ 614 (+496.12%)
Mutual labels:  vulnerability, security-vulnerability
Esfileexploreropenportvuln
ES File Explorer Open Port Vulnerability - CVE-2019-6447
Stars: ✭ 595 (+477.67%)
Mutual labels:  vulnerability, cve
Poccollect
Poc Collected for study and develop
Stars: ✭ 15 (-85.44%)
Mutual labels:  vulnerability, cve
Uxss Db
🔪Browser logic vulnerabilities ☠️
Stars: ✭ 565 (+448.54%)
Mutual labels:  vulnerability, cve
Vulnerability Data Archive
With the hope that someone finds the data useful, we periodically publish an archive of almost all of the non-sensitive vulnerability information in our vulnerability reports database. See also https://github.com/CERTCC/Vulnerability-Data-Archive-Tools
Stars: ✭ 63 (-38.83%)
Mutual labels:  vulnerability, cve
cwe-tool
A command line CWE discovery tool based on OWASP / CAPSEC database of Common Weakness Enumeration.
Stars: ✭ 40 (-61.17%)
Mutual labels:  cve, cwe
Linuxflaw
This repo records all the vulnerabilities of linux software I have reproduced in my local workspace
Stars: ✭ 140 (+35.92%)
Mutual labels:  vulnerability, cve
Vulnix
Vulnerability (CVE) scanner for Nix/NixOS.
Stars: ✭ 161 (+56.31%)
Mutual labels:  vulnerability, cve
Cve Check Tool
Original Automated CVE Checking Tool
Stars: ✭ 172 (+66.99%)
Mutual labels:  vulnerability, cve

Vulnogram

Making the world safer one CVE ID at a time, since 2017.

Introduction

Vulnogram is a tool for creating and editing CVE information in CVE JSON format, and for generating advisories.

The name Vulnogram is inspired from Greek origin suffix '-gram' which is used for denoting something written or recorded especially in a certain way. Vulnerability related information when recorded in a standard format can help in aggregation, curation, dissemination, analysis and remediation. This enables automation and efficiency in response activities.

Vulnogram project aims to make it easier for vendors and security researchers to accurately record vulnerability information for inclusion in the CVE List.

Getting started

Vulnogram can be deployed in two modes:

Browser mode Server mode
Frontend web UI only, as seen on vulnogram.github.io. A NodeJS web application serves frontend web UI for a backend Mongodb.
It is a Javascript based tool to open, import, edit, preview and save JSON documents which conform to a given JSON-Schema. It is a modern scalable issue tracker similar to JIRA or bugtrack but using JSON-Schemas as data models and a NoSQL database as a backend. Along with customizable plugins it can be used for tracking anything that can be expressed with a JSON-Schema. plugins are available for tracking security incidents, tickets, contacts, NVD entries and CVE assignments.
Can't save CVE JSON drafts. JSON documents are saved to a NoSQL (Mongodb) backend.
No login required. Users are authenticated.
No workflow or tracking. Allows tracking, querying, searching, version control, audit trail of changes, commenting and dashboard charts and graphs on collections of JSON documents.
Security considerations:
👍 Information entered in the tool is not transmitted anywhere out of the browser.
ℹ️ Download button saves the JSON document in the browser to a local file.
⚠️ Ensure local filesystem is secured.
⚠️ Avoid using the tool on a public computer (beware of browser autofill).
Security considerations:
ℹ️ Configure HTTPS in the config file.
⚠️ Ensure that MongoDB is secured and hardened. Mongodb backend is used for storing documents on the server.
⚠️ Keep configuration files secured.
⚠️ Only create accounts for trusted users. There is no RBAC or ACL feature (as of now)!

Server mode deployment

Step 1. Install required Node.js modules

$ cd vulnogram
$ npm install
... this should install required dependencies, (except process monitors) ...

Step 2. Setup monogodb to be used for persistent storage of CVE JSON and users

See https://www.mongodb.com/.

Important: Ensure mongodb authentication is enabled. It is recommended to run mongodb bound to loopback/localhost and not expose it to network.

Step 3. Edit the config parameters in conf.js to suit your requirements

See config/conf-default.js comments for hints.

Step 4 (Optional). Add custom templates, schemas, or routes

Copy the "default" directory as "custom" and modify relevant pug templates, schemas or routes. Files or fields from "custom" override "default".

Step 5. Configure a user on the CLI for logging in

$ node useradd.js tester [email protected] Tester [email protected] 1
Enter Password: ********************************************
Enter Password again: ********************************************
Success New user is now registered and can log in: tester

Step 6 (Optional). Configure the .env file

Copy the example.env file to .env and configure the environment variables to values you prefer. The values in .env will automatically be loaded as environment variables when Vulnogram starts. See dotenv for more details.

Step 7. Start the node application

$ node app.js

Step 8. Run the application as a daemon server

Use a process monitor like pm2 (preferred) or [forever] to run vulnogram as a service:

8.a Example using pm2

First install pm2 using instruction at pm2 documentation

$ pm2 start app.js
[PM2] Spawning PM2 daemon with pm2_home=/home/vulnogram/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /home/vulnogram/app.js in fork_mode (1 instance)
[PM2] Done.

8.b Example using forever

$ npm start
> [email protected] start /home/vulnogram/
> forever start --id 'vulnogram' --spinSleepTime 5000 --minUptime 2000 app.js

info:    Forever processing file: app.js
info:    Forever processes running
data:        uid  command                      script forever pid   id        logfile                      uptime
data:    [0] v3wE /usr/bin/node app.js 11208   11210 vulnogram /home/vulnogram/.forever/v3wE.log 0:0:0:0.23

Step 9. Finish

Web application should be now accessible at one of the following addresses, depending on configuration:

Browser mode deployment

Configure defaults

  • Install required nodejs modules. See step 1 above.
  • Configure Vulnogram following step 3 to 5 above.

Generate files needed for a front-end only static website (browser mode)

$ make min

This creates standalone /index.html with minimized javascript and stylesheets can be hosted independently on websites serving static files. This does not require the backend mongodb server or the nodejs server application to be running.

Note: Opening the index.html as a file URL may not work since some browsers (including Chrome) will not run async requests on file:// URLs. It is recommended to serve these files from a webserver. See https://developer.mozilla.org/en-US/docs/Learn/Common_questions/set_up_a_local_testing_server for examples on how to run a simple testing webserver.

Docker deployment

To run Vulnogram in a container alongside MongoDB, run the following command:

$ docker compose up

To modify the configuration options available, make a copy of the example.env file and make relevant modifications. Then launch Vulnogram by using the ENV_VAR_PATH environment variable. Replace example.env with the path to your file:

$ ENV_VAR_PATH=example.env docker compose up

To change the ports that Vulnogram or MongoDB are running on, use the MONGO_PORT and VULNOGRAM_PORT environment variables. When doing this, make sure to make the appropriate modifications within the environment variables file as well, so that the ports used inside the container match those being passed to docker compose:

$ cat my-env-vars.env | grep PORT
MONGO_PORT=12345
VULNOGRAM_PORT=54321
$ MONGO_PORT=12345 VULNOGRAM_PORT=54321 ENV_VAR_PATH=my-env-vars.env docker compose up

Dependencies

This project uses or depends on software from:

Copyright (c) 2017-2022 Chandan B N.

SPDX-License-Identifier: MIT

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].