ugurraydogan/urayvuln

GitHub: ugurraydogan/urayvuln

一个基于 Docker Compose 本地运行的 Web 安全平台,集成 Web 漏洞扫描与恶意软件静态分析两大功能。

Stars: 0 | Forks: 0

# UrayVuln 本地运行的、基于 Docker Compose 的 Web 安全平台: - **Vulnerability Scanner**(类似 Acunetix):对目标 URL 进行爬取、指纹提取、执行被动和主动检查,并根据严重程度报告发现。 - **Malware Analysis**(类似 VirusTotal):对上传的文件进行 hash/entropy 计算、PE 分析、strings/IOC 提取,并执行 YARA 和 ClamAV 扫描。 无身份验证 —— 专为 localhost 设计。动态(sandbox)分析目前仅作为接口/stub 存在;当前版本不支持真正的 QEMU/KVM 集成(参见 `backend/app/workers/malware/dynamic/`)。 ## 架构 ``` ┌──────────────┐ │ Browser │ └──────┬───────┘ │ HTTP (Jinja2+HTMX / JSON API) ┌──────▼───────┐ │ FastAPI │ (api container) │ api + web │ └───┬──────┬───┘ send_task│ │SQLAlchemy ┌─────▼──┐ ┌─▼──────────┐ │ Redis │ │ PostgreSQL │ │ broker │ └────────────┘ └──┬──┬──┘ queue=webscan│ │queue=malware ┌───────▼┐ ┌▼────────────┐ │worker- │ │worker- │ │webscan │ │malware │ │(httpx, │ │(pefile, LIEF,│ │Playwri-│ │yara-python, │ │ght) │ │clamd client) │ └────────┘ └──────┬───────┘ │ TCP 3310 ┌─────▼─────┐ │ ClamAV │ └───────────┘ ``` 每个 worker 都在独立的 Docker image 中运行(Playwright 依赖项在 webscan worker 中,yara/pefile 依赖项在 malware worker 中)—— API container 不会导入上述任何内容,而是通过名称(`send_task`)触发 Celery task。 ## 要求 - Docker Desktop(推荐在 Windows 上使用 WSL2 backend) - 约 4 GB 空闲磁盘空间(用于 ClamAV 病毒数据库 + Playwright Chromium 下载) ## 状态 由于当前环境**未安装 Docker 和 Python**,此代码库 未能进行编译和 运行测试——所有文件均已通过静态 审查(import 路径、Celery task 名称/routing、Alembic schema 与模型 完全匹配,并检查了 Jinja 模板引用),但在首次 执行 `docker compose up --build` 时,仍然可能会出现小错误(如包 版本不匹配、healthcheck 时间配置等)。如果您分享在首次 运行中遇到的错误,我可以立即修复。 ## 安装与运行 ``` copy .env.example .env docker compose up --build ``` 首次启动时: - `clamav` 服务会下载病毒数据库(freshclam)——这可能需要几分钟,在此期间,`worker-malware` 会通过 retry/backoff 等待执行 ClamAV 扫描。 - `api` container 在启动时会运行 `alembic upgrade head` 来创建数据库 schema。 应用程序访问地址:http://localhost:8000 ## 开发说明 - 代码从 `backend/app` 目录通过 bind-mount 挂载到 container 中;要进行实时更改,可以使用带 `--reload` 运行的 uvicorn/celery(参见各 Dockerfile)。 - 您可以将自己的 YARA 规则添加到 `yara_rules/` 目录中——malware worker 会在每次分析任务中重新编译该目录。 - 主动扫描检查(SQLi/XSS/open redirect)默认处于**关闭**状态;仅在已授权的目标上通过设置 `active_scan=true` 来运行。 ## 测试 ``` cd backend pip install -r requirements/dev.txt pytest ``` (不需要 Docker,属于纯逻辑测试——entropy 计算、header 检查、YARA 编译/匹配。)
标签:AV绕过, CISA项目, DAST, DNS 反向解析, Docker Compose, FastAPI, IP 地址批量处理, Web安全, 恶意软件分析, 搜索引擎查询, 测试用例, 版权保护, 特征检测, 网络信息收集, 蓝队分析, 逆向工具