spartancyberultron / apisecurityengine-v2

APISecurityEngine V2 (Full Stack)
0 stars 0 forks source link

Installation

1. Clone the git repository provided by APISecurityEngine team.

git clone <git_url>
cd <repo-folder>

Ensure Node JS Version on your machine is higher than 16.

2. Change directory to backend and run install the backend packages.

cd backend  
npm install

3. Connect MongoDB

You must have a MongoDB database setup before this.

Create a .env file in the backend folder with the below content:-

NODE_ENV = development
PORT = 5001
MONGO_URI = <your-mongodb-connection-string>

4. Create the Required Helper Directories

mkdir security-header-scan-results security-headers-tool soap-graphql-scan-results sslyze-scan-results uploads  
cd uploads  
mkdir postman-collections sbom-files soap-and-graphql-files ticket-attachments ticket-update-attachments  
cd sbom-file  
mkdir sbom-scan-result-files  
pm2 start server.js

This will start the backend service on port 5001. You can configure the port in .env file.

5. Change directory to frontend folder and install dependencies

cd ../frontend  
npm install  
npm run build

This will generate a build folder. Set the docroot of your frontend domain to the build folder.

6. Install the required helper tools.

You can find instructions on the below links:-

https://github.com/projectdiscovery/katana

https://github.com/devops-kung-fu/bomber

https://hub.docker.com/r/zaproxy/zap-stable

https://github.com/nabla-c0d3/sslyze

https://github.com/koenbuyens/securityheaders

Note- The process of setting up the frontend doc root and the reverse proxy for the backend, will vary as per the environment/platform you are using.

How to Use the Application

Login

Use the email and password provided by your system administrator to log into the application.

Login

Dashboard

After logging in, you'll be taken to a dashboard with navigation options on the left side and various charts and graphs on the right, along with organization-specific statistics.

Dashboard

Organization Management

Users Management

If you are logged in as the primary user of the organization, you can add more users under the organization.

Users

You can add, edit or delete users.

Add User

Edit User

Teams Management

Teams

You can add, edit or delete teams under your organization.

Add Team

While editing a team, you can add on or more users into the team.

Edit Team

Workspaces Management

You can add, edit or delete workspaces under your organization.

Workspaces

Add Workspace

While editing a workspace, you can give access to one or more teams to the workspace.

Edit Workspace

Members of those teams will be able to access and perform actions on all projects under the workspace.

Projects Management

You can add, edit or delete projects under your organization.

Projects

While adding a project, a workspace has to be selected. The project becomes a member of the workspace.

Add Project

Edit Project

Tickets

This section contains tickets created as a result of vulnerabilities found in any of the scans. For each vulnerability, a ticket will be opened.

Tickets

A ticket can also be opened manually.

Open Ticket

You can follow up to a ticket by adding an update.

View Ticket and Follow Up

Tickets can be closed as RESOLVED. They can bs set into IN PROGRESS and ON HOLD statuses as well. By default, a ticket has OPEN status.

Settings

Under settings, you can set the severity and priority of all security test cases, as per your organization policy.

You can also select the sensitive data classes (PII Data classes) recognized by your organization policy.

Settings

Result Integrations

Under result integrations, you can save integration keys from various platforms like Slack, Trello, JIRA, Asana, Azure Boards, Teams and Discord.

All the scan results will be sent to these channels on completion of a scan.

Result Integrations

REST API Scan Framework

  1. Adding API Collections:

API Inventory

  1. API Collection Versions:

Starting a Scan on a Collection Version:

  1. Scan Options:
  1. Viewing Scan Results:

All Scans

View Scan Report

  1. Vulnerability Details:

Mirroring Agents - API Traffic Scan Framework

  1. API Traffic Scanning:

Traffic Mirroring Agents

View Traffic Inventory

SOAP/GraphQL APIs Scan Framework

Under SOAP/GraphQL Scans , you can view the list if all scans performed.

SOAP/GraphQL Scans

You can also start a new scan.

Start SOAP/GraphQL Scan

You can view the result of a scan in detail, by clicking the View Report button in scans list.

SBOM Scan Framework

Under SBOM Scans , you can view the list if all scans performed.

SBOM Scans

You can also start a new scan.

Start SBOM Scan

You can view the result of a scan in detail, by clicking the View Report button in scans list.

LLM Scan Framework

Under LLM Scans , you can view the list if all scans performed.

LLM Scans

You can also start a new scan.

Start LLM Scan

You can view the result of a scan in detail, by clicking the View Report button in scans list.

Attack Surface Management

Under Attack Surface Scans , you can view the list if all scans performed.

Attack Surface Scans

You can also start a new scan on a domain.

Start Attack Surface Scan

You can view the result of a scan in detail, by clicking the View Report button in scans list.

Alerts

View Scan Report

PII Data

All PII Data (Sensitive Data Classes) found in the security scans under your account, can be seen in the PII Data section.

PII Data

Threat Modelling

Under threat modlling, you can view threat modelling of all REST API Scans and LLM Scans, by clicking on the Threat Modelling button.

Threat Modelling - REST

Threat Modelling - LLM

Threat Modelling View

Compliance Monitoring

Under compliance monitoring, you can view all compliance statuses for major compliance standards and the projects that are affected.

Compliance Monitoring- API

Compliance Monitoring - LLM

Integrations

Under integartions, you can view/configure integartions for:

Integrations

CLI Agent (Linux/Mac)

CLI Agent (Windows)

Postman

Watch the demo video

Burp Suite

Jenkins

Node JS

Python

PHP

Java

.NET

GoLang