# 全面审查与加固执行计划 ## 目标 本轮工作自主完成项目级 review、错漏修复、移动端 UI 适配、业务流程补全、平台风控落地、安全漏洞排查、IP 风险追踪和验证能力扩展。所有改动以可运行、可验证、可维护为准,不引入半成品功能。 ## 执行原则 - 先发现可落地的问题,再修复;避免只做表面重构。 - 优先修复功能性缺失、逻辑漏洞、安全风险和移动端不可用问题。 - 风控功能要真正接入注册、登录、验证码、OAuth 授权、客户端管理等关键路径。 - 后台功能要能查看、追踪、处理风险事件,而不是只保存配置。 - 验证码提供商扩展不绑定单一 Cloudflare Turnstile,预留 hCaptcha 等平台。 - IP 信息支持 IPv4 / IPv6,位置与风险信息要能进入审计和风控联动。 - 每个阶段完成后运行构建、测试和 `oidc.exe` 编译验证。 ## 阶段 1:基线检查 1. 跑前端类型检查与构建。 2. 跑 Go 测试与后端构建。 3. 检查 git 状态、忽略规则、部署配置、workflow。 4. 扫描 TODO/FIXME、未接线接口、空实现、只配置未执行的功能。 ## 阶段 2:业务流程与后台管理 1. 用户注册、登录、找回密码、改密、邮箱验证、Passkey、社交登录绑定流程一致性检查。 2. OAuth 授权、撤销授权、开发者应用、后台应用用户管理流程检查。 3. 管理后台用户、客户端、登录方式、全局设置、审计、风险、密钥页面补漏。 4. 用户侧资料、会话、绑定、信任等级、授权应用、近期操作页面补漏。 ## 阶段 3:移动端 UI 适配 1. 检查所有用户侧、开发者侧、后台侧页面的表格、卡片、弹窗、导航在小屏下是否溢出或竖排。 2. 对宽表格添加移动端卡片视图或横向滚动。 3. 修复按钮组、表单、长文本、代码块、UUID、URL 在移动端的断行与溢出。 4. 确保重要操作在移动端不被遮挡、不变形。 ## 阶段 4:风控系统落地 1. 建立风险事件模型与风险决策服务:允许、挑战、阻断。 2. 将风控接入注册、登录、密码重置、社交登录、OAuth 授权、客户端创建、授权用户举报等关键路径。 3. 支持基于 IP、账号、邮箱、设备/User-Agent、失败次数、注册频率、验证码结果、黑名单的风险评分。 4. 后台提供风险事件查询、处置、封禁/解封和风险策略配置入口。 5. 风控结果写入审计,支持后续追查。 ## 阶段 5:验证码提供商扩展 1. 抽象验证码验证器接口。 2. 保留 Turnstile 支持。 3. 增加 hCaptcha 支持。 4. 全局设置支持选择 provider、site key、secret key、启用场景。 5. 前端登录/注册/找回密码表单按配置加载对应验证码组件。 ## 阶段 6:IP 位置、风险与 VPN 检测 1. 新增 IP 情报服务接口,支持 IPv4/IPv6。 2. 本地实现基础解析与保守风险判断;配置外部查询接口时可启用更完整地理位置/VPN/代理风险。 3. 审计日志补充 IP 情报字段或风险快照。 4. 管理后台审计与风险页面展示 IP 地址、位置、风险等级、VPN/代理标记。 5. 风控服务使用 IP 风险结果参与阻断/挑战。 ## 阶段 7:安全漏洞排查 1. 检查认证、授权、会话、Cookie、CSRF、OAuth state、redirect_uri、client secret、CORS、issuer 等高风险点。 2. 检查 SQL 拼接、输入校验、权限边界、越权访问、IDOR、敏感信息泄露。 3. 检查后台接口是否全部管理员鉴权,用户接口是否按当前用户过滤。 4. 检查 Docker/workflow 是否泄露测试程序、数据库、密钥、临时文件。 ## 阶段 8:验证与收尾 1. `npm --prefix frontend run build` 2. `go test ./...` 3. `go build -o oidc.exe ./cmd/server` 4. 检查 git diff 与 git status。 5. 本地提交;需要推送时推送到 GitHub。 ## 当前优先级 1. 基线检查与安全/功能缺口定位。 2. 修复明确 bug 和移动端 UI 问题。 3. 落地最小但完整可用的风控主链路。 4. 扩展验证码 provider。 5. 增加 IP 风险展示与联动。