Nekosan-Studios/DockGuard

GitHub: Nekosan-Studios/DockGuard

一款面向自托管 Docker 环境的自动化漏洞扫描器,提供持续监控、Web 仪表盘和历史追踪功能。

Stars: 1 | Forks: 0

DockGuard # DockGuard **为您的自托管 Docker 容器提供自动漏洞扫描。**
DockGuard 是一款专为家庭实验室用户和自托管爱好者构建的免费、自托管安全扫描器。它监控您正在运行的 Docker 容器,自动扫描每个镜像以查找已知漏洞,并通过一个清晰的 Web 仪表盘让您了解存在的风险。 ## 截图 **仪表盘** ![仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/529a16c578005917.png) **容器** ![容器](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/50356852fe005929.png) **漏洞** ![漏洞](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/1d61e73db1005939.png) ## 功能特性 - **安装简单** — 只需检查 docker compose 文件中的几项配置即可启动运行。 - **持续监控** — DockGuard 持续监控您正在运行的容器。拉取新镜像或更新现有镜像后,它会自动进行扫描。无需手动触发,也无需配置 cron 作业。 - **自动更新** — DockGuard 会定期检查是否有更新的漏洞数据库。一旦发现新版本,它会自动重新扫描您的所有镜像。 - **优先处理关键问题** — 漏洞信息包含 [CVSS](https://www.first.org/cvss/) 严重性评分、[EPSS](https://www.first.org/epss/) 利用概率以及 [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)(已知被利用漏洞)目录。您可以按这些指标进行排序和筛选,从而专注于对您影响最大的发现。 - **减少误报** — 某些 CVE 虽然存在于镜像中,但实际上无法在您的环境中被利用。DockGuard 支持 [VEX (Vulnerability Exploitability eXchange)](https://www.cisa.gov/sites/default/files/2023-01/VEX_Use_Cases_Approved_508c.pdf) 证明:当镜像发布者正式将某个漏洞标记为在其镜像中不可利用时,DockGuard 可以将其隐藏,以便您专注于真正的风险,而不是噪音。 - **历史追踪** — 查看更新镜像后风险暴露的变化,并比较不同版本之间的结果。 - **完全自托管** — 无需云账户。无遥测数据。无订阅费用。DockGuard 完全在您的机器上运行,并将所有数据存储在本地 SQLite 数据库中。 ## 系统要求 - Docker - Docker Compose 这就行了。DockGuard 仅支持本地 Docker 实例,因此请在现有的 Docker 栈所在的位置运行它。其他所有必需内容都已打包在 DockGuard 容器内。 ## 快速开始 1. 将以下内容保存为 `docker-compose.yml`: ``` services: dockguard: image: ghcr.io/nekosan-studios/dockguard:latest ports: - "8764:8764" volumes: - ./data:/app/data # Persistent scan database - /var/run/docker.sock:/var/run/docker.sock # Access host Docker daemon environment: TZ: UTC # Set your local timezone restart: unless-stopped ``` 2. 检查 compose 文件并根据需要进行调整: - 将 `./data` 更改为您希望存放扫描数据库的位置 - 如果 Docker 套接字路径不在默认的 `/var/run/docker.sock`,请更新它 - 将 `TZ` 环境变量设置为您的当地时区 3. 启动它: ``` docker compose pull docker compose up -d ``` 3. 打开 [http://localhost:8764](http://localhost:8764)。 DockGuard 将检查以确保漏洞数据库是最新的,并在几分钟内开始扫描您的容器。 ## 配置 大多数设置可以直接在仪表盘的 **设置 (Settings)** 页面中更改。如果您更喜欢在基础设施层面进行配置,也可以使用以下环境变量。 | Variable | Default | Description | |---|---|---| | `TZ` | `UTC` | 您的当地时区。 | | `SCAN_INTERVAL_SECONDS` | `60` | 检查新容器或更新容器的频率(秒)。 | | `MAX_CONCURRENT_SCANS` | `1` | 并行扫描的镜像数量。在低内存系统上请谨慎增加。 | | `DB_CHECK_INTERVAL_SECONDS` | `3600` | 检查 Grype 漏洞数据库更新的频率(秒)。 | ## 许可证 本项目采用 [Polyform Shield License 1.0.0](LICENSE.md) 授权。 为什么选择这个许可证? 我们信奉“Fair Source(公平源码)”理念。我们希望所有人都能使用这个工具——从家庭实验室的爱好者到大公司的开发者——同时确保项目的长期可持续性。 对于开发者和公司:您可以免费使用、修改和运行本项目用于所有内部商业用途。 对于社区:如果您公开了改进版本或分支,许可证可确保这些内容在相同条款下对所有人开放。 对于竞争对手:您不能将本项目作为独立的“托管服务”或竞争性商业产品进行销售。
标签:CISA KEV, CVE 检测, CVSS 评分, Docker Compose, Docker 安全, EPSS 概率, GPT, PB级数据处理, VEX 支持, Web 仪表盘, Web截图, 安全运维, 家庭实验室, 容器安全, 开源安全工具, 提示词注入, 活动识别, 漏洞管理, 版权保护, 自托管, 请求拦截, 逆向工程平台, 镜像扫描, 镜像监控, 风险可视化