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截图, 上游代理, 后端开发, 安全仪表盘, 安全插件, 容器安全, 态势感知, 手动镜像扫描, 日志审计, 漏洞管理, 版权保护, 硬件无关, 自动化漏洞扫描, 自定义请求头, 请求拦截