Files
wehub-resource-sync ce08f6b3a9
Sirius CI/CD Pipeline / Detect Changes (push) Has been cancelled
Sirius CI/CD Pipeline / Guard Registry Namespace (push) Has been cancelled
Sirius CI/CD Pipeline / Merge UI Manifest (push) Has been cancelled
Sirius CI/CD Pipeline / Build API (${{ matrix.platform }}) (push) Has been cancelled
Sirius CI/CD Pipeline / Merge API Manifest (push) Has been cancelled
Sirius CI/CD Pipeline / Build Engine (${{ matrix.platform }}) (push) Has been cancelled
Sirius CI/CD Pipeline / Merge Engine Manifest (push) Has been cancelled
Sirius CI/CD Pipeline / Build UI (${{ matrix.platform }}) (push) Has been cancelled
Sirius CI/CD Pipeline / Build Infra (${{ matrix.service }}, ${{ matrix.platform }}) (push) Has been cancelled
Sirius CI/CD Pipeline / Merge Infra Manifest (sirius-postgres) (push) Has been cancelled
Sirius CI/CD Pipeline / Merge Infra Manifest (sirius-rabbitmq) (push) Has been cancelled
Sirius CI/CD Pipeline / Merge Infra Manifest (sirius-valkey) (push) Has been cancelled
Sirius CI/CD Pipeline / Integration Test (push) Has been cancelled
Sirius CI/CD Pipeline / Public Stack Contract (push) Has been cancelled
Sirius CI/CD Pipeline / Dispatch Demo Deployment (sirius-demo branch) (push) Has been cancelled
Sirius CI/CD Pipeline / Dispatch Demo Canary (main branch) (push) Has been cancelled
docs: make Chinese README the default
2026-07-13 11:24:04 +00:00

8.4 KiB
Executable File
Raw Permalink Blame History

Note

本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。

Sirius Scan

CI Release Registry License: MIT Discord

Sirius Scan Dashboard

Sirius 是一款开源漏洞扫描器,支持自动发现、基于 CVE 的检测,并提供现代化的 Web UI。克隆仓库、运行四条命令,即可开始扫描。

快速开始

git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose -f docker-compose.installer.yaml run --rm sirius-installer
docker compose up -d

打开 http://localhost:3000 并登录:

Email admin@example.com
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 Engine 20.10+ 且配备 Compose V24 GB RAM10 GB 磁盘空间。支持 Linux、macOS 和 WindowsWSL2)。

Sirius 的功能

  • 网络发现(Network Discovery -- 通过 Nmap 自动枚举主机与服务
  • 漏洞检测(Vulnerability Detection -- 基于 CVE 的扫描,并提供 CVSS 评分
  • 风险仪表盘(Risk Dashboards -- 实时扫描进度、严重性趋势与修复指导
  • 远程代理(Remote Agents -- 通过 gRPC 在多个环境中进行分布式扫描
  • 交互式终端(Interactive Terminal -- PowerShell 控制台,用于高级脚本编写与自动化
  • REST API -- 与现有安全工作流集成(端口 9001 上的 X-API-Key 认证)

部署选项

安装步骤始终相同。仅 docker compose up 命令会有所不同。

模式 命令 使用场景
Standard docker compose up -d 大多数用户 -- 从 GHCR 拉取完整发布栈
Development docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d 本地代码开发的实时重载
Source Build docker compose -f docker-compose.yaml -f docker-compose.build.yaml up -d --build 显式进行本地全栈构建
Production docker compose -f docker-compose.yaml -f docker-compose.prod.yaml up -d 加固配置,pull_policy: always

非交互式安装(CI / Terraform / 自动化)

docker compose -f docker-compose.installer.yaml run --rm sirius-installer --non-interactive --no-print-secrets
docker compose up -d

轮换密钥

docker compose -f docker-compose.installer.yaml run --rm sirius-installer --force
docker compose up -d --force-recreate

验证安装

docker compose ps                    # all 6 services should show "healthy" or "running"
curl http://localhost:3000            # UI responds
curl http://localhost:9001/health     # API responds

预期服务:sirius-ui (3000)、sirius-api (9001)、sirius-engine (5174, 50051)、sirius-postgres (5432)、sirius-rabbitmq (5672, 15672)、sirius-valkey (6379)。

架构

graph TD
    subgraph clients [Clients]
        UI["Sirius UI (Next.js)"]
        CLI["Terminal and Agent Runtime"]
    end

    subgraph core [Core Services]
        API["Sirius API (Go/Gin)"]
        Engine["Sirius Engine"]
    end

    subgraph infra [Infrastructure]
        MQ["RabbitMQ"]
        DB["PostgreSQL"]
        Cache["Valkey"]
    end

    UI -->|"HTTP/WebSocket"| API
    CLI -->|"gRPC"| Engine
    API -->|"AMQP publish"| MQ
    MQ -->|"Queue consume"| Engine
    API -->|"SQL read/write"| DB
    Engine -->|"SQL read/write"| DB
    API -->|"Session/cache ops"| Cache
    Engine -->|"Scan state cache ops"| Cache
服务 技术栈 端口 用途
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 Valkey(兼容 Redis 6379 缓存与会话数据

界面

Dashboard Scanner Vulnerability Navigator
Dashboard Scanner Vulnerabilities
Environment Host Details Terminal
Environment Host Terminal

API

Sirius 在端口 9001 上暴露 REST 端点,由 内部服务 API 密钥(internal service API key 保护。优先使用 Docker 密钥文件(SIRIUS_API_KEY_FILE,默认 /run/secrets/sirius_api_key);SIRIUS_API_KEY 仍可作为环境变量回退方案。安装程序会写入 ./secrets/sirius_api_key.txt(模式 0644,以便非 root 应用 UID 可读取 bind-mounted 密钥),并完成两项配置。

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

安全建议

生产环境部署时:

  1. 轮换密钥 -- 使用 --force 运行安装程序,以重新生成全部凭据
  2. 限制端口 -- 仅暴露端口 3000UI);将 5432、6379、5672 保留在内部
  3. 使用反向代理 -- 在前端部署 nginx 或 Traefik,并启用 TLS
  4. 保持镜像更新 -- docker compose pull && docker compose up -d

故障排除

常见问题快速修复:

问题 修复方法
服务无法启动 使用 docker compose logs <service> 查找错误
开发 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

详细的运维手册、验证流程与紧急恢复,请参阅 Operations & Troubleshooting

贡献

开发环境搭建、编码规范与 PR 指南,请参阅 CONTRIBUTING.md

快速链接: Issues | Discussions | Discord

延伸阅读

License

MIT 许可证