Rathii007/AI-Powered-Web-Vulnerability-Scanner
GitHub: Rathii007/AI-Powered-Web-Vulnerability-Scanner
一款面向生产环境的教育级 Web 漏洞扫描器,采用 FastAPI + Next.js 全栈架构,具备用户认证、SSRF 防护和监控能力。
Stars: 0 | Forks: 0
# VulnScanner
面向生产环境的教育级 Web 漏洞扫描器,后端采用 FastAPI,前端采用 Next.js。
## 此加固构建包含的内容
- 适配 PostgreSQL 的数据库配置。
- JWT 认证(注册/登录/用户信息端点),支持按用户授权扫描。
- 防御 SSRF 的目标验证与速率限制。
- 监控端点(`/health/*`、`/metrics`)。
- 可选的 Sentry 错误跟踪,通过 `SENTRY_DSN` 配置。
## 本地运行(不使用 Docker)
### 后端
```
cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
set DATABASE_URL=postgresql+asyncpg://scanner:scanner@localhost:5432/scanner
set JWT_SECRET_KEY=change-me-in-production
set ALLOWED_ORIGINS=http://localhost:3000
python run.py
```
### 前端
```
cd frontend
npm install
set NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
npm run dev
```
## 使用 Docker Compose 运行
```
# 从 repo root
set ALLOWED_ORIGINS=http://localhost:3000
set NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
set JWT_SECRET_KEY=change-me-in-production
set POSTGRES_PASSWORD=scanner
docker compose up --build
```
## 部署前必需的环境变量
在部署环境中启动应用程序之前,请先设置以下变量:
### 后端环境
- SCANNER_API_KEY=
- DATABASE_URL=postgresql+asyncpg://:@:5432/
- JWT_SECRET_KEY=
- JWT_ALGORITHM=HS256
- JWT_ACCESS_TOKEN_EXPIRE_MINUTES=120
- ALLOWED_ORIGINS=https://your-frontend-domain.com
- ENABLE_METRICS=true
- SENTRY_DSN=
### 前端环境
- NEXT_PUBLIC_API_BASE_URL=https://your-backend-domain.com
- 前端:http://localhost:3000
- 后端:http://localhost:8000
- 健康检查:
- http://localhost:8000/health/live
- http://localhost:8000/health/ready
## 已包含的生产环境加固措施
- 可配置的严格 CORS 白名单。
- JWT 认证,支持按用户授权扫描。
- 基础的按 IP 速率限制中间件。
- 目标 URL 验证,阻止私有网络 SSRF。
- 用于编排和监控的健康与指标端点。
- 可选的 Sentry 集成以进行错误跟踪。
标签:AV绕过, CISA项目, Docker, FastAPI, JWT认证, PostgreSQL, Python, Rate Limiting, React, SSRF防护, Syscalls, Web安全, 加密, 安全教育, 安全防御评估, 无后门, 测试用例, 漏洞扫描器, 生产环境加固, 网络安全, 蓝队分析, 请求拦截, 逆向工具, 隐私保护