Bulwark : An Organizational Asset & Vulnerability Management Tool

Bulwark is an organizational asset and vulnerability management tool, with Jira integration, designed for generating application security reports.

Jira Integration

Note: Please keep in mind, this project is in early development.

Launch With Docker

  1. Install Docker
  2. Create a .env file and supply the following properties:

MYSQL_DATABASE=”bulwark”
MYSQL_PASSWORD=”bulwark”
MYSQL_ROOT_PASSWORD=”bulwark”
MYSQL_USER=”root”
MYSQL_DB_CHECK=”mysql”
DB_PASSWORD=”bulwark”
DB_URL=”172.16.16.3″
DB_ROOT=”root”
DB_USERNAME=”bulwark”
DB_PORT=3306
DB_NAME=”bulwark”
DB_TYPE=”mysql”
NODE_ENV=”production”
DEV_URL=”http://localhost:4200″
PROD_URL=”http://localhost:5000″
JWT_KEY=”changeme”
JWT_REFRESH_KEY=”changeme”
CRYPTO_SECRET=”changeme”
CRYPTO_SALT=”changeme”

Build and start Bulwark containers:

docker-compose up -d

Start/Stop Bulwark containers:

docker-compose start
docker-compose stop

Remove Bulwark containers:

docker-compose down

Bulwark will be available at localhost:5000

Local Installation

$ git clone (url)
$ cd bulwark
$ npm install

Run in development mode:

$ npm run start:dev

Run in production mode:

$ npm start

Environment Variables

Create a .env file on the root directory. This will be parsed with dotenv by the application.

  • DB_PASSWORD

DB_PASSWORD="somePassword"

Set this variable to database password

  • DB_USERNAME

DB_USERNAME="foobar"

Set this variable to database user name

  • DB_URL

DB_URL=something-foo-bar.dbnet

Set this variable to database URL

  • DB_PORT

DB_PORT=3306

Set this variable to database port

  • DB_NAME

DB_NAME="foobar"

Set this variable to database connection name

  • DB_TYPE

DB_TYPE="mysql"

The application was developed using a MySQL database. See the typeorm documentation for more database options.

  • NODE_ENV

NODE_ENV=production

Set this variable to determine node environment

  • DEV_URL="http://localhost:4200"

Only update if a different port is required

  • PROD_URL="http://localhost:5000"

Only update if a different port is required

  • JWT_KEY

JWT_KEY="changeMe"

Set this variable to the JWT secret

  • JWT_REFRESH_KEY

JWT_REFRESH_KEY="changeMe"

Set this variable to the refresh JWT secret

  • CRYPTO_SECRET

CRYPTO_SECRET="randomValue"

Set this variable to the Scrypt password.

  • CRYPTO_SALT

CRYPTO_SECRET="randomValue"

Set this variable to the Scrypt salt.

  • Empty .env file template

DB_PASSWORD=””
DB_URL=””
DB_USERNAME=””
DB_PORT=3306
DB_NAME=””
DB_TYPE=””
NODE_ENV=””
DEV_URL=”http://localhost:4200″
PROD_URL=”http://localhost:5000″
JWT_KEY=””
JWT_REFRESH_KEY=””
CRYPTO_SECRET=””
CRYPTO_SALT=””

Create Initial Database Migration

  • Create the initial database migration

$ npm run migration:init

  • Run the initial database migration

$ npm run migration:run

Default Credentials

A user account is created on initial startup with the following credentials:

  • email: admin@example.com
  • password: changeMe

Upon first login, update the default user password under the profile section.

R K

Recent Posts

Networking Devices 101: Understanding Routers, Switches, Hubs, and More

What is Networking? Networking brings together devices like computers, servers, routers, and switches so they…

5 hours ago

Sock Puppets in OSINT: How to Build and Use Research Accounts

Introduction In the world of Open Source Intelligence (OSINT), anonymity and operational security (OPSEC) are…

7 hours ago

What is SIEM? Complete Guide to Security Information and Event Management

Introduction As cyber threats grow more sophisticated, organizations need more than just firewalls and antivirus…

17 hours ago

Website OSINT: Tools and Techniques for Reconnaissance

Introduction When it comes to cybersecurity and ethical hacking, one of the most effective ways…

1 day ago

Top OSINT Tools to Find Emails, Usernames and Passwords

Introduction In the world of cybersecurity, knowledge is power. One of the most powerful skillsets…

2 days ago

Google Dorking in Cybersecurity: A Complete Guide

Introduction In the vast ocean of the internet, the most powerful tool you already have…

2 days ago