M.Sc. Information Security & Digital Forensics Project St. Peter's Institute of Higher Education and Research
webguard/
├── backend/
│ ├── app.py ← FastAPI main server
│ ├── modules/
│ │ ├── subdomain.py ← Subdomain enumeration
│ │ ├── google_dork.py ← Google dorking / OSINT
│ │ ├── shodan_scan.py ← Shodan port & service scan
│ │ ├── cloud_bucket.py ← S3 bucket exposure check
│ │ ├── hidden_paths.py ← Hidden path scanner
│ │ ├── cve_lookup.py ← CVE mapping (NVD/Shodan)
│ │ ├── risk_score.py ← Risk scoring engine
│ │ └── report_generator.py ← JSON / CSV / PDF reports
│ └── utils/
│ └── db.py ← SQLite scan history
├── frontend/
│ └── index.html ← Full UI (open in browser)
├── reports/ ← Generated reports saved here
├── requirements.txt
└── README.md
# Open VS Code in the webguard folder
code /path/to/webguardOpen the VS Code Terminal (`Ctrl + ``) and run:
cd backend
python3 -m venv venv
source venv/bin/activatepip install -r ../requirements.txtuvicorn app:app --reload --host 0.0.0.0 --port 8000Or press F5 in VS Code (uses .vscode/launch.json).
You should see:
INFO: Uvicorn running on http://0.0.0.0:8000
- Open
frontend/index.htmldirectly in your browser - OR install the VS Code Live Server extension and click Open with Live Server
| Key | Where to Get | Required For |
|---|---|---|
| Shodan API Key | https://account.shodan.io | Port scanning, services, CVEs |
| Google Custom Search API | https://console.developers.google.com | Google dorking |
| Google CX (Search Engine ID) | https://programmablesearchengine.google.com | Google dorking |
| NVD API Key (optional) | https://nvd.nist.gov/developers/request-an-api-key | Faster CVE lookup |
Enter these keys in the WebGuard UI — they are NOT stored anywhere permanently.
- Start the backend server (Step 4 above)
- Open
frontend/index.htmlin your browser - Enter a domain (e.g.,
example.com) - Paste your API keys
- Toggle modules on/off as needed
- Click ⚡ START SCAN
- Watch real-time progress
- Download results as JSON, CSV, or PDF
| Module | What It Finds |
|---|---|
| Subdomain Enum | Active subdomains via crt.sh, HackerTarget, DNS brute-force |
| Google Dorking | Exposed .env, .sql, backup, config, admin panels |
| Shodan | Open ports, running services, banners, known CVEs |
| S3 Bucket | Public/exposed Amazon S3 buckets |
| Hidden Paths | Admin panels, phpinfo, git config, debug endpoints |
| CVE Mapping | Matches detected services to NVD vulnerability database |
| Risk Score | 0–100 risk score with level: LOW / MEDIUM / HIGH / CRITICAL |
WebGuard is for educational and authorized security testing only.
Only scan domains you own or have written permission to test.
Unauthorized scanning may violate laws.
Jagadeesan M (SP24ISP002)
M.Sc. Information Security & Digital Forensics
St. Peter's Institute of Higher Education and Research, Chennai