dbsystel/trivy-vulnerability-explorer

GitHub: dbsystel/trivy-vulnerability-explorer

一个轻量级Web应用,用于将Trivy漏洞扫描报告可视化展示为可交互的数据表格,便于安全团队快速筛选和分析。

Stars: 169 | Forks: 43

:imagesdir: doc/img = Trivy Vulnerability Explorer 大量的 https://github.com/aquasecurity/trivy/issues[Trivy] 报告往往难以直观掌握,这正是创建此项目的原因。这是一个 Web 应用程序,允许加载 json 格式的 https://github.com/aquasecurity/trivy/issues[Trivy] 报告,并在交互式数据表中显示单个目标的漏洞。 .加载 Trivy 报告 image::overview-0.png[步骤 1:加载 Trivy 报告] .探索漏洞 image::overview-1.png[步骤 2:探索漏洞] == 使用方法 访问 https://dbsystel.github.io/trivy-vulnerability-explorer[应用程序^] 并加载 Trivy 报告 .json 文件。例如,要扫描一个过时的 alpine 镜像,可以运行以下命令来创建 `alpine-3.9.2.json` 报告。 [source,bash] ## trivy i -f json -o alpine-3.9.2.json alpine:3.9.2 现在将此文件加载到漏洞探索器中并开始探索。您可以按关键词过滤,或点击过滤栏中的类别之一来深入查看数据。您也可以使用仓库中的 link:src/assets/alpine-3.9.2.json[示例文件]。 数据永远不会离开您的浏览器,因为所有处理都在浏览器内部进行。当然,您可以自由 fork 此项目并部署您自己的版本。如果您这样做,希望您能在仓库上给我留言并点个 Star。 === 与 GitLab Job 集成 如果您使用 GitLab Job 生成 Trivy 报告,可以直接提供 json 文件的 URL。应用程序将获取报告并显示结果,无需先下载文件。您可能需要提供用于认证的 token,可以通过点击 URL 字段旁边的盾牌图标来设置。请确保创建具有 `read_api` 范围的个人访问令牌。该 token 将保存在本地存储中,以便您下次从同一 GitLab 实例加载报告时重复使用。 您可以向应用程序传递查询参数 `url`,它将在启动时从该 url 加载文件。建议在 Job 日志的末尾打印漏洞探索器的 URL,以便用户直接跳转到漏洞报告。如果报告名称为 `trivy-results.json`,则 url 模式如下所示: [source] ## https://dbsystel.github.io/trivy-vulnerability-explorer/#/?url=https://$CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/jobs/$CI_JOB_ID/artifacts/trivy-results.json 注意:最近路由实现有所更改,请确保在 URL 中包含 `#`,否则此功能将无法工作。 注意:虽然此功能是基于 GitLab 构建的,但它应适用于任何可以通过 GET HTTP 请求下载 json 的工件存储,且该请求最多需要一个 HTTP 标头进行认证。 == 使用 Docker 镜像运行 本项目提供托管在 GitHub Container Registry (GHCR) 上的 Docker 镜像。镜像通过 GitHub Actions 自动构建和发布。它包含一个 nginx,将在端口 8080 上提供应用程序服务。 === 可用标签 Docker 镜像使用多种策略进行标记,以便灵活选择合适的版本: [cols="1,2"] |=== |标签模式 |描述 |`latest` |指向主分支的最近一次构建 |`v{major}.{minor}.{patch}` |特定版本(例如 `v1.2.3`) |`v{major}.{minor}` |特定次要版本的最新补丁版本(例如 `v1.2`) |`v{major}` |特定主要版本的最新次要版本(例如 `v1`) |`sha-{commit}` |特定的提交哈希,用于精确的版本控制 |=== === 使用 Docker 镜像 [source,bash] ## docker run ghcr.io/dbsystel/trivy-vulnerability-explorer: 替换: * `` 为可用标签之一 运行最新版本的示例: [source,bash] ## docker run ghcr.io/dbsystel/trivy-vulnerability-explorer:latest ## == 开发 .设置 ## npm install ## .编译和热重载以用于开发 ## npm run dev == 许可证 本项目基于 link:LICENSE[Apache-2.0] 许可证授权
标签:DevSecOps, GitLab, GPT, JSON解析, 上游代理, 云安全监控, 交互式界面, 前端, 报告分析, 数据可视化, 数据表格, 暗色界面, 浏览器处理, 漏洞可视化, 漏洞管理, 请求拦截, 静态分析