Sirius Scan:开源漏洞扫描器(Nmap 发现 + CVE 检测 + Web UI)
Sirius Scan 是一个开源的漏洞扫描平台,提供自动化主机与服务发现(基于 Nmap)、基于 CVE 的漏洞检测与 CVSS 评分、实时风险仪表盘与修复指引,并支持通过 gRPC 的远程分布式扫描代理、交互式终端和 REST API。采用 Docker Compose 一键部署,六个服务自动启动,许可证为 MIT。
社区作者 · zZz
它解决什么问题
Sirius 是一个开源漏洞扫描器,具备自动化发现、基于 CVE 的检测和现代化 Web UI,官方描述为“克隆、运行四条命令、开始扫描”。
核心能力:
- 网络发现:通过 Nmap 自动进行主机与服务枚举。
- 漏洞检测:基于 CVE 的扫描并给出 CVSS 评分。
- 风险仪表盘:实时扫描进度、严重性趋势与修复指引。
- 远程代理:通过 gRPC 在多个环境中进行分布式扫描。
交互式终端:
PowerShell 控制台,用于高级脚本与自动化。
- REST API:可对接既有安全工作流(端口 9001,使用 X-API-Key 认证)。
架构与端口:
调用关系:UI 经 HTTP/WebSocket 访问 API;终端与代理运行时经 gRPC 访问 Engine;API 向 RabbitMQ 发布 AMQP 消息、由 Engine 消费队列;API 与 Engine 读写 PostgreSQL;API 做会话/缓存操作、Engine 做扫描状态缓存操作。
- sirius-ui(Next.js 14、React、Tailwind,端口 3000):Web 界面。
- sirius-api(Go、Gin,端口 9001):REST API 与业务逻辑。
- sirius-engine(Go + 内嵌 gRPC agent,端口 5174、50051):扫描器、终端、代理服务。
- sirius-postgres(PostgreSQL 15,端口 5432):漏洞与扫描数据。
- sirius-rabbitmq(RabbitMQ,端口 5672、15672):服务间消息通信。
- sirius-valkey(Redis 兼容,端口 6379):缓存与会话数据。
界面:仪表盘(Dashboard)、扫描器(Scanner)、漏洞导航器(Vulnerability Navigator)、环境(Environment)、主机详情(Host Details)、终端(Terminal)。参见配图 1 至配图 6。
API 访问:REST 端点位于 9001 端口,由内部服务 API Key 保护。优先使用 Docker secret 文件(SIRIUS_API_KEY_FILE,默认 /run/secrets/sirius_api_key),SIRIUS_API_KEY 仍作为受支持的环境变量回退方案。安装器会写入 ./secrets/sirius_api_key.txt(权限 0644,以便非 root 应用 UID 能读取绑定的 secret 文件)并同时配置两者。示例:
curl http://localhost:9001/health -H "X-API-Key: $SIRIUS_API_KEY"curl http://localhost:9001/api/v1/scan/get/all -H "X-API-Key: $SIRIUS_API_KEY"完整 API 文档见 REST API Reference。
生产环境安全建议:使用 --force 运行安装器以重新生成全部凭据;限制端口,仅暴露 3000(UI),保持 5432、6379、5672 为内部端口;在 nginx 或 Traefik 反向代理后启用 TLS;保持镜像更新(docker compose pull && docker compose up -d)。
适用对象:安全团队与渗透测试人员、需要自托管资产管理/漏洞管理的中小团队、需要自动化扫描接入 CI 或安全流程的运维与 DevSecOps 工程师。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
准备环境
Docker Engine 20.10+ 且使用 Compose V2;内存 4 GB;磁盘 10 GB;支持 Linux、macOS 和 Windows(WSL2)。一、快速开始(四条命令,按顺序执行)
步骤 1
git clone https://github.com/SiriusScan/Sirius.git步骤 2
cd Sirius步骤 3
docker compose -f docker-compose.installer.yaml run --rm sirius-installer步骤 4
docker compose up -d首次运行说明:安装器会在首次运行时生成安全密钥,可安全重复执行;六个服务会自动全部启动。
二、登录 浏览器打开 http://localhost:3000
- Email:[email protected]
- Password:由安装器打印,在输出中查找 INITIAL_ADMIN_PASSWORD。
三、镜像版本说明 默认情况下安装器不设置 IMAGE_TAG,因此 Compose 会从 GHCR 拉取 latest。若要固定发布版本(例如在 .env 中指定 v1.0.0),只有在六个容器镜像都存在该标签后才可这样做;可在未登录 ghcr.io 的 shell 中执行以下命令验证:
bash scripts/verify-ghcr-public-access.sh v1.0.0四、部署模式(安装器步骤始终相同,只有 docker compose up 命令不同)
标准(大多数用户,从 GHCR 拉取完整发布栈):
docker compose up -d开发(本地代码热重载):
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d源码构建(显式本地全栈构建):
docker compose -f docker-compose.yaml -f docker-compose.build.yaml up -d --build生产(加固设置,pull_policy: always):
docker compose -f docker-compose.yaml -f docker-compose.prod.yaml up -d- 非交互式安装(CI / Terraform / 自动化):
docker compose -f docker-compose.installer.yaml run --rm sirius-installer --non-interactive --no-print-secretsdocker compose up -d- 轮换密钥:
docker compose -f docker-compose.installer.yaml run --rm sirius-installer --forcedocker compose up -d --force-recreate五、验证安装
docker compose ps # 全部 6 个服务应显示 healthy或 running
curl http://localhost:3000 # UI 有响应curl http://localhost:9001/health # API 有响应预期服务与端口:sirius-ui(3000)、sirius-api(9001)、sirius-engine(5174、50051)、sirius-postgres(5432)、sirius-rabbitmq(5672、15672)、sirius-valkey(6379)。
六、API 调用
curl http://localhost:9001/health -H "X-API-Key: $SIRIUS_API_KEY"curl http://localhost:9001/api/v1/scan/get/all -H "X-API-Key: $SIRIUS_API_KEY"优先使用 Docker secret 文件(SIRIUS_API_KEY_FILE,默认 /run/secrets/sirius_api_key),SIRIUS_API_KEY 为受支持的环境变量回退。安装器会写入 ./secrets/sirius_api_key.txt(权限 0644)。
七、常见问题排查
- 服务无法启动:使用 docker compose logs <service> 查找错误。
- Dev overlay 缺少基础设施:需要同时使用两个文件 -f docker-compose.yaml -f docker-compose.dev.yaml。
- 端口冲突:使用 lsof -i :3000 查找占用进程。
数据库连接错误:执行
docker exec sirius-postgres pg_isready。
重置后密钥过期/陈旧:重新运行安装器,然后执行
docker compose up -d --force-recreate。
八、生产安全建议
- 轮换密钥:以 --force 运行安装器重新生成全部凭据。
- 限制端口:仅暴露 3000(UI),保持 5432、6379、5672 为内部端口。
- 使用反向代理:在前面部署 nginx 或 Traefik 并启用 TLS。
保持镜像更新:
docker compose pull && docker compose up -d。
界面参考:配图 1(Sirius Scan Dashboard)、配图 2(Scanner)、配图 3(Vulnerabilities)、配图 4(Environment)、配图 5(Host)、配图 6(Terminal)。
更详细的操作手册见仓库中的 Installation Guide、Interface Tour、Scanning Guide、Docker Architecture、System Architecture、CI/CD Guide、Operations & Troubleshooting;贡献指南见 CONTRIBUTING.md(Issues、Discussions、Discord 为快捷入口)。