CipherWatch is a security-focused password audit, entropy calculation, and breach threat intelligence platform. It features both an interactive rich Command Line Interface (CLI) and a web dashboard with real-time analytics.
- 📊 Shannon Entropy & NIST Scoring: Evaluates password strength using mathematical entropy calculation ($H = L \times \log_2(N)$) and NIST SP 800-63B standard composition rules.
- 🛡️ Real-Time Breach Intelligence: Integrates with the official XposedOrNot SDK to check password leak occurrences and email domain compromises without exposing user credentials.
-
⚡ Cryptographic Generator Hub: Generates cryptographically secure high-entropy passwords (
secretslibrary) and Diceware-inspired memorable passphrases. - 📜 Scan Vault & Audit Exports: Maintains local scan history (hashed SHA-256 fingerprints) and exports enterprise-grade PDF, JSON, and text reports.
-
🖥️ Dual Interfaces:
- Terminal CLI: Rich colored terminal interface with menu navigation.
- Web Dashboard: Modern glassmorphic Flask web interface with dynamic charts, live password strength spectrum, and dark mode design.
- 🔒 Privacy & Zero-Knowledge: No plaintext passwords or sensitive credentials are sent over the wire or stored in raw format.
- Python 3.8+ installed on your system.
- Git (optional, for cloning).
git clone https://github.com/your-username/CipherWatch.git
cd CipherWatchpip install -r requirements.txtRun the web application server (automatically launches your browser at http://127.0.0.1:5000/):
- Windows: Double-click
run_web.bator run:python web/app.py
- Linux / macOS: Run:
python3 web/app.py # or bash run_web.sh
Run the command-line interface in your terminal:
- Windows: Double-click
run_cli.bator run:python main.py
- Linux / macOS: Run:
python3 main.py # or bash run_cli.sh
CipherWatch/
├── main.py # CLI Application Entry Point
├── analyzer.py # Entropy & NIST Strength Analyzer Logic
├── breach.py # XposedOrNot Threat Intelligence Integration
├── generator.py # Cryptographic Password & Passphrase Generator
├── history.py # Vault Scan History Manager
├── reports.py # Report Generation (PDF, JSON, TXT)
├── banner.py # CLI Rich Banners & Menu UI
├── config.py # Environment Loader
├── utils.py # System & Network Utilities
├── requirements.txt # Python Dependencies List
├── LICENSE # MIT License
├── README.md # Repository Documentation
├── run_cli.bat / .sh # CLI Quick Launchers
├── run_web.bat / .sh # Web GUI Quick Launchers
├── history/ # Hashed Scan History Storage (scans.json)
├── reports/ # Output Directory for Exported PDF/JSON Reports
└── web/ # Web GUI App (Flask backend, Static CSS/JS, Templates)
├── app.py # Flask Server Backend & REST API
├── templates/ # HTML Front-end Views (index.html)
└── static/ # CSS Styles & JavaScript Logic
- Zero Raw Password Storage: Passwords scanned in CipherWatch are evaluated locally. Hashes stored in
history/scans.jsonare hashed using SHA-256 fingerprints. - K-Anonymity Breach Checking: Password leak queries use anonymized k-anonymity protocol endpoints via the XposedOrNot SDK. Plaintext credentials never touch external servers.
- No API Key Required: Public threat lookups work out-of-the-box using the open XposedOrNot SDK dataset.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is open-source under the MIT License.