llm-guard-server/doc/MODULES.md

12 KiB
Raw Permalink Blame History

后端模块与任务计划

系统架构图

┌─────────────────────────────────────────────────────────────────┐
│                         客户端请求                               │
└─────────────────────────────┬───────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    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 自定义规则表