ThreatScope is a powerful Chrome Extension built for security researchers, AppSec engineers, and red teamers to conduct real-time security design reviews of web applications.
It provides two scanning modes:
- ✅ DOM-Based Scan — Parses and analyzes input fields, form metadata, and potential client-side risks.
- 🧠 AI-Powered Visual Scan — Captures a full-page screenshot and uses the Gemini Vision API to generate a professional threat model report based on UI and layout.
- 🔍 DOM Scanner: Analyze:
- Input fields & types
- Presence of password fields
- CSRF tokens & HTTP methods
- HTTPS validation
- And more...
- 📸 Screen Capture Mode: Full-page capture + AI threat modeling
- 🤖 Gemini Vision Integration:
- STRIDE threat mapping
- Executive summary
- Risk scoring (0–10)
- Security design recommendations
- 📄 Client-ready HTML Report generated directly in the extension
- 🧾 Export to PDF with one click — share or archive securely
- Application Security Reviews (SDLC)
- Red Team Reconnaissance
- Threat Modeling Demonstrations
- Client Deliverables for AppSec Consulting
- Secure Design Validation for Login/Signup/Profile forms
| Capture Modes | AI Threat Model | PDF Export |
|---|---|---|
![]() |
![]() |
![]() |
├── extension/ # Chrome Extension (popup, background, DOM scanner)
├── server/ # Flask backend (Gemini Vision integration)
├── assets/ # screenshots...
├── README.md # Project documentation
- 1. Facebook Login Screen (Screenshot-based)
- 2. Instagram Login Form (DOM-based)
- 3. Twitter Home after Auth (Screenshot-based)
- 4. Twitter Home after Auth (DOM-based)
-
Clone the repo:
git clone https://github.com/viralvaghela/threatscope.git cd threatscope -
Go to chrome://extensions
-
Enable Developer Mode
-
Click Load Unpacked → Select the extension/ folder
cd server
pip install -r requirements.txt
python app.pyEnsure your API key is set inside app.py:
genai.configure(api_key="YOUR_GEMINI_API_KEY")HTML, CSS, JavaScript (Chrome Extension)
Python + Flask (Server)
Gemini Vision API (LLM-powered threat modeling)
- Store historical scans
- Context-aware checklist customization
- Annotate screenshots in the report
- Role-based summary generator (executive vs. technical
Pull requests are welcome! Open an issue to suggest new features or improvements.
git clone https://github.com/yourusername/threatscope.gitViral Vaghela 🔗 https://viralvaghela.com
This project was created purely for personal learning and experimentation during my free time. It is not affiliated with Zscaler, ThreatLabz, or any of their research, tools, or initiatives. All views and code are my own.



