在企业日常工作中,员工经常面临以下困境:
- 🔴 安全风险 - 员工从非官方网站下载软件,极易感染病毒、木马或恶意软件
- 🔴 版本混乱 - 缺乏统一的软件版本管理,导致兼容性问题频发
- 🔴 来源不明 - 无法追溯软件来源,安全审计困难
- 🔴 效率低下 - 软件申请流程繁琐,等待审批时间长
- 🔴 漏洞盲区 - 已知安全漏洞无法及时通知到所有使用者
Software Guard 是一个功能完善的企业内部软件分发管理系统,通过建立统一的软件分发中心,确保员工从安全的内部渠道获取软件,有效降低安全风险。
系统采用现代化的前后端分离架构,集成 AI 智能审核功能,提供直观的用户界面和强大的管理功能,让软件分发更安全、更高效。
- 安全可控 - 统一软件来源,杜绝非官方下载带来的安全风险
- 智能审核 - AI 驱动的软件申请自动审核,大幅提升审批效率
- 漏洞追踪 - 及时发现和通知软件安全漏洞,防患于未然
- 审计合规 - 完整的操作日志和下载记录,满足合规要求
- 用户友好 - 简洁直观的界面设计,降低学习成本
用户登录界面,支持账号密码登录
软件浏览界面,支持分类筛选和关键词搜索
查看软件详情、版本信息和安全漏洞提示
运维管理后台,展示系统统计数据
安全漏洞信息管理与通知
个人下载历史记录查询
| 功能 | 描述 |
|---|---|
| 📦 软件浏览 | 支持分类浏览和关键词搜索 |
| ⬇️ 安全下载 | 官方渠道下载,所有文件经过安全检查 |
| 📝 软件申请 | 一键申请未收录软件,AI 智能辅助审核 |
| 📊 下载历史 | 查看个人下载记录 |
| 下载前自动检查已知安全漏洞 |
| 功能 | 描述 |
|---|---|
| 🚀 软件管理 | 添加、编辑软件及版本上传 |
| ✅ AI 智能审核 | 自动评估软件申请,智能推荐决策 |
| 🛡️ 漏洞管理 | 漏洞信息录入与批量通知 |
| 📈 数据统计 | 下载量统计与趋势分析 |
| 👥 用户管理 | 用户权限与账号管理 |
| 🎯 系统配置 | 灵活的分类和权限配置 |
Software Guard 集成 AI 能力,实现软件申请的智能审核:
- 自动识别 - AI 自动识别申请软件的类别和风险等级
- 智能推荐 - 基于软件名称和描述,智能推荐审核决策
- 风险分析 - 分析软件申请的合理性和潜在风险
- 效率提升 - 减少 70% 的人工审核工作量
- 🔐 JWT 认证 - 无状态身份验证
- 🎭 RBAC 权限 - 用户/运维/管理员三角色
⚠️ 漏洞提醒 - 下载前安全检查- 📝 审计日志 - 完整操作追溯
- 🚦 访问控制 - 接口级权限校验
- 🛡️ 来源验证 - 确保所有软件来自可信渠道
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ FastAPI │────▶│ SQLAlchemy │────▶│ PostgreSQL │
│ Web 框架 │ │ ORM │ │ 数据库 │
└─────────────┘ └─────────────┘ └─────────────┘
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ AI │ │ storage/ │
│ 智能审核 │ │ 文件存储 │
└─────────────┘ └─────────────┘
- FastAPI - 高性能异步 Web 框架,自动生成 OpenAPI 文档
- SQLAlchemy - Python SQL 工具包和 ORM
- PostgreSQL - 可靠的关系型数据库
- Pydantic - 数据验证和设置管理
- AI Service - 集成大语言模型的智能审核服务
- uv - 极速 Python 包管理器
- Vue 3 - 渐进式 JavaScript 框架
- Ant Design Vue - 企业级 UI 组件库
- Vite - 下一代前端构建工具
- Pinia - Vue 3 状态管理库
- Axios - HTTP 客户端
- pnpm - 快速的磁盘空间节约包管理器
software_guard/
├── 📂 backend/ # 后端服务
│ ├── 📂 app/
│ │ ├── 📂 api/ # API 路由处理器
│ │ │ ├── auth.py # 认证接口
│ │ │ ├── software.py # 软件管理
│ │ │ ├── request.py # 申请流程(含 AI 审核)
│ │ │ ├── download.py # 下载统计
│ │ │ └── vulnerability.py # 漏洞管理
│ │ ├── 📂 core/ # 核心配置
│ │ │ ├── config.py # 环境配置
│ │ │ ├── database.py # 数据库连接
│ │ │ ├── security.py # JWT/加密
│ │ │ └── deps.py # 依赖注入
│ │ ├── 📂 models/ # SQLAlchemy 模型
│ │ ├── 📂 schemas/ # Pydantic 模式
│ │ └── 📂 services/ # 业务服务
│ │ │ └── ai_service.py # AI 智能审核服务
│ ├── 📂 storage/ # 软件文件存储
│ ├── main.py # 应用入口
│ └── pyproject.toml # uv 依赖配置
│
└── 📂 frontend/ # 前端项目
├── 📂 src/
│ ├── 📂 api/ # API 请求封装
│ ├── 📂 components/ # 公共组件
│ ├── 📂 views/ # 页面视图
│ │ ├── Login.vue # 登录页
│ │ ├── Layout.vue # 主布局
│ │ ├── Software/ # 软件相关页面
│ │ └── Admin/ # 管理后台
│ ├── 📂 router/ # 路由配置
│ └── 📂 stores/ # Pinia 状态管理
├── package.json
└── vite.config.js
| 要求 | 版本 | 说明 |
|---|---|---|
| Python | 3.9+ | 后端运行环境 |
| Node.js | 16+ | 前端运行环境 |
| PostgreSQL | 12+ | 数据库 |
| uv | 最新 | Python 包管理器 |
| pnpm | 最新 | Node.js 包管理器 |
# 1. 进入后端目录
cd backend
# 2. 安装依赖
uv sync
# 3. 配置环境变量 (.env)
DATABASE_URL=postgresql://user:password@localhost:5432/software_guard
SECRET_KEY=your-secret-key-here
STORAGE_PATH=./storage
# AI 服务配置(可选)
AI_API_KEY=your-ai-api-key
AI_MODEL=gpt-4
# 4. 启动服务
uv run python main.py后端服务运行在 http://localhost:8000
API 文档访问:http://localhost:8000/docs 📚
# 1. 进入前端目录
cd frontend
# 2. 安装依赖
pnpm install
# 3. 启动开发服务器
pnpm dev前端服务运行在 http://localhost:5173
首次启动自动创建管理员账号:
用户名: admin
密码: admin123
| 表名 | 描述 |
|---|---|
users |
用户信息与角色 |
software |
软件基础信息 |
software_versions |
软件版本详情 |
software_requests |
软件申请记录(含 AI 审核结果) |
download_logs |
下载行为日志 |
vulnerabilities |
安全漏洞信息 |
audit_logs |
操作审计记录 |
POST /api/auth/login # 用户登录
POST /api/auth/register # 用户注册
GET /api/auth/me # 获取当前用户GET /api/software # 软件列表
GET /api/software/{id} # 软件详情
POST /api/software # 创建软件
POST /api/software/{id}/versions # 上传版本
GET /api/software/categories # 分类列表POST /api/requests # 创建申请(AI 自动评估)
GET /api/requests # 申请列表
GET /api/requests/{id}/ai-review # AI 审核建议
POST /api/requests/{id}/review # 人工审核决策POST /api/downloads/{version_id} # 下载软件
GET /api/downloads/logs # 下载日志
GET /api/downloads/stats # 下载统计POST /api/vulnerabilities # 创建漏洞
GET /api/vulnerabilities # 漏洞列表
GET /api/vulnerabilities/check/{id}/{version} # 检查漏洞| 角色 | 权限 | 说明 |
|---|---|---|
| USER | 基础权限 | 浏览、下载、申请 |
| OPS | 运维权限 | + 软件管理、AI 辅助审核 |
| ADMIN | 管理员 | + 用户管理、系统配置 |
- 后端:基于依赖注入的接口级权限校验
- 前端:路由守卫 + 组件级权限判断
- 用户认证与权限系统
- 软件版本管理
- 下载统计与日志
- 漏洞追踪与通知
- 软件申请工作流
- AI 智能审核功能
- 邮件通知功能
- 软件评分与评论
- 文件病毒扫描集成
- Docker 部署支持
- CI/CD 流水线
- 软件自动更新检测
- 移动端适配
本项目采用 MIT License 开源协议





