sudokamal/Web-Application-Vulnerability-Scanner
GitHub: sudokamal/Web-Application-Vulnerability-Scanner
CyberGuardLab 是一个生产级 Web 应用漏洞扫描器,通过自动化爬取与多维度安全检测帮助团队发现并修复常见 Web 安全风险。
Stars: 0 | Forks: 0
# CyberGuardLab — Web 应用漏洞扫描器
CyberGuardLab 是一个可用于生产环境的全栈 Web 应用漏洞扫描器。该平台使安全专业人员、开发人员和管理员能够评估 Web 资产的常见安全风险,抓取站点页面,并导出高质量的报告。
## 功能
- **自动化安全扫描**:测试 URL 是否存在 22 种以上的漏洞,包括不安全的传输、缺失的安全标头(CSP、HSTS、XFO、XCTO、Referrer、Permissions)、cookie 标志(HttpOnly、Secure、SameSite)、目录列表、混合内容、版本信息泄露、暴露的 robots.txt/sitemap、不安全的 HTTP 方法、脆弱的 CORS 配置以及缺失的防 CSRF 保护。
- **Web 爬虫引擎**:异步抓取应用路径,识别可发现的页面、资源锚点以及 HTTP 响应状态。
- **标准化的 DTO 契约**:使用 AutoMapper 配置文件严格解耦数据库实体与 API 响应模型。
- **Serilog 结构化日志**:丰富的、配置驱动的日志记录,将结构化日志写入标准输出和轮转文件。
- **客户端 IP 速率限制**:按客户端 IP 划分的令牌桶和固定窗口速率限制器,用于防范拒绝服务攻击。
- **全局异常中间件**:标准化的 problem details 响应(RFC 7807),用于捕获验证失败、资源缺失和内部错误。
- **报告套件**:生成可直接提交给管理层的 PDF 扫描报告(使用 PDFSharp)和 JSON 扫描日志。
## 架构概述
本应用程序遵循 **Clean Architecture** 模式,分为四层:
1. **Domain**:核心实体与业务规则(例如:Target、Scan、Vulnerability)。
2. **Application**:通用接口、DTO、映射配置文件和验证器定义。
3. **Infrastructure**:数据库持久化(带有 PostgreSQL 的 Entity Framework Core)、token 生成、速率限制以及核心漏洞扫描/爬虫引擎。
4. **WebApi**:表示层,包括控制器、请求验证器、操作过滤器以及自定义异常处理中间件。
## 入门指南
### 前置条件
- .NET 10.0 SDK
- Node.js 20+
- PostgreSQL 15+
- Docker 与 Docker Compose(推荐)
### 使用 Docker Compose 运行
运行整个技术栈最简单的方法是使用 Docker Compose:
```
docker compose up -d --build
```
一旦启动,各项服务将可通过以下地址访问:
- **前端应用**:`http://localhost:3000`
- **Web API Swagger 文档**:`http://localhost:5023/openapi/v1.json`
## 技术指南
有关 API 使用和生产部署的详细文档可以在这里找到:
- [API 文档](API_DOCUMENTATION.md)
- [部署指南](DEPLOYMENT_GUIDE.md)
## 项目结构
```
├── src/
│ ├── VulnerabilityScanner.Domain/ # Entities, domain concepts
│ ├── VulnerabilityScanner.Application/ # DTOs, mappings, validators
│ ├── VulnerabilityScanner.Infrastructure/ # Database, security, engines
│ ├── VulnerabilityScanner.WebApi/ # Controllers, Program.cs, middleware
│ └── VulnerabilityScanner.UnitTests/ # xUnit Unit tests
├── frontend/ # Vite + TS dashboard app
├── docker-compose.yml # Production orchestration setup
├── README.md # Project landing page
```
标签:Docker部署, MITM代理, Web漏洞扫描器, 主机安全, 安全报告, 密码管理, 整洁架构, 测试用例, 版权保护, 请求拦截