This API is capable of generating passwords, validating them based on how secure they are and whether or not they have been found in a breach.
This API has 4 main functionalities
- Password Generation
- Password Validation/Analysis (How secure is the password? And is it a good password to use)
- Breach Checking (Has this password been found in a breach?) - This is achieved through HaveIBeenPwned's API to check for breached passwords
- Policy Validation (Does this password appropriately follow the requirements set out by the NCSC?)
In future versions and updates, it is plausible that the following may be implemented:
- Environment modelling to display the dangers and concerns surrounding poor passwords and security
- A vulnerabilities dashboard that is ideal for the cybersecurity team to check for vulnerabilities in security overall and adequately assess them
git clone https://github.com/WAMAAK-200/Security-Hub-API cd Security-Hub-API python -m venv venv source venv/bin/activate pip install -r requirements.txt
https://docs.docker.com/get-docker/
python run.py or python3 run.py
NOTE: If you plan on running this API locally, you will need to set up a .env file with the following variables:
- DB_NAME
- DB_USER
- DB_PASSWORD
- DB_HOST
- DB_PORT
- DATABASE_URL
- SUPABASE_URL
- SUPABASE_KEY
Additionally: these are the required HIBP variables for developing a .env file for local development:
- HIBP_API_BASE=https://api.pwnedpasswords.com
- HIBP_TIMEOUT=5.0
docker-compose up --build or docker compose up --build
If you wish to adapt this API for your own purposes, it may be ideal to create your own .env files as well as a supabase database