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漏洞扫描器, 主机安全, 安全报告, 密码管理, 整洁架构, 测试用例, 版权保护, 请求拦截