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](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界面, 可视化面板, 多模态安全, 数据可视化, 版权保护, 自定义脚本, 请求拦截, 逆向工具