This project is a web application to calculate and store the criticality score of application security vulnerabilities. The score ranges from 1 to 10, where 10 is the most critical and 1 is the least critical. The application uses Node.js, Express.js, and SQLite for data persistence.
- User-friendly form to input vulnerability details and calculate the criticality score.
- Scores are calculated based on various factors like severity, exploitability, exposure, etc.
- Real-time display of the calculated score and detailed breakdown.
- Persistent storage of calculated scores using SQLite.
- View all stored scores with detailed breakdowns.
- Node.js
- Express.js
- SQLite
- Bootstrap for styling
- jQuery for AJAX requests
- Node.js installed
- npm (Node Package Manager) installed
-
Clone the repository:
git clone https://github.com/your-username/your-repo-name.git cd your-repo-name -
Install the dependencies:
npm install
-
Ensure the database directory exists:
mkdir database
-
Place the image and favicon files in the public directory:
- Ensure
entrata_logo.jpegand the favicon are placed inpublic/images.
- Ensure
-
Run the application:
node app.js
- Open your web browser and visit
http://localhost:3000to access the application.
|-- app.js
|-- package.json
|-- package-lock.json
|-- views
| `-- index.html
|-- public
| |-- css
| | `-- styles.css
| |-- images
| | |-- entrata_logo.jpeg
| | `-- favicon.jpeg
|-- database
| `-- scores.db
- Fill out the form with the details of the vulnerability.
- Click "Calculate Score" to see the total criticality score and detailed breakdown.
- Navigate to "View Scores" to see all stored scores along with detailed breakdowns.
Example breakdown:
- Severity: Critical (10)
- Exploitability: High (10)
- Exposure: Public (10)
- Impact: Severe (10)
- Asset Value: High (10)
- Compliance: High (10)
- Detectability: Low (10)
- Remediation Effort: High (10)
- Business Impact: High (10)
- User Impact: High (10)
- System Criticality: High (10)
- Environment: Production (10)
- Frequency: Frequent (10)
With the given weights, the total score is calculated as:
Total Score = 0.20*10 + 0.15*10 + 0.10*10 + 0.15*10 + 0.10*10 + 0.10*10 + 0.10*10 + 0.05*10 + 0.10*10 + 0.05*10 + 0.10*10 + 0.05*10 + 0.05*10 = 10
Feel free to submit issues or pull requests if you have any improvements or bug fixes.