AneezHussain/docsec

GitHub: AneezHussain/docsec

基于 Trivy 的容器安全仪表盘,提供镜像漏洞扫描、SBOM 浏览与 CVE 趋势可视化,解决生产环境中漏洞监控和可见性问题。

Stars: 0 | Forks: 0

# Docsec - 容器安全与漏洞管理平台 DocSec 是一个围绕 Trivy 构建的容器安全仪表盘。 它提供: - 自动化镜像漏洞扫描 - 手动镜像扫描 - SBOM 浏览 - CVE 趋势图 - 来自 NVD 的 CVSS 丰富信息 ## 技术栈 - Frontend: React + TypeScript + Vite - Backend: Go - Scanner: Trivy server 模式 - Metrics: Prometheus - Runtime: Docker Compose ## 前置条件 - Docker Desktop(或 Docker Engine + Docker Compose v2) - Git ## 项目结构 - `frontend/`: UI 应用程序 - `backend/`: API、扫描编排、认证、SBOM/CVE 处理 - `docker-compose.yml`: 多服务设置 - `.env`: 技术栈的运行时/构建配置 ## 环境配置 创建或编辑根目录下的 `.env` 文件。 当前变量: ``` # Backend service BACKEND_ADDR=:8081 TRIVY_SERVER=http://trivy:8088 MANUAL_REPORTS_DIR=/data/manual-reports SCAN_INTERVAL=30s DOCKER_HOST=unix:///var/run/docker.sock # Auth / JWT AUTH_USERNAME=change-me AUTH_PASSWORD=change-me AUTH_JWT_SECRET=replace-with-a-random-32-char-min-secret AUTH_TOKEN_TTL=1h AUTH_JWT_ISSUER=trivy-uo # Security controls CORS_ALLOWED_ORIGINS=http://localhost:3033 # Empty disables user-supplied authUrl for manual scans. TRIVY_ALLOWED_AUTH_HOSTS= # NVD enrichment (optional API key) NVD_API_URL=https://services.nvd.nist.gov/rest/json/cves/2.0 NVD_API_KEY= # Frontend chart default window: one of 1m, 10m, 1h, 24h, 1mo VITE_DEFAULT_TREND_WINDOW=1mo ``` 注意事项: - 启动时需要 `AUTH_USERNAME`、`AUTH_PASSWORD` 和 `AUTH_JWT_SECRET`。 - `AUTH_JWT_SECRET` 必须至少为 32 个字符。 - `NVD_API_KEY` 是可选的,但建议使用以提高 NVD API 的吞吐量。 - `VITE_DEFAULT_TREND_WINDOW` 用于前端构建时。更改后需重新构建前端。 - `CORS_ALLOWED_ORIGINS` 应仅包含受信任的前端来源。 - 除非明确需要用于手动扫描的 registry 认证 URL,否则请将 `TRIVY_ALLOWED_AUTH_HOSTS` 保持为空。 ## 安装和运行 (Docker) 1. 克隆仓库并进入目录。 ``` git clone cd docsec ``` 2. 确保外部 Docker 网络存在(`docker-compose.yml` 需要)。 ``` docker network create pangolin ``` 3. 在项目根目录中检查/更新 `.env`。 4. 构建并启动所有服务。 ``` docker compose up -d --build ``` 5. 验证服务配置。 ``` docker compose config ``` ## 访问 - Frontend: `http://localhost:3033` - Backend API: `http://localhost:8081` - Trivy server: `http://localhost:8088` - Prometheus: `http://localhost:9099` 登录: - username: `AUTH_USERNAME` 的值 - password: `AUTH_PASSWORD` 的值 ## 常用命令 ``` # Stop services docker compose down # Stop services and remove volumes docker compose down -v # View logs docker compose logs -f # Rebuild only frontend (needed after VITE_DEFAULT_TREND_WINDOW change) docker compose up -d --build frontend ``` ## 开发(仅限 Frontend) ``` npm install npm run dev ``` 这将通过根目录的 package 脚本运行前端开发服务器。
标签:CVE趋势分析, CVSS评分, DevSecOps, Docker Compose, Go, GPT, HTTP/HTTPS抓包, NVD, React, Ruby工具, SBOM, Syscalls, TypeScript, Vite, Web截图, 上游代理, 后端开发, 安全仪表盘, 安全插件, 容器安全, 态势感知, 手动镜像扫描, 日志审计, 漏洞管理, 版权保护, 硬件无关, 自动化漏洞扫描, 自定义请求头, 请求拦截