SecureScope AI is a production-style full-stack cybersecurity assessment platform for importing scanner output, normalizing vulnerabilities, generating AI-assisted analysis, scoring security posture, and exporting professional penetration testing reports.
- Frontend: React, Tailwind CSS, Framer Motion, Recharts, Axios
- Backend: FastAPI, SQLAlchemy, PostgreSQL-ready configuration with the modern psycopg driver
- AI: OpenRouter chat completions API with an offline fallback when no key is configured
- Reports: ReportLab PDF generation
Backend, from the repository root:
python -m venv .venv
.venv\Scripts\activate
pip install -r backend\requirements.txt
copy backend\.env.example backend\.env
python -m uvicorn backend.main:app --reload --host 127.0.0.1 --port 8000From the repository root, seed demo data:
python -m backend.scripts.seed_demoFrontend:
cd frontend
npm install
copy .env.example .env
npm run devDefault demo credentials after seeding:
- Email:
analyst@securescope.ai - Password:
SecureScope123!
Supported development samples are in sample-scans/:
nmap-sample.xmlburp-sample.xmlnikto-sample.txtsslyze-sample.json
All imported findings are normalized to:
{
"title": "string",
"severity": "Critical | High | Medium | Low | Informational",
"description": "string",
"affected_host": "string",
"remediation": "string",
"references": "string",
"source": "string"
}Severity weights:
- Critical: 10
- High: 7
- Medium: 5
- Low: 2
- Informational: 1
The posture score starts from 100 and decreases based on weighted findings for the scan or workspace.
docker compose up --buildServices:
- Frontend:
http://localhost:8080 - Backend:
http://localhost:8000 - PostgreSQL:
localhost:5432
Important variables:
DATABASE_URLJWT_SECRET_KEYOPENROUTER_API_KEYOPENROUTER_MODELCORS_ORIGINSVITE_API_URL
Use .env.example, backend/.env.example, and frontend/.env.example as templates.
render.yaml defines:
- Dockerized FastAPI web service
- Static React frontend
- Managed PostgreSQL database
Set OPENROUTER_API_KEY in Render as a secret environment variable before enabling live AI analysis.