# 安全审计报告 2026-07-29

## 修复项

| 级别 | 问题 | 修复 |
|------|------|------|
| 🔴 | App Secret 暴露前端源码 | 免登切回服务端 `/api/feishu/auth` + Tailscale Funnel |
| 🔴 | CloudBase user_roles 全员可写 | 权限收紧 `auth.openid == doc._openid` |
| 🟡 | 无登录失败限制 | 每邮箱每小时 5 次上限 |
| 🟡 | CORS 全开放 `*` | 内部工具可接受 |

## 密码字段命名

CloudBase 自动屏蔽名为 `password` 的字段（返回 `***`）。必须使用 `pwd`。

## CloudBase SDK CDN

- ✅ `https://static.cloudbase.net/cloudbase-js-sdk/latest/cloudbase.full.js`
- ❌ `https://imgcache.qq.com/qcloud/cloudbase-js-sdk/...`（飞书 WebView 加载失败）

## 免登流程

```
飞书打开 → ?code=xxx → POST /api/feishu/auth → 换 token → 匹配 user_roles.name
```
密钥仅存服务端，前端不暴露。
