ndrmeda-s/Avulscan
GitHub: ndrmeda-s/Avulscan
基于 FastAPI 和 Docker 构建的模块化全栈漏洞扫描器,面向授权资产提供端口扫描、HTTP 安全标头分析和 PDF 审计报告生成。
Stars: 0 | Forks: 0
自动化漏洞扫描器

使用 **FastAPI** 和 **Docker** 构建的模块化全栈安全评估工具。
[](https://www.python.org/)
[](https://fastapi.tiangolo.com/)
[](https://www.docker.com/)
[](https://vercel.com/)
# 描述
**Avulscan** 是一款全栈安全评估工具,专为在预先授权的资产上进行教育用途而设计。它利用 **FastAPI** 和 **Docker**,模块化地扫描开放端口,评估 HTTP 安全标头,并输出 PDF 审计报告。兼容桌面和 Termux 环境。
# 核心功能
* **网络端口扫描:** 实时检查核心网络基础架构端口(`21`、`22`、`80`、`443`)。
* **HTTP 安全标头分析:** 实时检查关键防御标头(`HSTS`、`CSP`、`X-Frame-Options`、`X-Content-Type-Options`)。
* **隐蔽与绕过引擎:** 配备未验证的 SSL Context 以防止证书崩溃,并使用自定义的真实浏览器 User-Agent 绕过具有限制性的 Web Application Firewalls (WAF)。
* **企业级 PDF 报告生成器:** 自动将原始安全指标汇编成正式的审计 PDF 文档,包含动态绘制的矢量进度条和全面的资讯学定义。
* **严格的白名单安全机制:** 内置网络防护机制,将扫描严格限制在经过验证的测试实验室(`scanme.nmap.org`、`github.com` 和 `sayuran.vip`),以符合法律框架。
# 技术栈
### 后端(API 引擎)
* **Python 3.13** - 核心应用逻辑
* **FastAPI** - 用于构建 API 的现代高性能 Web 框架
* **Uvicorn** - 极速的 ASGI 服务器实现
* **FPDF2** - 具备矢量形状操作功能的高级 PDF 生成库
### 前端(用户仪表板)
* **HTML5 & Vanilla JavaScript** - 异步 API 获取和动态 DOM 注入
* **Tailwind CSS (via CDN)** - 现代、utility-first 的实用类框架,用于实现响应式深色模式样式
## 项目架构
```
avulscan/
├── backend/
│ ├── app.py # Main FastAPI Gateway & Whitelist Security
│ ├── requirements.txt # Backend Python dependencies
│ └── core/
│ ├── scanner.py # TCP Socket connection scanner
│ ├── header_scan.py # Stealth HTTP header analyzer
│ └── reporter.py # Vector PDF report generator engine
└── frontend/
├── index.html # Dark-mode dashboard UI
└── js/
└── app.js # Fetch API integration handler
```
# 如何在本地设置和运行
前置条件(适用于 Termux/Android 用户)
确保你拥有必要的编译器来构建基于 rust 的现代 Python wheels:
```
pkg update && pkg upgrade -y
pkg install clang make rust python -y
export ANDROID_API_LEVEL=24
```
## 1. 后端部署
导航到 backend 目录,安装依赖项,并启动 Uvicorn 服务器:
```
cd backend
pip install -r requirements.txt
uvicorn app:app --host 0.0.0.0 --port 8080 --reload
```
API 引擎将待命于 http://localhost:8080。
## 2. 前端部署
在 Termux 中打开一个新会话,导航到 frontend 目录,并运行一个轻量级的本地 HTTP 服务器:
```
cd frontend
python -m http.server 8000
```
打开浏览器并在以下地址访问交互式仪表板:http://localhost:8000。
## 许可证与使用条款
本项目采用双重许可模式:
**1. 前端 - MIT 许可证**
`frontend/` 下的代码采用 MIT 许可。请参阅 `frontend/LICENSE`。
**2. 后端 - Apache License 2.0 + 道德使用条款**
`backend/` 下的代码采用 Apache 2.0 许可。请参阅 `backend/LICENSE`。
**使用本软件的任何部分,即表示您同意以下具有约束力的条款:**
1. **仅限授权使用**:本工具仅供教育目的和授权的安全测试使用。您只能扫描您拥有或获得明确书面测试许可的系统。
2. **禁止非法活动**:未经授权的网络扫描可能会违反印度尼西亚的 UU ITE 等法律。任何非法使用将立即终止您对本软件的许可。
3. **强制执行白名单**:后端内置了硬编码的白名单:`scanme.nmap.org`、`github.com`、`avulscan.vercel.app`、`sayuran.vip`。严禁尝试绕过它。
4. **无保证与责任**:本软件按“原样”提供。对于因滥用造成的损害或法律后果,开发者不承担任何责任。
违反这些条款即构成侵犯版权。
标签:AV绕过, Docker, FastAPI, 反取证, 安全评估, 安全防御评估, 实时处理, 插件系统, 数据统计, 端口扫描, 网络调试, 自动化, 请求拦截, 逆向工具