zakery1369/Trivy-ui

GitHub: zakery1369/Trivy-ui

一个基于 Trivy 的 Docker 镜像安全扫描 Web 界面,支持波斯语与英语双语切换并集成 AI 智能分析漏洞报告功能。

Stars: 5 | Forks: 3

# Trivy Docker Image Scanner UI [فارسی](README.md) | [English](README.en.md) ![Trivy UI](https://static.pigsec.cn/wp-content/uploads/repos/cas/9e/9ef33859ea9e3eb29667b69480c22262b6c07bd040dc3a696e9bee179775d3d4.png) 一个简单的现代波斯语用户界面,用于使用 [Trivy](https://github.com/aquasecurity/trivy) 对 Docker Image 进行安全扫描。 该项目可帮助您无需直接运行 Trivy 命令,即可扫描 Docker Image、查看漏洞、获取安全报告,并利用人工智能获取分析结果和修复建议。 ## ✨ 功能 ## 🔍 Docker Image 安全扫描 - 支持波斯语(RTL)和英语(LTR)的双语用户界面 - 在仪表板中显示 Trivy 版本 - 查看系统上现有的 Docker Image - 支持扫描 Remote Image - 如果系统上不存在,则自动 Pull Image - 手动管理 Trivy 数据库 - 每次扫描时不自动更新数据库,以提高速度 Image 示例: ``` nginx:latest alpine:3.19 python:3.12-slim ubuntu:22.04 ``` ## 📊 扫描结果显示与分析 根据严重程度显示漏洞: - Critical - High - Medium - Low - Unknown 报告功能: - 根据严重程度过滤结果 - 在扫描结果中搜索 - 显示漏洞摘要 - 获取不同格式的报告: - HTML - JSON - SARIF - TXT ## 🌐 双语用户界面(波斯语和英语) Trivy UI 内置支持 **波斯语** 和 **English**。通过仪表板顶部的语言切换按钮,您可以瞬间切换语言,无需重新加载页面。 - 翻译仪表板文本、按钮、状态、过滤器、placeholder、tooltip 和辅助功能标签 - 自动更改语言和页面方向:波斯语为 **从右到左 (RTL)**,英语为 **从左到右 (LTR)** - 根据选择的语言(`fa-IR` 或 `en-US`)显示数字 - 将选择的语言保存在浏览器的 `localStorage` 中,并在下次访问时保持 - 切换语言后重建扫描摘要、漏洞表格和动态消息 - 在 AI 分析请求中发送选择的语言,以便以相同的用户界面语言生成修复建议 - 使用波斯语作为默认语言和后备语言(如果没有保存的设置或翻译) 更改语言只会影响界面的显示方式和 AI 响应的语言。CVE ID、包名称、版本、Image 地址和其他技术值保持不变,以确保准确性。 # 🤖 使用 AI 智能分析 Trivy 报告 该项目的主要功能之一是能够使用人工智能模型分析 Trivy 安全报告。 用户可以输入所需 AI 服务的 API Key,以便在扫描完成后,由 AI 检查 Trivy 报告并获取安全建议。 ## AI 分析功能 人工智能可以: - 对重要漏洞进行优先级排序 - 解释每个项目的风险等级 - 调查漏洞产生的原因 - 提供修复建议 - 建议降低风险的解决方案 - 建议对 Docker Image 或 Dependency 进行必要的更改 - 为 DevOps 和 Security 团队生成易于理解的安全报告 # ⚙️ AI 设置 要使用智能分析功能,用户必须输入其 AI 服务信息。 ## API Key 所需人工智能服务的访问密钥。 示例: ``` your-api-key ``` ## Base URL 人工智能服务的 API 地址。 示例: ``` https://api.openai.com/v1/ ``` ## Model 用于分析报告的模型。 示例: ``` gpt-5.1-codex-mini ``` ## Provider 选择人工智能模型的提供商。 示例: ``` Custom ``` # 🛠 前置条件 要运行该项目,必须安装以下软件: - Docker - Docker Compose 检查安装: ``` docker --version docker compose version ``` # 🚀 安装和运行 首先 Clone 项目: ``` git clone https://github.com/zakery1369/trivy-ui.git cd trivy-ui-docker ``` 然后 Build 并运行项目: ``` docker compose up -d --build ``` 成功运行后,可以通过以下地址访问用户界面: ``` http://localhost:8569 ``` # 🔄 修改后重新运行 如果您对项目源码进行了更改: ``` docker compose down docker compose build --no-cache docker compose up -d ``` # 📖 使用说明 ## 1. 选择 Docker Image 在主页上,将显示系统上现有的 Docker Image 列表。 用户可以选择所需的 Image 并开始扫描过程。 ## 2. 扫描 Remote Image 如果所需的 Image 在系统上不存在,您可以直接输入 Image 名称。 示例: ``` nginx:latest ubuntu:22.04 redis:7 python:3.12-slim ``` 在这种情况下,程序将: 1. 检查系统上是否存在该 Image 2. 如果需要,将其 Pull 3. 使用 Trivy 执行安全扫描 ## 3. 更新 Trivy 数据库 为了提高 Scan 的执行速度,该程序默认在每次扫描前不会 Update Trivy 数据库。 用户可以通过仪表板手动 Update Trivy 数据库。 优点: - 更好地控制 Update 时间 - 减少 Scan 执行时间 - 防止重复下载 ## 4. 使用人工智能分析报告 扫描完成后,用户可以将 Trivy 报告发送给 AI 进行分析。 步骤: 1. 由 Trivy 执行 Scan 2. 生成漏洞报告 3. 将报告发送给所选的 AI 模型 4. 接收安全分析和修复建议 AI 的输出包括: - 最重要的漏洞 - 解决问题的优先级 - 建议进行必要的更改 - 降低风险的解决方案 # 📁 项目结构 ``` trivy-ui-zakops/ ├── Dockerfile ├── docker-compose.yml ├── requirements.txt ├── README.md ├── trivy-cache └── app/ ├── main.py └── static/ ├── index.html ├── styles.css ├── app.js ├── zak.png └── fonts/ └── Vazirmatn.woff2 ``` # ⚠️ 重要的安全提示 该项目为了访问系统的 Docker Image,将 Docker Socket Mount 到容器中: ``` - /var/run/docker.sock:/var/run/docker.sock ``` Docker Socket 具有非常强大的权限,在敏感环境中应谨慎使用。 建议在受控环境中运行此工具: - 个人系统 - 测试环境 - 内部网络 - DevOps 服务器 - Security Lab 请勿在没有适当访问限制的公共服务器上运行此服务。 # 🧪 建议测试的 Image 要进行快速测试,您可以使用以下 Image: ``` alpine:3.19 nginx:latest ubuntu:22.04 redis:7 python:3.12-slim ``` # 🛑 停止服务 要停止该程序: ``` docker compose down ``` # 🧹 完全清理 要删除容器和 Volume: ``` docker compose down -v ``` # 关于 Trivy [Trivy](https://github.com/aquasecurity/trivy) 是一款由 Aqua Security 开发的开源安全工具。 Trivy 能够检查以下内容: - Docker Image Vulnerability Scanning - OS Package Vulnerabilities - Library Vulnerabilities - File System Scanning - Git Repository Scanning - Kubernetes Security Scanning - Infrastructure as Code (IaC) Misconfiguration Detection # 🧠 AI 分析架构 该项目中的 AI Analysis 功能设计为独立于提供商。 用户可以: - 选择自己的专用 AI 服务 - 输入个人的 API Key - 指定所需的 Model - 定义自定义的 API 地址 这种架构使得项目不依赖于特定的 Provider,并能够在不同的环境中使用。 # 🔗 链接 - GitHub: [zakery1369](https://github.com/zakery1369) - Telegram: [Zakops](https://t.me/Zakops) - Telegram: [DevOpsPersian](https://t.me/DevOpsPersian) - Telegram: [DevOpsZakops](https://t.me/DevOpsZakops) - Website: [zakops.com](https://zakops.com) # License Copyright (C) 2026 zakery1369 SPDX-License-Identifier: AGPL-3.0-or-later
标签:Docker镜像扫描, Web界面, 可视化面板, 多模态安全, 数据可视化, 版权保护, 自定义脚本, 请求拦截, 逆向工具