How jsharma9992/security works
73sec is a web cybersecurity platform for authenticated website technology and vulnerability scans, plus subdomain discovery. Users enter through the web app, submit scans, and view results and saved scan history; separate routes provide scan details and subdomain scans. The sampled scanner API detects technologies and queries the NVD CVE service, while the subdomain API combines DNS checks and certificate-transparency data. MongoDB stores users and scan records. Some UI-to-API connections are explicit in sampled code; unsampled route behavior is not inferred.
Main entry points: page.tsx Scanner page · options.ts Google sign-in · mongodb.ts MongoDB client · route.ts Technology scan
Components 25
Web experience
- Home page
app/page.tsx - Scanner page
app/scanner/page.tsx - Scan form
app/components/scanner/ScanForm.tsx - Scan progress
app/components/scanner/ScanProgress.tsx - Scan results
app/components/scanner/ScanResults.tsx - Scan history
app/components/scanner/ScanHistory.tsx - Subdomain UI
app/components/scanner/SubdomainScanner.tsx - Scan details
app/scanner/details/[id]/page.tsx - Dashboard
app/dashboard/page.tsx - Subdomain page
app/subdomain-scanner/page.tsx - Navigation
app/components/Navbar.tsx
Identity
- Google sign-in
app/api/auth/options.ts - Auth route
app/api/auth/[...nextauth]/route.ts
Scan services
- Technology scan
app/api/scanner/route.ts - Scan record routes
app/api/scanner/[id]/route.ts - Scan history route
app/api/scanner/history/route.ts - Subdomain discovery
app/api/subdomain-scanner/route.ts - Subdomain detail route
app/api/subdomain-scanner/[id]/route.ts - Subdomain history route
app/api/subdomain-scanner/history/route.ts
Persistence
- Scan schemas
lib/schemas.ts - MongoDB client
lib/mongodb.ts - MongoDB
Other components
- User
- NVD CVE service
- crt.sh
Connections 29
- User → Home page: visits
app/page.tsx - User → Scanner page: opens
app/scanner/page.tsx - Scanner page → Scan form: renders
app/scanner/page.tsx - Scanner page → Scan progress: renders
app/scanner/page.tsx - Scanner page → Scan results: renders
app/scanner/page.tsx - Scanner page → Scan history: renders
app/scanner/page.tsx - Scanner page → Subdomain UI: renders
app/scanner/page.tsx - Scanner page → Technology scan: posts scan
app/scanner/page.tsx - Scanner page → Navigation: renders
app/scanner/page.tsx - Dashboard → Navigation: renders
app/dashboard/page.tsx - Scan details → Navigation: renders
app/scanner/details/[id]/page.tsx - Subdomain page → Navigation: renders
app/subdomain-scanner/page.tsx - Auth route → Google sign-in: uses options
app/api/auth/[...nextauth]/route.ts - Google sign-in → MongoDB client: connects users
app/api/auth/options.ts - Technology scan → Google sign-in: checks session
app/api/scanner/route.ts - Technology scan → MongoDB client: reads and writes
app/api/scanner/route.ts - Technology scan → Scan schemas: uses types
app/api/scanner/route.ts - Technology scan → NVD CVE service: looks up CVEs
app/api/scanner/route.ts - Scan record routes → Google sign-in: checks session
app/api/scanner/[id]/route.ts - Scan record routes → MongoDB client: reads and deletes
app/api/scanner/[id]/route.ts - Scan history route → Google sign-in: checks session
app/api/scanner/history/route.ts - Scan history route → MongoDB client: reads scans
app/api/scanner/history/route.ts - Subdomain discovery → Google sign-in: checks session
app/api/subdomain-scanner/route.ts - Subdomain discovery → MongoDB client: saves scans
app/api/subdomain-scanner/route.ts - Subdomain discovery → Scan schemas: uses types
app/api/subdomain-scanner/route.ts - Subdomain discovery → crt.sh: queries certificates
app/api/subdomain-scanner/route.ts - Subdomain detail route → Google sign-in: checks session
app/api/subdomain-scanner/[id]/route.ts - Subdomain detail route → MongoDB client: reads scans
app/api/subdomain-scanner/[id]/route.ts - MongoDB client → MongoDB: connects
lib/mongodb.ts