llm-guard-server/doc/MODULES.md

317 lines
12 KiB
Markdown
Raw Normal View History

2026-01-31 22:40:00 +08:00
# 后端模块与任务计划
## 系统架构图
```
┌─────────────────────────────────────────────────────────────────┐
│ 客户端请求 │
└─────────────────────────────┬───────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ llm-guard-gateway (6201) │
│ 网关服务:路由、认证、限流、过滤 │
└─────────────────────────────┬───────────────────────────────────┘
┌───────────────┴───────────────┬───────────────┐
▼ ▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐ ┌──────────────────┐
│ llm-guard-auth │ │ llm-guard-modules │ │ llm-guard- │
│ 认证服务 │ │ 业务模块 │ │ safeguard │
├─────────────────────────┤ ├─────────────────────────┤ │ 防护服务(待开发) │
│ • 用户登录 │ │ • llm-guard-system │ ├──────────────────┤
│ • Token 签发 │ │ • llm-guard-biz │ │ • 规则匹配 │
│ • 权限认证 │ │ - 用户管理 │ │ • 内容检测 │
└─────────────────────────┘ │ - 角色管理 │ │ • 告警通知 │
│ - 菜单管理 │ │ • 审计记录 │
│ - 部门管理 │ └──────────────────┘
│ - 定时任务 │
│ - 日志审计 │
└─────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ 基础设施层 │
├──────────────┬──────────────┬──────────────┬───────────────────┤
│ Nacos │ Sentinel │ Redis │ DM Database │
│ 服务注册 │ 熔断限流 │ 缓存 │ 数据存储 │
│ 配置中心 │ │ │ │
└──────────────┴──────────────┴──────────────┴───────────────────┘
```
---
## 后端模块功能
### 一、服务层模块
#### 1. llm-guard-gateway网关服务
**端口**: 6201
作为系统的统一入口,负责请求路由和预处理:
- **路由转发**: 将请求转发到对应的微服务
- **统一认证**: JWT Token 验证
- **验证码处理**: 图形验证码生成与校验
- **熔断限流**: 集成 Sentinel 实现服务保护
- **跨域处理**: CORS 配置
- **请求日志**: 统一请求日志记录
#### 2. llm-guard-auth认证服务
负责用户身份认证与授权:
- **用户登录**: 用户名密码登录验证
- **Token 签发**: JWT Token 生成
- **Token 刷新**: Token 自动续期
- **权限验证**: 基于角色的访问控制
- **登录日志**: 记录用户登录行为
- **退出登录**: 清除登录状态
#### 3. llm-guard-safeguard防护服务[待开发]
核心安全防护模块,处理外来请求的安全检测:
- **规则匹配**: 请求内容与安全规则匹配
- **内容检测**: 文本内容安全检测(敏感词、恶意内容等)
- **告警通知**: 安全事件告警推送
- **审计记录**: 安全检测日志记录
- **规则管理**: 安全规则的增删改查
- **黑名单管理**: IP/用户黑名单管理
- **白名单管理**: IP/用户白名单管理
- **统计分析**: 安全事件统计分析
#### 4. llm-guard-modules-system系统管理
核心系统管理功能:
- **用户管理**: 用户增删改查、密码重置、状态管理
- **角色管理**: 角色定义、权限分配、数据权限
- **菜单管理**: 菜单配置、权限关联
- **部门管理**: 组织架构管理
- **岗位管理**: 岗位定义与维护
- **字典管理**: 系统字典类型与数据维护
- **参数配置**: 系统参数动态配置
- **通知公告**: 系统公告发布
- **日志管理**: 操作日志、登录日志
- **定时任务**: 任务调度与管理
#### 5. llm-guard-modules-biz业务模块
LLM 安全防护的核心业务模块,提供规则管理和配置功能:
**攻击防护RuleAttack**
- 注入攻击防护SQL、SHELL、CODE、FILE、LDAP、XSS 等注入检测
- 提示词安全Prompt 注入攻击检测
- DDOS 防护
- 协议安全
- 漏洞防护
**内容管控-内容审核RuleAuditContent**
- 检测范围配置:用户提问、模型回复、推理过程
- 敏感词库管理
- 风险等级划分:低、中、高、紧急
- 处理动作配置:拦截、替换
- 拒绝描述配置
**内容管控-数据识别RuleAuditDlp**
- 敏感数据识别:
- 身份证号
- 手机号
- 银行卡号
- 密钥类ACCESS_KEY
- 自定义正则
- 命中区域请求头、请求体、URL 查询条件
- 处理策略:全遮盖、保留首位、截断、直接阻断
**访问控制-IP 规则RuleVisitIp**
- IP 白名单管理
- IP 黑名单管理
- 支持正则匹配和网段匹配
- 作用范围:全局、智能体会话服务、多模态服务、语义服务
- 生效时间控制
**访问控制-接口规则RuleVisitInterface**
- 接口访问规则配置
- 请求类型控制PUT/POST/DELETE/GET/ALL
- 作用范围配置
- 生效时间控制
**访问控制-自定义规则RuleVisitRequest**
- 自定义匹配条件:
- 正则匹配
- 全等匹配
- 包含匹配
- 前缀匹配
- 命中区域请求头、请求体、URL 查询条件
- 处理动作:拦截、允许
- 作用范围和生效时间控制
---
### 二、公共模块llm-guard-common
| 模块 | 功能 |
|------|------|
| llm-guard-common-core | 核心公共组件:注解、上下文、领域对象、枚举、异常、工具类 |
| llm-guard-common-security | 安全组件登录认证、Token 处理、权限注解、安全配置 |
| llm-guard-common-redis | 缓存组件Redis 配置、缓存服务、注解支持 |
| llm-guard-common-log | 日志组件:日志记录、@Log 注解、AOP 切面、日志过滤器 |
| llm-guard-common-datasource | 数据源组件:数据源配置、动态数据源、事务管理 |
| llm-guard-common-datascope | 数据权限:@DataScope 注解、基于部门/角色的数据过滤 |
| llm-guard-common-sensitive | 数据脱敏:@Sensitive 注解、字段脱敏处理 |
| llm-guard-common-mybatisplus | ORM 组件BaseEntity 基础实体、字段填充、分页插件 |
| llm-guard-common-swagger | API 文档Swagger 配置、接口分组 |
---
### 三、API 模块llm-guard-api
| 模块 | 功能 |
|------|------|
| llm-guard-api-system | 系统相关接口定义Feign 接口) |
---
## 任务计划
### 阶段一:基础完善(进行中)
- [ ] **网关服务完善**
- [ ] 完善路由配置
- [ ] 优化过滤器链
- [ ] 完善限流规则
- [ ] **认证服务优化**
- [ ] 优化 Token 管理
- [ ] 完善刷新机制
- [ ] 增加多端登录控制
- [ ] **系统管理模块完善**
- [ ] 补充用户管理功能
- [ ] 完善角色权限管理
- [ ] 优化菜单管理
- [ ] **测试与文档**
- [ ] 补充单元测试
- [ ] 完善 API 文档
- [ ] 编写使用手册
---
### 阶段二:防护模块开发(待启动)
- [ ] **llm-guard-safeguard 模块搭建**
- [ ] 创建模块基础结构
- [ ] 配置 Nacos 注册发现
- [ ] 配置 Gateway 路由规则
- [ ] 配置数据库连接
- [ ] **规则引擎设计**
- [ ] 设计规则数据模型
- [ ] 实现规则匹配引擎
- [ ] 支持多种规则类型:
- [ ] 关键词匹配
- [ ] 正则表达式匹配
- [ ] AI 检测
- [ ] 规则优先级管理
- [ ] 规则生效时间控制
- [ ] **内容检测功能**
- [ ] 敏感词检测
- [ ] 恶意内容识别
- [ ] 注入攻击检测SQL 注入、XSS 等)
- [ ] 越权访问检测
- [ ] 频率限制检测
- [ ] **告警通知功能**
- [ ] 告警规则配置
- [ ] 告警级别定义
- [ ] 多渠道告警:
- [ ] 邮件告警
- [ ] 短信告警
- [ ] 钉钉告警
- [ ] 企业微信告警
- [ ] 告警去重与聚合
- [ ] 告警恢复通知
- [ ] **审计记录功能**
- [ ] 检测日志记录
- [ ] 告警日志记录
- [ ] 操作审计追踪
- [ ] 日志查询与导出
- [ ] **黑白名单管理**
- [ ] IP 黑白名单
- [ ] 用户黑白名单
- [ ] 设备指纹管理
- [ ] 黑名单自动过期
- [ ] **统计分析**
- [ ] 安全事件统计
- [ ] 趋势分析
- [ ] 可视化报表
- [ ] 风险评估
---
### 阶段三:性能优化(待启动)
- [ ] **接口性能优化**
- [ ] 接口响应时间优化
- [ ] 批量操作优化
- [ ] 异步处理优化
- [ ] **缓存策略优化**
- [ ] 缓存预热
- [ ] 缓存更新策略
- [ ] 缓存穿透/击穿/雪崩防护
- [ ] **数据库优化**
- [ ] SQL 查询优化
- [ ] 索引优化
- [ ] 分表分库方案
- [ ] **分布式缓存优化**
- [ ] Redis 集群方案
- [ ] 缓存一致性方案
---
### 阶段四:监控告警(待启动)
- [ ] **服务监控**
- [ ] 完善健康检查
- [ ] 服务熔断降级优化
- [ ] **业务监控**
- [ ] 接口调用量监控
- [ ] 错误率监控
- [ ] 业务指标监控
- [ ] **告警系统**
- [ ] 监控告警规则
- [ ] 告警通知渠道
- [ ] 告警处理流程
---
## 数据库设计
### 现有数据表
| 表名 | 说明 |
|------|------|
| d_sys_user | 用户表 |
| d_sys_role | 角色表 |
| d_sys_menu | 菜单表 |
| d_sys_dept | 部门表 |
| d_sys_post | 岗位表 |
| d_sys_dict_type | 字典类型表 |
| d_sys_dict_data | 字典数据表 |
| d_sys_config | 参数配置表 |
### 业务模块数据表llm-guard-biz
| 表名 | 说明 |
|------|------|
| d_rule_attack | 攻击防护规则表 |
| d_rule_audit_content | 内容审核规则表 |
| d_rule_audit_dlp | 数据识别规则表 |
| d_rule_visit_ip | IP 规则表 |
| d_rule_visit_interface | 接口规则表 |
| d_rule_visit_request | 自定义规则表 |