Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
项目问题报告
P0 — 严重(需立即修复)
| # |
问题 |
文件 |
说明 |
| P0 |
多租户隔离完全失效 |
yubb-framework/.../YubbTenantLineHandler.java |
TenantLineHandler 实现被注释,租户间数据互通 |
| P0 |
SQL 注入风险 |
yubb-system/.../DynamicSqlProvider.java |
直接拼接用户输入到 SQL(insertDynamic、updateDynamic 等方法) |
| P0 |
硬编码密钥 |
多文件 |
MinIO 密码、阿里云 AK/SK、微信 appId/secret 等明文存储 |
P1 — 高优先级
| # |
问题 |
文件 |
说明 |
| P1 |
管理后台绕过 |
yubb-admin/.../SysPowerController.java:82 |
硬编码 admin ID,可跳过权限校验 |
| P1 |
XSS 防护关闭 |
yubb-admin/.../application.yml:99 |
xss.enabled: false |
| P1 |
Shiro Cookie 未设置 HttpOnly |
yubb-admin/.../application.yml:92 |
HttpOnly: false,session cookie 可被 JS 窃取 |
| P1 |
tenant_id 列无索引 |
sql/yb-20210820.sql |
JOIN 和 WHERE 过滤时全表扫描 |
P2 — 中优先级
| # |
问题 |
文件 |
说明 |
| P2 |
Spring Boot 2.5.6 已 EOL |
pom.xml:45 |
2021 年发布,无安全补丁,建议升级至 2.7.x 或 3.x |
| P2 |
pom.xml 版本不一致 |
pom.xml |
mybatis-plus(声明 3.5.3 / 实际 3.4.3.4)、druid(声明 1.2.4 / 实际 1.1.17) |
| P2 |
无单元测试 |
— |
零测试文件,生产系统无保障 |
P3 — 低优先级
| # |
问题 |
文件 |
说明 |
| P3 |
大量 System.out.println |
多处 |
30+ 处,分布在生产路径,应替换为日志框架 |
| P3 |
SysSingleController 职责过大 |
yubb-admin/.../SysSingleController.java |
超过 750 行,混杂 Web 层/业务逻辑/数据格式化 |
| P3 |
Controller 间直接 Autowire |
SysSingleController |
直接 Autowire shujuController,违反分层原则 |
| P3 |
NullPointerException 风险 |
SysPowerController.java:79-82 |
stationId 为 null 时仍调用 .equals() |
| P3 |
Maven 仓库使用 HTTP |
pom.xml:426-428,436-438 |
http://maven.aliyun.com 非 HTTPS,存在中间人攻击风险 |
| P3 |
tenant 过滤配置重复 |
yubb-admin/.../application.yml:150-151 |
platform_role_menu 和 platform_user_role 重复列出 |
修复优先级汇总
| 优先级 |
问题数 |
关键项 |
| P0 |
3 |
多租户隔离失效、SQL 注入、硬编码密钥 |
| P1 |
4 |
admin 绕过、XSS 关闭、HttpOnly 未设置、tenant_id 无索引 |
| P2 |
3 |
Spring Boot EOL、版本不一致、零测试 |
| P3 |
6 |
System.out、God Controller、HTTP 仓库 等 |