A privacy-first Python tool for password strength analysis and breach detection via Have I Been Pwned (HIBP) API.
No logs. No storage. Just Clarity and Privacy.
Password Inspector is an open-source, modular CLI tool designed and created for cybersecurity enthusiasts, auditors, developers, corporate IT teams and anyone who wants to know how strong their password is. It evaluates password strength based on password length, entropy & whether or not there are recurring characters and then checks public databases if passwords have been breached via k-anonymity ensuring that no passwords are logged. No password sent in plaintext. Built cleanly, with maintainable code and documentation under MIT License.
Author: Emmanuel Nkhoma
GitHub: @ENdev-code
License: MIT
Created: November 2025
Current Version: 2.33
Do you really know how strong your passwords are? Find out with Password Inspector.
~ Emmanuel Nkhoma AKA ENdev-code
Below is a description of the features Password Inspector can provide for you.
| Feature | Description |
|---|---|
| Password Strength Analysis | Scores passwords from 0–100 based on security criteria. |
| Breach Detection | Checks Have I Been Pwned via k-anonymity to verify if passwords have appeared in recent breaches. |
| CLI Support | Interactive mode, single password input or batch processing from wordlists. |
| Output Options | Provides human-readable reports, CSV exports and live progress updates. |
| Modular Design | Separates modules used for strength and breach checks making them easy to test and extend. |
| Cross Platform | Works on multiple platforms i.e. Windows, Linux, macOS. |
| Transparent Rules | See exactly how points are earned/lost. |
| Privacy Focused | Password are never saved, never sent in plaintext and are processed locally. |
Below is the scoring criteria for passwords that Password Inspector will use
| Basic Criteria | Points |
|---|---|
| 8+ characters | 5 |
| 12+ characters | 10 |
| 16+ characters | 15 |
| 20+ characters | 20 |
| No 3+ repeating chars | 10 |
An entropy check to determine how easily or likely a password can be cracked via zxcvbn.
Total entropy points to contribute to scoring criteria = 40.
| Entropy Score (zxcvbn) | Custom Score |
|---|---|
| 0 | 2 |
| 1 | 6 |
| 2 | 12 |
| 3 | 24 |
| 4 | 40 |
- Very Strong: ≥ 85 points
- Strong: ≥ 65 points
- Fair: ≥ 45 points (Consider editing)
- Weak: ≥ 20 points (Strongly recommend changing password, especially if breached)
- Very Weak: < 20 points (Change password.)
If your password is breached, CHANGE PASSWORD IMMEDIATELY.
Below is a comprehensive summary of use cases for Password Inspector
| Use Case | Description |
|---|---|
| Personal Use | Check if your own passwords are strong and see if they have been breached or are still safe to use. |
| Corporate Security Audits | Batch processing employee or system passwords for compliance reports. |
| Penetration Testing | Analyse leaked wordlists or default passwords during red team exercises (e.g., analysing common patterns used by targets). |
| Compliance Insurance | Proves password policy enforcement with frameworks like NIST & OWASP. |
| Educational Tool | Demonstrate and prove password best practices in cybersecurity training. |
| Developer Integration | Modules can be imported and integrated with custom apps (e.g., password managers). |
Step 1: Clone the Repository
git clone https:/github.com/ENdev-code/Password-Inspector.git
cd Password-InspectorScenario A - Step 2: Easy Route (.bat file/.sh file)
- On Windows: Open the folder where Password Inspector is and double-click the .bat file called run_PI.bat
- On Linux: Navigate to the Password Inspector directory and run the following command
./run_PI.sh Scenario B - Step 2: Create Virtual Environment
python -m venv venv
source .venv/bin/activate
#On Windows: & .\venv\Scripts\Activate.ps1Step 3: Install Dependencies
pip install -r requirements.txtStep 4: Run Script
python password_inspector_cli.pyRequirements:
- Python 3.13+
- requests (For HIBP API)
- Internet connection (for HIBP request)
i. Help Menu
- Shows usage options.
python password_inspector_cli.py --helpii. Version Check
- Shows the current version of Password Inspector.
python password_inspector_cli.py --version- Enter a password when prompted to check its strength level and breach status.
python password_inspector_cli.py - Run Password Inspector with a single password. Quotes are required for passwords with special characters.
python password_inspector_cli.py "yourPassword123!"- Processes passwords from a file (one per line)
- Outputs summary, strength score, breach status and detailed inspection details.
python password_inspector_cli.py yourwordlist.txt - Generates a comprehensible report of inspected passwords
- Report outlines the password, strength score, breach status, breach count, detailed inspection details and recommendations.
python password_inspector_cli.py yourwordlist.txt --report- Generates CSV file for analysis (Headers being: password, score, strong, pwned, breach_count, issues).
python password_inspector_cli.py yourwordlist.txt --csv > report.csv