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
.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.
.env
file templateDB_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
$ npm run migration:init
$ npm run migration:run
Default Credentials
A user account is created on initial startup with the following credentials:
admin@example.com
changeMe
Upon first login, update the default user password under the profile section.
Introduction to the Model Context Protocol (MCP) The Model Context Protocol (MCP) is an open…
While file extensions in Linux are optional and often misleading, the file command helps decode what a…
The touch command is one of the quickest ways to create new empty files or update timestamps…
Handling large numbers of files is routine for Linux users, and that’s where the find command shines.…
Managing files and directories is foundational for Linux workflows, and the mv (“move”) command makes it easy…
Creating directories is one of the earliest skills you'll use on a Linux system. The mkdir (make…