OpenAtom 安全逆向分析报告
深度解析

OpenAtom
认证系统
安全审计

基于 Authing v2 托管版的认证架构逆向分析,揭示系统拓扑、数据流向与核心安全风险。

逆向分析 · 安全审计 Authing v2 · Istio/Envoy Date: 2026.07.01
S目录 CONTENTS
SECURITY AUDIT

安全分析核心议题

01

系统架构拓扑

完整还原 OpenAtom 认证系统的前端、后端、存储与第三方服务依赖关系。

架构组件依赖
02

核心安全漏洞

重放攻击、信息泄露、Token 风险、防爆破缺失四大攻击面分析。

漏洞攻击面风险
03

数据流向追踪

从用户登录到 Token 签发、存储、传递的完整生命周期分析。

认证流Token存储
04

修复建议方案

针对每个漏洞提供可落地的修复方案与安全加固措施。

加固修复最佳实践

点击页面空白处:按 01 → 02 → 03 → 04 逐块显现

1系统概览
PAGE 02

系统架构拓扑图

OpenAtom 认证与数据拓扑

OpenAtom 认证与数据拓扑(逆向解析)

1.2基础设施指纹
PAGE 03
01. 技术栈识别

Istio / Envoy Gateway
Node.js / Express

  • 网关层:Istio / Envoy (openatom.tech)
  • 前端:React + Webpack + Ant Design (SPA)
  • 后端:Node.js / Express 框架
  • 认证:Authing v2 托管版 (UserPool ID 可见)
  • 存储:阿里云 OSS (Avatar/Config/CSS)
02. 核心组件
passport.openatom.tech
Passport (Authing v2) · 认证中心
api.pop.openatom.tech
POP Data API · 后端数据接口
res.oafimg.cn
阿里云 OSS · 静态资源托管
第三方 OAuth
GitHub · Gitee · 微信 · GitCode
2安全漏洞
PAGE 04

四大核心安全弱点

01. 重放攻击 (Replay Attack)

RSA 加密过程中未使用 Nonce(随机数),攻击者可截获并重放加密数据,绕过前端加密防护。

RSA无 Nonce重放

02. 信息泄露 (Info Leakage)

Public Config 接口暴露完整系统拓扑,包含所有第三方 OAuth ClientID 与回调地址,为钓鱼攻击提供便利。

配置泄露ClientID钓鱼风险

03. Token 风险

JWT Token 有效期长达 14 天,存储于前端 LocalStorage,易被 XSS 攻击窃取,缺乏刷新机制。

14天有效期LocalStorageXSS

04. 防爆破缺失

登录接口缺乏 CAPTCHA 验证码与 Rate Limit 速率限制,攻击者可进行大规模暴力破解。

无验证码无限速爆破
3数据流向
PAGE 05

认证数据完整生命周期

① 用户输入凭证

用户在浏览器输入用户名/密码,前端通过 RSA 公钥加密后发送至 GraphQL API。

② Authing 签发 Token

Passport (Authing v2) 验证凭证后签发 JWT Token,有效期 14 天。

③ 前端存储

Token 被存储在前端 LocalStorage 中,缺乏 HttpOnly 保护。

④ API 调用

访问 POP API 时,Token 通过请求头 X-ATOMGIT-POP-TOKEN 传递。

⑤ 静态资源

头像、配置、CSS 等静态资源由阿里云 OSS (res.oafimg.cn) 托管。

4修复建议
PAGE 06

安全加固方案

防御重放攻击

在 RSA 加密流程中引入 Nonce + Timestamp,服务端校验时间窗口,拒绝过期请求。

配置隔离

敏感配置(OAuth ClientID)后端化,不通过 public-config 接口暴露;启用 CORS 白名单。

Token 安全

缩短 Token 有效期至 2 小时,使用 Refresh Token 机制;迁移至 HttpOnly Cookie 存储。

防爆破机制

启用 CAPTCHA 验证码(第 3 次失败后触发);实施 IP 级 Rate Limit(如 10 次/分钟)。

安全无小事

Questions
& Next
Steps

以上为 OpenAtom 认证系统逆向安全分析的完整报告。建议尽快推进上述修复方案,提升平台整体安全水位。

逆向分析 · 安全审计 Sapphire Defense Deck