Bulwark – An Organizational Asset And Vulnerability Management Tool, With Jira Integration, Designed For Generating Application Security Reports
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
- Install Docker
- 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.
Built With
- Typeorm – The ORM used
- Angular – The Angular Framework
- Express – A minimal and flexible Node.js web application framework
Team
The Softrams Bulwark core development team are:
- Alejandro Saenz aka
Whamo12
- Bill Jones aka
skewled