# 安全常见问题

## 页面导读

本页回答 FastBee 安全修复和升级中的常见问题。逐项修复状态与证据以[安全公告与漏洞修复](https://www.fastbee.cn/doc/blog/system-vulnerability-fixes.html)为准，实际上线检查见[部署前安全核验清单](https://www.fastbee.cn/doc/help/security-deployment-checklist.html)。

## 1. 修复与版本

### 1.1. 新版本已经修复这些漏洞了吗？

官方维护代码已包含相应修复，但不能据此推断任意安装包都已包含修复。CVE-2026-120274 已公开修复提交 `890a33846005a937a58cccd738b7fb9821b82ea9`；其他项目也应按公告逐项核对。首个正式发布版本待核验时，应同时检查部署代码、配置和回归结果。

### 1.2. 如何确认当前实例是否受影响？

先记录实际版本和部署方式，再核对相关源码、接口、角色权限和开放端口。设备组越权要检查所有者校验，Groovy 要检查编译期和运行期防护，SIP XXE 要检查解析器配置。不要只根据版本号或第三方复现文章判断。

### 1.3. 直接更新到最新代码就安全了吗？

不是。维护代码修复不能替代实例验收，公网部署还涉及默认口令、演示权限、SIP 暴露、下载鉴权和自助注册。升级后必须完成正向和反向验证。

## 2. 升级与账号处理

### 2.1. 推荐按什么顺序升级？

先确认当前和目标版本，进入维护窗口并备份数据库与部署包，再阅读发布说明、按顺序执行升级 SQL、替换后端 jar 和前端资源，最后启动并验收。不要跨版本跳过 SQL，也不要只替换其中一端。

### 2.2. 商业版授权过期或做过二次开发，如何获得修复？

不要直接覆盖生产代码。先在独立分支或测试环境合并目标修复，区分官方修改与本地业务修改，处理代码冲突、数据库脚本、配置和前端依赖变化，再回归自定义协议、权限、页面和业务链路。

### 2.3. 默认账号密码需要删除或强制修改吗？

默认账号密码用于首次部署，用户可以在部署后自行修改，现有部署流程不变。公网或生产环境建议上线前修改默认口令、限制演示账号权限，防止被扫描器直接尝试。

## 3. 专项验证

### 3.1. 如何验证设备组越权已经修复？

使用两个不同所有者的测试账号，分别执行设备组读取、更新、重新分配、设备关联变更和删除。跨用户操作应被拒绝并留下日志，本人操作应正常。控制器、服务和 Mapper 不能只检查其中一层。

### 3.2. Groovy 修复只需隐藏脚本编辑入口吗？

不是。必须同时验证 `SecureGroovyScriptExecutor.compileSource` 的编译期限制和 `BusinessScriptInterceptor` 的运行期限制，并确认脚本入库和热加载前都执行同一套校验。隐藏入口或只删除 `import` 不能替代沙箱与权限控制。

### 3.3. 升级后应检查哪些安全日志？

检查登录与访问日志、越权拒绝、设备组异常变更、脚本变更与异常执行、SIP 日志和异常出站连接。日志只能辅助发现风险，不能代替拒绝性测试。

## 4. 报告与支持

### 4.1. 发现新的安全问题如何报告？

发送邮件至 `164770707@qq.com`，标题注明「FastBee 安全问题」，附上使用版本、受影响产品、复现步骤、影响说明和相关日志。尚未公开的问题不要先在公开 Issue 披露漏洞细节或可利用 POC。
