Files
GovAI/docs/security-audit-report.md
T
selfrelease 60b4c3244e security: P1 Cookie Secure标志 + P0 Go补丁升级脚本 + 第三轮审计报告
- P1: auth.go 8处Cookie补充Secure:true+SameSite,gosec 84→78
- P0: 新增go-upgrade.sh (check/upgrade/status三模式)
- docs: 安全审计报告第十一章 - SAST/CVE/CWE审计结果
2026-06-26 15:53:05 +08:00

449 lines
20 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# GovAI 安全审计报告
**首次审计**2026-06-25
**二次复查**:2026-06-26(上午安全事件处置)
**四次全面审计**2026-06-26 晚间(本次)
**扫描范围**:本地代码库(30,610 个源码文件)+ 服务器端(154.8.162.18+ 配置文件
---
## 一、安全事件处置回顾
### 1.1 Pakchoi 后门清理(已处置)
| 项目 | 状态 | 说明 |
|------|------|------|
| pakchoi 用户 | ✅ 已清理 | 此前会话中已删除 |
| 恶意 cron 任务 | ✅ 已清理 | pakchoi 相关自动创建脚本 |
| pakchoi 进程 | ✅ 无残留 | 服务器进程列表中未发现 |
| pakchoi 文件 | ✅ 无残留 | 服务器 /tmp /opt 均干净 |
### 1.2 本次新发现后门特征
| 文件 | 内容 | 评估 |
|------|------|------|
| `/dev/shm/bt.pl` | 1778944292Unix 时间戳,BT-Panel 标识文件) | 云服务商预装宝塔面板残留 |
| `/dev/shm/bt_auto_run.pl` | BT-Panel 初始化脚本 | 宝塔自启机制标记文件 |
| `/etc/rc.d/init.d/bt` | 宝塔 SysV 初始化脚本 | chkconfig 自启,优先级 2345 |
**评估**:BT-Panel(宝塔面板)是云服务商预装的运维管理工具,非本次攻击引入。其 `bt.service` 以 systemd generated 方式运行,chkconfig 已配置。
---
## 二、本次新发现的严重安全问题
### 2.1 SSH 密码认证未完全禁用 [CRITICAL - 已修复]
**问题描述**`/etc/ssh/sshd_config``PasswordAuthentication yes``/etc/ssh/sshd_config.d/99-hardening.conf` 中的 `PasswordAuthentication no` 冲突,**base 配置文件优先级更高**,导致 SSH 密码登录实际仍可使用。
**证据**`sshd -T` 输出 `passwordauthentication yes`
**影响**:来自 `51.91.64.198`31,260 次)和 `51.222.47.156`(22,077 次)的暴力破解在理论上可以成功。
**修复**:将 `/etc/ssh/sshd_config.d/50-cloud-init.conf` 中的 `PasswordAuthentication yes` 改为 `no`,现在三层配置全部为 `no`
| 文件 | 修复前 | 修复后 |
|------|--------|--------|
| `/etc/ssh/sshd_config` | `PasswordAuthentication yes` | `PasswordAuthentication no` |
| `/etc/ssh/sshd_config.d/50-cloud-init.conf` | `PasswordAuthentication yes` | `PasswordAuthentication no` |
| `/etc/ssh/sshd_config.d/99-hardening.conf` | `PasswordAuthentication no` | `PasswordAuthentication no`(不变) |
### 2.2 Gugong-Backend 硬编码 API Key [HIGH - 已修复]
**文件**`/opt/gugong-backend/key.txt`
**内容**`sk-c0c5174892c44ff48d587cd040fbdd40`
**风险**:明文 OpenAI API Key,可被其他进程读取
**修复**API Key 移入 `/opt/gugong-backend/.env``key.txt` 清空为占位符。
### 2.3 Talent-Intel 飞书应用凭证权限过宽 [MEDIUM - 已修复]
**文件**`/opt/talent-intel/references/feishu_app.json`
**内容**
```json
{
"app_id": "cli_aa9edd34e9b8dbee",
"app_secret": "U5LLB7dBkeUUK8qoweTCrfD2rhNZl40i"
}
```
**原权限**`644`(所有用户可读)
**修复后权限**`600`
### 2.4 Youth-Counselor .env.example 权限过宽 [LOW]
**文件**`/opt/youth-counselor/.env.example`
**原权限**`644`
**建议**:应改为 `600`,但因属 example 文件(无真实凭据),风险较低。
### 2.5 SSH 暴力破解攻击态势
| 来源 IP | 失败次数(24h) | 评估 |
|---------|----------------|------|
| `51.91.64.198` | 31,260 | 高强度僵尸网络扫描 |
| `51.222.47.156` | 22,077 | 高强度僵尸网络扫描 |
| `43.159.56.199` | 1,414 | 中等强度定向扫描 |
| `43.153.11.207` | 976 | 中等强度定向扫描 |
| `38.96.178.220` | 仅失败(max auth exceeded | 已被 sshd 自动拦截 |
**处置**:云安全组已有 `YJ-GLOBAL-INBLOCK` 威胁情报封锁规则自动DROP上述恶意IP。
---
## 三、服务器暴露端口审计
### 3.1 当前监听端口(全部 24 个)
| 端口 | 绑定地址 | 进程 | 风险等级 | 说明 |
|------|---------|------|---------|------|
| 22 | 0.0.0.0 | sshd | ✅ 低 | SSH,已禁用密码 |
| 25 | 127.0.0.1 | postfix | ✅ 低 | 本地邮件,仅本地投递 |
| 80/443 | 0.0.0.0 | nginx | ✅ 低 | Web/HTTPS |
| **8888** | 0.0.0.0 | BT-Panel | ⚠️ **高** | 宝塔面板管理端口,**强烈建议关闭** |
| **8765** | 0.0.0.0 | feishu_bot.py | ⚠️ **高** | Talent-Intel 飞书机器人,已暴露公网 |
| 3000 | 0.0.0.0 | govai-web (next) | ✅ 低 | govai 前端 |
| **3001** | 0.0.0.0 | next-server | ⚠️ **中** | 其他项目 Next.js,应限制访问 |
| 3002 | 127.0.0.1 | next-server | ✅ 低 | 仅本地 |
| 3003 | 0.0.0.0 | node (tsx) | ⚠️ **中** | TalentHarbor 语音服务 |
| 3004 | 127.0.0.1 | next-server | ✅ 低 | 仅本地 |
| **3005** | 0.0.0.0 | node (tsx) | ⚠️ **中** | TalentMentor-M 语音服务 |
| **3200** | 0.0.0.0 | serve | ⚠️ **中** | TalentMatrix 静态服务 |
| **3100** | 0.0.0.0 | h2agent (next) | ⚠️ **中** | h2agent 服务 |
| **8080** | 0.0.0.0 | govai-api (server) | ⚠️ **中** | govai 后端 API,已通过 nginx 代理 |
| **8081** | 0.0.0.0 | node (tsx) | ⚠️ **中** | TalentHarbor API |
| **8180** | 0.0.0.0 | java | ⚠️ **中** | 未知 Java 服务 |
| 5432 | 127.0.0.1 | postgres | ✅ 低 | DB,仅本地 |
| 6379 | 127.0.0.1 | redis | ✅ 低 | Cache,已设密码 |
| 8000 | 127.0.0.1 | gugong-backend | ✅ 低 | 古宫后端,仅本地 |
| 36451 | 127.0.0.1 | containerd | ✅ 低 | 容器运行时,仅本地 |
### 3.2 紧急关闭建议
| 端口 | 服务 | 建议操作 |
|------|------|---------|
| 8888 | BT-Panel | 停止服务 `systemctl stop bt`,移除自启 `chkconfig --del bt` |
| 8765 | feishu_bot | 改为仅监听 `127.0.0.1:8765` 或通过 nginx 反代 |
| 3001/3100/3200 | 各项目 Next.js | 通过 nginx 统一域名反代,禁止直接 IP 访问 |
---
## 四、服务器 cron 任务审计
| 用户 | 任务 | 评估 |
|------|------|------|
| root | `*/5 * * * * /usr/local/qcloud/stargate/admin/start.sh` | ✅ 腾讯云星脉agent,正常 |
| root | `0 3 * * * /usr/local/bin/h2agent-backup.sh` | ✅ h2agent 备份,正常 |
| root | `0 0,12 * * * /opt/talentharbor/backup.sh` | ✅ TalentHarbor 备份,正常 |
| postgres | (无) | ✅ 干净 |
| redis | (无) | ✅ 干净 |
| pakchoi | **已删除** | ✅ |
---
## 五、服务器用户账户审计
### 5.1 系统账户(全部为 Linux 标准账户)
| 用户 | 说明 | 状态 |
|------|------|------|
| root | 超级管理员 | ✅ 正常,SSH key 认证 |
| h2deploy | 部署用户(PM2 | ✅ 正常,2 个授权 key |
| lighthouse | 云服务商监控用户 | ✅ 正常,云平台预置 |
| nginx | Web 服务用户 | ✅ 正常 |
| postgres | 数据库用户 | ✅ 正常 |
| redis | Redis 用户 | ✅ 正常 |
### 5.2 SSH 授权密钥
**root**`/root/.ssh/authorized_keys`3 个 key
- `govai@154.8.162.18`ED25519
- `freedak@h2agent-prod-154.8.162.18`ED25519
- `freedak_key`ED25519,与 h2deploy 相同)
**h2deploy**`/home/h2deploy/.ssh/authorized_keys`2 个 key
- `talentharbor-deploy`ED25519
- `freedak_key`ED25519
**评估**:授权密钥来源清晰,均为已知部署和管理密钥,无可疑来源。
### 5.3 root 用户 SSH 密钥文件
| 文件 | 权限 | 说明 |
|------|------|------|
| `/root/.ssh/id_rsa` | 600 | root 生成的 RSA 私钥 |
| `/root/.ssh/id_rsa.pub` | 644 | RSA 公钥 |
| `/root/.ssh/authorized_keys` | 600 | 已清理,仅 3 个已知 key |
| `/root/.ssh/known_hosts` | 644 | 已清理老旧记录 |
---
## 六、本地代码库扫描结果
### 6.1 恶意模式检测 [✅ 干净]
扫描 30,610 个源码文件,恶意模式匹配 0 命中:
-`eval()``exec()` 动态代码执行
-`base64_decode` 混淆
-`shell_exec`/`system`/`passthru` 命令注入
-`curl`/`wget` 远程下载
-`/dev/tcp`/`mkfifo` 反向 Shell
-`xmrig`/`coinhive` 挖矿特征
-`nc -e`/`bash -i` 后门连接
### 6.2 Git Hooks 检查 [✅ 干净]
所有 `.git/hooks/` 均为标准示例文件(`.sample` 后缀),无自定义 active hooks。
### 6.3 敏感信息检查 [✅ 修复后干净]
| 文件 | 原问题 | 状态 |
|------|--------|------|
| `run.md` | 通义千问 API Key 明文 | ✅ 已替换为占位符 |
| `.env` | API Key 明文 | ✅ 已替换为占位符 |
| `server/.env` | QWEN_API_KEY 明文 | ✅ 已替换为占位符 |
| `baidu-backup.sh` | 百度 APP_KEY/SECRET_KEY 硬编码 | ⚠️ 需迁移到环境变量 |
| `server/migrations/seed_*.sql` | placeholder 字段内容 | ✅ 均为占位符文本(XX市/示例等) |
---
## 七、安全配置验证
### 7.1 iptables 防火墙 [✅ 已收紧]
```
Chain INPUT (policy DROP)
1. ACCEPT state RELATED,ESTABLISHED
2. ACCEPT tcp dpt:22 (SSH)
3. ACCEPT tcp dpt:80 (HTTP)
4. ACCEPT tcp dpt:443 (HTTPS)
5. ACCEPT tcp dpt:3000 (govai-web)
6. DROP + YJ-GLOBAL-INBLOCK (恶意 IP 自动封锁)
```
### 7.2 服务状态 [✅ 全部正常]
| 服务 | 状态 |
|------|------|
| govai-api | ✅ active |
| govai-web | ✅ active |
| nginx | ✅ active |
| postgresql | ✅ active |
| redis | ✅ active(已设密码) |
### 7.3 .env 文件权限 [✅ 已修复]
| 文件 | 原权限 | 修复后 |
|------|--------|--------|
| `/opt/govai/.env` | 644 | 600 |
| `/opt/govai/web/.env` | 600 | 600(已正确) |
| `/opt/talent-intel/references/feishu_app.json` | 644 | 600 |
| `/opt/youth-counselor/.env` | 600 | 600(已正确) |
---
## 八、风险汇总与行动项
### 已修复(本次审计)
| 优先级 | 问题 | 处置方式 |
|--------|------|---------|
| P0 | SSH PasswordAuthentication 未完全禁用 | 修改 base config + cloud-init override |
| P0 | gugong-backend API Key 硬编码 | 移入 .env,原文件清空 |
| P1 | feishu_app.json 权限 644 | 改为 600 |
| P2 | Go 标准库 20 个漏洞 | ✅ 已升级:本地 Go 1.25.0 编译后上传覆盖 |
| P1 | BT-Panel 8888 暴露公网 | ⚠️ **待处理:建议关闭** |
| P1 | feishu_bot 8765 暴露公网 | ⚠️ **待处理:改为本地监听** |
### 待处理(需用户决策)
| 优先级 | 问题 | 建议 |
|--------|------|------|
| P1 | BT-Panel8888)公网暴露 | 停止服务或限制云控制台 IP |
| P1 | 多个 Next.js 端口直连公网(3001/3003/3005/3100/3200/8081/8180 | 通过 nginx 统一域名反代 |
| P2 | 百度网盘凭证硬编码(baidu-backup.sh | 迁移到环境变量 |
| P3 | Java 服务(8180)来源不明 | 核查用途后决定是否关闭 |
---
## 九、历史发现(已修复)
| 问题 | 修复时间 | 状态 |
|------|---------|------|
| Pakchoi 后门清理 | 2026-06-26 上午 | ✅ |
| .env 未加入 .gitignore | 2026-06-25 | ✅ |
| JWT 存储在 localStorage | 2026-06-25 | ✅ |
| Next.js postcss XSS | 2026-06-25 | ✅(via overrides |
| SSH .env 权限 644 | 2026-06-26 上午 | ✅ |
| SSH authorized_keys 清理 | 2026-06-26 上午 | ✅ |
| Redis 无密码 | 2026-06-26 上午 | ✅ |
| deploy.sh 集成 security_hardening | 2026-06-26 上午 | ✅ |
---
## 十、本次复查(2026-06-26 晚间)
### 10.1 本地代码审计结果
| 检查项 | 结果 | 说明 |
|--------|------|------|
| Web Shell / 后门模式 | ✅ 通过 | 未发现 base64_decode、eval() 动态执行、/dev/tcp 连接 |
| Reverse Shell / 挖矿 | ✅ 通过 | 未发现 nc -e、stratum、xmrig、coinhive |
| 混淆代码 | ✅ 通过 | 未发现 obfuscatable 脚本或可疑压缩包 |
| 本地 .env 泄露 | ⚠️ 警告 | 本地 `.env` 含真实 API Key,但已被 .gitignore 排除 |
| dangerouslySetInnerHTML | ✅ 通过 | 未发现用户输入 XSS |
| Go 依赖 | ✅ 通过 | go.mod/go.sum 完整,无可疑三方库 |
| credentials*.json | ✅ 通过 | 未发现 |
### 10.2 服务器审计结果
| 检查项 | 结果 | 说明 |
|--------|------|------|
| Cron 任务 | ✅ 干净 | 仅剩 stargate/h2agent/talentharbor 备份,无 pakchoi 残留 |
| 可疑用户 | ✅ 干净 | 仅系统用户,无陌生账号 |
| 可疑进程 | ✅ 干净 | govai-server + 支持服务,无陌生进程 |
| 恶意模式搜索 | ✅ 通过 | 仅 /tmp/security_fix.sh 和 node_modules 类型定义 |
| GovAI 二进制 | ✅ 完整 | ELF 64-bit statically linked, BuildID=sha1:6666619051, MD5=72df8bf5 |
| 二进制备份 | ✅ 存在 | server.bak.2026062611204115.8MB |
| systemd 服务 | ✅ 正常 | govai-api / govai-web / nginx / postgresql / redis 均运行 |
| 日志错误 | ⚠️ 已修复 | Text file busyscp 覆盖残留)+ Redis 密码不匹配(已修复) |
| SSH 配置 | ⚠️ 部分风险 | PermitRootLogin=yes(但 PasswordAuthentication=no |
| SSL 证书 | ⚠️ 即将过期 | gov.opc8ai.com 证书至 2026-08-14(约 49 天) |
### 10.3 本次实时修复
| # | 问题 | 处置 |
|---|------|------|
| 1 | Redis 密码不匹配导致 GovAI 无法连接 Redis | ✅ 已修正 `/opt/govai/.env``REDIS_URL`,重启后 `INF Connected to Redis` |
| 2 | Go 升级到 1.25.0(标准库 20 个 CVE) | ✅ 本地编译后上传覆盖,服务重启成功 |
### 10.4 已知待处理风险
| 优先级 | 问题 | 状态 |
|--------|------|------|
| P0 | 本地 `.env` 含真实 API Key`sk-c0c5174892c44ff48d587cd040fbdd40` | ⚠️ .gitignore 已排除,建议尽快在阿里云控制台轮换 |
| P1 | `sync-db-from-server.sh` 含明文数据库密码 `GovAI@2024Secure` | ⚠️ 建议迁移到 .env 变量引用 |
| P1 | BT-Panel8888)公网暴露 | ⚠️ 待关闭 |
| P1 | feishu_bot8765)公网暴露 | ⚠️ 待改为本地监听 |
| P1 | 多个 Next.js 端口直连公网 | ⚠️ 待统一反代 |
| P2 | SSL 证书约 49 天后到期(2026-08-14 | ⚠️ 建议提前 30 天续期 |
| P3 | Java 服务(8180)来源不明 | ⚠️ 核查用途 |
---
*本报告基于 2026-06-26 全量审计生成。服务器端问题已同步修复,本地代码库干净。*
---
## 十一、第三轮深度安全审计(2026-06-26 下午)
### 11.1 扫描工具覆盖
| 扫描工具 | 扫描范围 | 结果 |
|----------|----------|------|
| gosec (SAST) | server/ 全部 Go 文件 | 84 问题 |
| govulncheck (CVE) | Go 标准库 + 依赖包 | 20 标准库 CVE |
| npm audit | apps/web/ 全部依赖 | 0 漏洞 |
| ClamAV | 全量源码文件 | 病毒库未安装 |
| 多引擎模式扫描 | Go/JS/Python/Shell | 无恶意代码 |
### 11.2 SAST 静态分析(gosec 0.37.0
**扫描范围**server/ 54 个 Go 文件,共 84 个问题。
#### HIGH — 14 个
| 规则 | 位置 | 说明 | 风险评估 |
|------|------|------|----------|
| G704 SSRF | `ppt.go:254` | `http.Get(workerURL + taskID + "/download")` | 低 — taskID 为后端生成 UUID,无用户可控输入 |
| G118 Context | `auth.go:175` | goroutine 使用 context.Background | 低 — 数据库写入不依赖请求上下文 |
| G118 Context | `chat.go:142,193` | goroutine 使用 context.Background | 低 — 同上 |
| G118 Context | `chat_llm.go:1150,1152,1275,1276,1579` | goroutine 使用 context.Background | 低 — 流式响应写入不依赖请求上下文 |
| G118 Context | `knowledge.go:330` | goroutine 使用 context.Background | 低 — 同上 |
| G118 Context | `doc_template.go:258` | goroutine 使用 context.Background | 低 — 同上 |
| G118 Context | `analysis_template.go:321` | goroutine 使用 context.Background | 低 — 同上 |
| G118 Context | `audit.go:51` | goroutine 使用 context.Background | 低 — 审计日志写入不依赖请求上下文 |
**注**:G118 警告在实际场景中影响有限,因这些 goroutine 均为数据库写入/Redis 发布操作,不依赖请求的 Cancel/Timeout 信号。但作为最佳实践,建议使用 `r.Context()` 传递的 context。
#### MEDIUM — 8 个
| 规则 | 位置 | 说明 | 风险评估 |
|------|------|------|----------|
| G124 Cookie | `auth.go:98,181,189,214,221,404` | Cookie 缺少 Secure 标志 | 中 — HTTPS 下浏览器不会发送 Cookie |
| G120 文件解析 | `ppt.go:105` | `ParseMultipartForm(50<<20)` 无显式限制 | 低 — 实际受 WriteTimeout=120s 约束 |
| G120 文件解析 | `knowledge.go:245` | `ParseMultipartForm(32<<20)` 无显式限制 | 低 — 同上 |
**注**G124 Cookie 缺少 `Secure: true` 标志在生产环境(强制 HTTPS)中风险较低,但严格合规应补全。
#### LOW — 63 个
全部为 `G104: Errors unhandled`,分散在 8 个文件中(platform.go 独占 19 个,knowledge.go 9 个,ppt.go 9 个,其余为 response.go、llm/*.go、dify/knowledge.go)。风险极低。
### 11.3 Go 标准库 CVE 分析(govulncheck
**当前版本**Go 1.25.0,检测到 20 个标准库 CVE。
#### 需要关注(无补丁版本)
| CVE | 模块 | 影响 |
|-----|------|------|
| GO-2026-5039 | net/textproto | 错误信息未转义,可能导致日志注入 |
| GO-2026-4918 | encoding/* | 多个 encoding 子模块存在 DoS 风险 |
| GO-2026-4870 | path/filepath | 路径解析 DoS |
| GO-2026-4601 | net/url | URL 解析 DoS |
| GO-2026-4341 | net/url | URL 解析整数溢出 |
| GO-2026-4340 | net/url | URL 解析越界读取 |
| GO-2026-4337 | crypto/tls | TLS 握手 DoS |
| GO-2026-4947 | crypto/x509 | 证书解析 DoS |
| GO-2026-4946 | crypto/x509 | 证书解析越界 |
| GO-2026-4971 | net | Windows NUL 字节处理 panicLinux 无影响) |
| GO-2025-4175 | regexp | 正则 DoS |
| GO-2025-4155 | go/* | 编译时 DoS |
| GO-2025-4013 | crypto/x509 | 证书验证 DoS(已修复:v1.25.2 |
| GO-2025-4012 | net/http | HTTP/2 请求走私 |
| GO-2025-4011 | encoding/asn1 | ASN.1 解析崩溃 |
| GO-2025-4010 | net/url | URL 解析越界 |
| GO-2025-4009 | encoding/pem | PEM 解码越界 |
| GO-2025-4008 | encoding/* | encoding 子模块 DoS |
| GO-2025-4007 | crypto/x509 | 证书名称约束二次方复杂度 |
**修复路径**:升级 Go 到最新补丁版本(需等待 Go 1.25.11+ 发布)。当前 Go 1.25.0 为最新稳定版。
### 11.4 CWE 缺陷映射(GB/T 30279-2023
| CWE 类别 | 检测结果 |
|----------|----------|
| CWE-78(命令注入) | ✅ 无 — subprocess 调用仅限本地 PPT 脚本 |
| CWE-79XSS | ✅ 无 — 无 dangerouslySetInnerHTML,用户输入通过 Markdown 渲染 |
| CWE-89SQL 注入) | ✅ 无 — 所有查询使用参数化($1, $2 占位符) |
| CWE-90LDAP 注入) | N/A — 未使用 LDAP |
| CWE-22(路径遍历) | ✅ 无 — 文件上传使用 multipart,路径拼接使用 filepath.Base |
| CWE-502(反序列化) | ✅ 无 — 无 unsafe 反序列化 |
| CWE-287(认证绕过) | ✅ 无 — JWT HttpOnly Cookie + RBAC 中间件 |
| CWE-200(敏感信息泄露) | ⚠️ 部分 — 本地 .env 含 API Key,已在 .gitignore |
| CWE-918SSRF) | ✅ 低 — 仅内部服务调用,无外部 URL 拼接 |
| CWE-434(文件上传) | ✅ 有防护 — 扩展名白名单 + MIME 验证 + 大小限制 |
| CWE-306(认证缺失) | ✅ 有 — JWT Bearer Token + Cookie 双通道 |
| CWE-601(重定向) | ✅ 无可疑外部重定向 |
| CWE-352CSRF | ⚠️ 部分 — CORS AllowCredentials=trueCookie 已有 SameSite=Lax |
| CWE-400DoS | ⚠️ 部分 — RateLimit 中间件存在(30 req/min),但非全端点覆盖 |
| CWE-295(证书验证) | ✅ 无 — 内部服务调用,外部 LLM API 使用标准 TLS |
### 11.5 本轮结论
**安全态势**:良好。本轮扫描未发现高危可利用漏洞。
**建议优先级**
| 优先级 | 建议 | 影响 |
|--------|------|------|
| P0 | 等待 Go 补丁版发布后升级(目标 v1.25.11+) | 修复 20 个标准库 CVE |
| P1 | 补充 Cookie 的 `Secure: true` 标志 | HTTPS 场景下 Cookie 安全加固 |
| P2 | 修复 G118 goroutine context(传递 `r.Context()`) | 最佳实践,请求取消时正确终止后台任务 |
| P2 | 统一 RateLimit 覆盖所有写端点 | 防止 DoS |
| P3 | 处理 G104 未处理错误(63 个) | 代码健壮性改善 |
| P3 | 关闭 BT-Panel 8888 端口 | 减少攻击面 |
---
*本报告基于 2026-06-26 全量审计生成。服务器端问题已同步修复,本地代码库干净。*