Qoder is being destroyed by cybercriminals. Qoder正在被黑产摧毁

Subject: [Security Threat - Urgent] QoderEnjoy Piracy Tool Actively Exploiting Qoder Platform

Hi Qoder Security Team,

I’m a security researcher and I’ve discovered a piracy proxy tool called QoderEnjoy (v1.0.26) that is actively exploiting your platform’s free trial system. This needs your immediate attention.

The tool works by batch-registering free trial accounts using your hardcoded AES key (QoderFree_Secret_2024) to forge device fingerprints, then rotating through an account pool via MITM proxy to bypass your payment system. The author is selling access through card keys on Xianyu (闲鱼, China’s second-hand marketplace) under the seller name “卡密专业户”.

Why this is urgent:

  1. Your AES encryption key QoderFree_Secret_2024 is fully exposed in the binary. Anyone can forge unlimited device fingerprints to bypass one-device-one-trial restrictions.
  2. The tool is publicly sold on Xianyu as “card keys”, forming a complete piracy business chain that directly erodes your paid user revenue.
  3. The tool installs a self-signed root CA certificate (ca.qoderenjoy) into users’ system trust stores, intercepting ALL HTTPS traffic. This is not just piracy - it’s a data security risk.
  4. The attacker’s relay server (38.76.160.154 / ai.hld8.xyz) is still actively running, forwarding large volumes of AI requests through your API daily.

Recommended immediate actions:

  • Replace the leaked AES key QoderFree_Secret_2024
  • Block IP 38.76.160.154 at your API gateway
  • Add email/phone verification to registration
  • Enable server-side device fingerprint validation

The attached file contains the complete reverse engineering analysis with full technical details (API endpoints, encryption mechanisms, 42 IPC commands, 146 Rust dependencies, attacker server IPs, attacker profile, etc.).

I’m available if you need any clarification or additional technical details.

================================================================================

致 Qoder 安全团队的紧急安全报告

你们好,

我在安全研究过程中发现一款正在活跃运营的盗版代理工具 QoderEnjoy(v1.0.26),
该工具专门针对你们的 Qoder 平台,通过批量注册免费试用账号 + 伪造设备指纹 +
MITM代理劫持的方式,系统性绕过你们的付费机制。

这件事需要你们立即重视,原因如下:

  1. 你们的 AES 加密密钥 QoderFree_Secret_2024 已完全硬编码在盗版工具中,
    攻击者可以用它无限伪造设备指纹,绕过一机一试用的限制。
    这意味着任何人只要拿到这个密钥,都能无限制批量注册免费账号。

  2. 该工具正在闲鱼上以"卡密"形式公开售卖(卖家ID:卡密专业户),
    已经形成完整的黑产链条,直接侵蚀你们的付费用户收入。

  3. 该工具内置 MITM 代理,会安装自签根CA证书到用户系统信任库,
    拦截所有 HTTPS 流量。这不仅是盗版问题,还涉及用户数据安全。

  4. 攻击者的中继服务器(38.76.160.154 / ai.hld8.xyz)仍在活跃运营,
    每天有大量 AI 请求通过该服务器中转,直接消耗你们的 API 额度。

以下是我对该工具的完整逆向分析报告,包含全部技术细节:

  • 完整的协议格式和 API 端点
  • 加密密钥和证书机制
  • 42 个 IPC 命令全表
  • 146 个 Rust 依赖清单
  • 攻击者服务器 IP 和暴露面
  • 攻击者身份线索

建议你们优先采取以下措施:

  1. 立即更换已泄露的 AES 密钥 QoderFree_Secret_2024
  2. 在 API 网关层面封锁 38.76.160.154 这个中继 IP
  3. 注册接口增加邮箱/手机验证
  4. 启用设备指纹服务端验签

如果需要补充任何技术细节或协助验证,可以随时联系我。

以下是完整技术材料:

================================================================================

QoderEnjoy 完整逆向分析总结 — 全部材料汇总

本报告汇总对 QoderEnjoy v1.0.26 的全部逆向分析成果,作为提交给 Qoder 官方的完整证据链。

================================================================================

一、工具概况

QoderEnjoy 是一款专门针对 Qoder AI IDE 的盗版代理工具。
核心原理:批量注册免费试用账号 → 账号池集中管理 → MITM代理劫持IDE流量 → 注入伪造身份 → 白嫖AI服务。
以卡密形式在闲鱼销售牟利,属于典型的黑产工具。

工具名:QoderEnjoy
版本:1.0.26
文件:qoder-enjoy.exe (10,071,040 bytes, PE64 x64)
技术栈:Rust + Tauri 2.11.1 + WebView2
安装器:NSIS 3.11 Unicode, LZMA:23 压缩
UI:本地 HTTP (localhost:1420) → WebView2 渲染
开发者:hongc(编译路径 C:\Users\hongc.cargo\registry\)
包名:com.qoderfree.qoderenjoy
Cargo镜像:rsproxy.cn(中科大镜像,确认国内开发者)
闲鱼账号:卡密专业户

================================================================================

二、架构总览

用户 IDE (VS Code / Qoder / JetBrains)
│ HTTP 请求 localhost:9528

QoderEnjoy 网关

  • 本地 HTTPS 代理 (MITM)
  • 拦截 IDE 的 AI 请求
  • 添加 COSY 认证头
  • 管理账号池、自动切换
  • 用量统计、卡密激活
    │ COSY 协议 (COSY. token)
    │ cosy-machineid, dt_token

    openapi.qoder.sh (COSY 服务器)
  • 验证设备身份 (machineid)
  • 验证账号额度 (user_plan)
  • 记录用量 (quota/usage)
  • 转发 AI 请求到底层模型


    OpenAI / Claude / 其他 AI 模型

================================================================================

三、Rust 模块结构(从 debug info 还原)

qoder_enjoy_lib/
gateway/
mod.rs — 本地 MITM 代理引擎
state.rs — GatewayState: 代理状态管理
handler.rs — 请求拦截 & 转发逻辑
cert.rs — 自签 CA 证书生成 (ca.qoderenjoy)
identity.rs — dt_token AES 加解密
userclient/
mod.rs — API 客户端基类
client.rs — UserClientState: 用户会话管理
models.rs — UserInfo/LoginData/ApiResponse
credit/
mod.rs — 额度查询/刷新
hud.rs — 桌面悬浮窗 (credit_hud)
pool/
mod.rs — 账号池/切换
auto_switch.rs — 自动切换控制器
auto_switch.rs — 自动切换配置
credentials.rs — 凭据持久化 (PersistedCreds)
fingerprint.rs — 设备指纹生成
settings.rs — 应用设置 (PersistedSettings)
ide_proxy.rs — JetBrains/VSCode 代理注入
qoder_work.rs — 工作目录管理
qoder_cli.rs — CLI 工具集成
tray.rs — 系统托盘
updater.rs — 自动更新
server_line.rs — 服务器线路选择

================================================================================

四、42 个 Tauri IPC 命令全表

【生命周期 (5个)】
status_get — 获取完整状态快照 (AuthStatus)
auth_status — 是否已登录
hide_to_tray — 最小化到托盘
exit_app — 退出程序
check_update — 检查更新

【网关 (8个)】
gateway_start — 启动本地代理 (127.0.0.1:随机端口)
gateway_stop — 停止代理
gateway_restart — 重启代理
gateway_status — 代理状态
gateway_activate — 激活代理 (注入 dt_token)
gateway_deactivate — 停用代理
gateway_set_identity — 设置 uid + dt_token
gateway_set_fingerprint — 设置设备指纹

【证书 (2个)】
cert_install — 安装自签 CA 证书到系统
cert_open_dir — 打开证书目录

【账号池 (7个)】
account_switch — 切换到指定账号
account_current — 获取当前账号
account_inject_current — 注入 token 到当前代理
account_apply_raw — 直接注入原始 token
account_clear — 清除注入的账号
auto_switch_get — 获取自动切换配置
auto_switch_set — 设置自动切换配置

【凭据 (3个)】
credentials_get — 获取保存的凭据
credentials_save — 保存凭据
credentials_clear — 清除凭据

【IDE 集成 (10个)】
settings_ide_get — 获取 IDE 检测结果
settings_ide_save — 保存 IDE 路径
ide_proxy_status — IDE 代理配置状态
ide_proxy_init — 初始化 IDE 代理
ide_proxy_reset — 重置 IDE 代理
qoder_work_status — 工作目录状态
qoder_work_init — 初始化工作目录
qoder_work_reset — 重置工作目录
qoder_cli_status — CLI 工具状态
qoder_cli_init — 安装 CLI 工具

【用户 (11个)】
user_login — 登录 (username + password)
user_register — 注册
user_refresh — 刷新 token
user_info — 获取用户信息
user_logout — 登出
user_is_logged_in — 登录状态检查
user_device_id — 获取设备 ID
qoder_user_plan_fetch — 查询订阅计划
card_activate — 激活卡密
pool_my_account — 账号池列表
announcement_latest — 最新公告

【积分/指纹 (8个)】
credit_get — 查询积分
credit_refresh — 刷新积分
credit_hud_get — HUD 状态
credit_hud_set — HUD 开关
credit_hud_open — 打开 HUD
credit_hud_close — 关闭 HUD
fingerprint_refresh — 刷新指纹
fingerprint_get — 获取指纹

【服务器线路 (2个)】
server_line_get — 获取服务器线路
server_line_set — 设置服务器线路

================================================================================

五、Rust 依赖清单(146个 crate,关键部分)

【核心框架】
tauri 2.11.1, tauri-build 2.3.0, tauri-plugin-cli 2.3.1,
tauri-plugin-dialog 2.3.1, tauri-plugin-process 2.3.1,
tauri-plugin-shell 2.3.5, tauri-plugin-single-instance 2.4.2,
tauri-plugin-updater 2.10.1, tauri-runtime-wry 2.11.1,
wry 0.55.1, tray-icon 0.23.1, window-vibrancy 0.6.0

【HTTP / 网络】
hyper 1.9.0, hyper-rustls 0.27.9, hyper-tls 0.6.0,
hyper-util 0.1.20, h2 0.4.14, http 1.4.0,
httparse 1.10.1, reqwest 0.12.22,
hudsucker 0.24.1 (MITM代理库),
tokio-tungstenite 0.28.0, tungstenite 0.28.0

【加密 / 安全】
aws-lc-rs 1.16.3 (AWS加密库), aws-lc-sys 0.40.0,
aes 0.8.4, cipher 0.4.4, chacha20 0.10.0,
hmac 0.12.1, rustls 0.23.40, tokio-rustls 0.26.4,
x509-parser 0.18.1, yasna 0.6.0, der 0.7.10,
p256 0.11.1, ecdsa 0.14.8, jwt 0.16.0

【序列化 / 存储】
serde 1.0.228, serde_json 1.0.149,
rusqlite 0.36.0, rusqlite_migration 1.4.0,
chrono 0.4.44, uuid 1.23.1, base64 0.22.1

【系统】
windows 0.61.3, windows-core 0.61.2,
windows-registry 0.6.1 (注册表操作),
webview2-com 0.38.2, tokio 1.52.3

================================================================================

六、COSY 协议头

cosy-version: 0.10.2
cosy-machineid: {设备唯一标识}
cosy-machinetoken: {设备令牌}
cosy-machinetype: windows / macos / linux
cosy-machineos: windows-10 / ubuntu-22.04
ide-version: {IDE 版本号}
cosy-key: {请求签名 HMAC 密钥}
cosy-user: {当前用户名}
cosy-date: {请求时间戳}
cosy-bodyhash: {请求体的 SHA256}
cosy-bodylength: {请求体长度}
Authorization: Bearer COSY.{base64 编码的认证数据}

================================================================================

七、认证 Token 格式

【Bearer COSY Token(完整认证)】
{
“version”: “v1”,
“requestId”: “{UUID}”,
“info”: {
“token”: “{访问令牌}”,
“name”: “{用户名}”,
“aid”: “{账户 ID}”,
“email”: “{邮箱}”
},
“cosyVersion”: “0.10.2”,
“ideVersion”: “{IDE 版本}”
}

【Bearer dt- Token(桌面设备认证)】
格式: dt-{base64(machineid:machinetoken)}
用途: 简单设备认证,用于 openapi 的 quota/usage 等查询
存储: AES 加密,密钥 16 字节

【JWT Token (旧服务器)】
Header: {“alg”:“HS256”,“typ”:“JWT”}
Payload: {“sub”:“用户ID”,“exp”:“时间戳”}
Secret 在服务器端(二进制中无可用的 secret)

================================================================================

八、全部 API 端点

【攻击者运营的旧服务器 (61.184.23.86:8000) — 已封锁返回403】
GET /api/user/login — 用户登录
POST /api/user/register — 注册(需加密 machine_id/token)
GET /api/user/info — 用户信息(plan, credits)
POST /api/card/activate — 卡密激活
POST /api/user/refresh — Token 刷新
GET /api/pool/my_account — 池账户(返回 dt_token!)
POST /api/pool/switchAccount — 切换池账户
GET /api/announcement/latest — 公告
GET /api/update/latest — 更新检查

【Qoder 官方服务器 (openapi.qoder.sh) — 被工具滥用】
GET /api/v2/user/plan — 用户计划(需 dt-token)
GET /api/v2/quota/usage — 配额用量(需 dt-token)

【中继服务器 (ai.hld8.xyz)】
GET /api/update/latest?platform={target}-{arch}&current={version} — 更新检查
所有 AI 请求通过此服务器中继到 OpenAI/Claude API

================================================================================

九、关键数据结构

【LoginResponse(登录/注册响应)】
struct LoginResponse {
auth_data: String, // JSON 字符串,包含用户身份
user_remaining: i32, // 剩余调用次数
device_id_content: String, // 设备标识内容
machine_token: String, // 机器令牌
}

【ServerLineConfig(服务器线路配置)】
struct ServerLineConfig {
line: String, // direct / relay / 自定义
PlanInfo { plan_type, is_active, remaining_count, total_count, expires_at },
UserInfo { username, email, is_admin, userTag, LoginData { token, refresh_token } }
}

【AuthStatus(认证状态快照)】
struct AuthStatus {
loggedIn: bool,
currentPlan: PlanInfo,
totalCredits: u64,
totalCharged: u64,
poolStatus: PoolStatus,
activeStatus: ActiveStatus,
unifiedStatus: UnifiedStatus,
fingerprint: Fingerprint,
ideProcesses: Vec,
}

【PersistedCreds(持久化凭据)】
struct PersistedCreds {
username: String,
password_b64: String, // Base64编码密码
token: String, // JWT令牌
refresh_token: String, // 刷新令牌
fingerprint: Fingerprint, // 设备指纹
machine_id: String, // 机器ID
mac: String, // MAC地址
device_id: String, // 随机UUID
machine_token: String, // AES加密设备令牌
}

【UnifiedStatus(统一状态追踪)】
struct UnifiedStatus {
sdkReady: bool,
proxyPort: u16, // 本地代理端口 (默认 9528)
fingerprint: String,
accountCount: u32,
uptime: u64,
certReady: bool,
certDir: String,
pool: String,
capturedCredit: u32,
forgeCount: u32, // 请求伪造次数
swapCount: u32, // 账号切换次数
reqCount: u32,
running: bool,
activated: bool,
ideProcesses: Vec,
}

【Identity(网关身份)】
struct Identity {
uid: String,
dt_token: String,
dtToken: String,
AES key: String,
}

================================================================================

十、加密体系

【AES-256-GCM(已泄露)】
密钥: QoderFree_Secret_2024 + \x00*12 (零填充到32字节)
算法: AES-256-GCM (aws-lc-rs)
IV: 12字节随机数
Tag: 16字节认证标签
格式: Base64(IV + Tag + Ciphertext)
用途: 加密 machine_id, machine_token, dt_token
位置: 二进制文件偏移 0x7702f0

【dt-Token 加密】
格式: “dt-” + base64(AES_GCM_encrypt(数据))
dtTokenAES key: 必须至少 16 字节(来自环境变量/配置文件,不在二进制中)

【RSA 公钥(Tauri Updater 签名验证)】
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA8iMH5c02LilrsERw9t6Pv5Nc
4k6Pz1EaDicBMpdpxKduSZu5OANqUq8er4GM95omAGIOPOh+Nx0spthYA2BqGz+l
6HRkPJ7S236FZz73In/KVuLnwI8JJ2CbuJap8kvheCCZpmAWpb/cPx/3Vr/J6I17
XcW+ML9FoCI6AOvOzwIDAQAB
-----END PUBLIC KEY-----
用途: Updater 签名验证 (.sig 文件),非卡密验证

【X-Headers 签名(旧服务器部分端点)】
X-Timestamp: 时间戳(ms)
X-Nonce: 随机字符串
X-Signature: SHA256(方法+时间戳+nonce+路径)

【CA 证书】
CN: ca.qoderenjoy
用途: MITM代理自签根CA
安装: cert_install 命令写入系统信任库

================================================================================

十一、注册协议(完整)

POST /api/user/register
Content-Type: application/json

{
“username”: “string”,
“password”: “string”,
“email”: “string?”,
“machine_id”: “AES(mac + hwid)”,
“machine_type”: “windows_x64|darwin_arm64|linux_x64”,
“machine_os”: “win32|macos|linux”,
“machine_token”: “AES(random_device_uuid)”
}

Response 200:
{
“success”: true,
“detail”: {
“user”: { “id”, “username”, “email”, “is_admin”, “userTag” },
“plan”: {
“plan_type”: “free_trial”,
“is_active”: true,
“remaining_count”: 100,
“total_count”: 100,
“expires_at”: “ISO8601”
},
“token”: “jwt_token”,
“refresh_token”: “refresh_jwt”
}
}

漏洞:无邮箱验证 + AES密钥硬编码 = 可无限伪造指纹批量注册

================================================================================

十二、代理网关工作流

  1. gateway_start()
    ├─ 随机端口 (1024-65535)
    ├─ 生成自签 CA (ca.qoderenjoy)
    ├─ 启动 hyper HTTP 代理 (hudsucker库)
    └─ 返回 proxyPort

  2. gateway_activate(uid, dt_token)
    ├─ 设置 Identity { uid, dt_token, AES }
    ├─ 设置系统代理 → 127.0.0.1:{port}
    └─ 代理开始拦截 IDE 请求

  3. 请求流入
    ├─ IDE 请求 → 代理拦截
    ├─ 提取请求目标
    ├─ 如果目标 = Qoder API → 注入 dt_token
    ├─ 如果目标 = AI API → 通过 hld8.xyz 中继
    └─ 返回响应给 IDE

  4. gateway_deactivate()
    ├─ 清除系统代理
    └─ 关闭代理服务器

================================================================================

十三、账号状态机与自动切换

detecting → verifying → running → banned
│ │
└────────────────────────────┘
检测到封号 → 自动切换账号

auto_switch_get / auto_switch_set — 配置自动切换
swapCount — 累计切换次数
账号池中的账号用完后自动切换到下一个
支持 pool_switch 手动切换

================================================================================

十四、计费/额度模型

PlanInfo:
plan_type: “free_trial” | “pro” | “team”
is_active: bool (过期就变 false)
remaining_count: int (剩余请求次数)
total_count: int (总次数)
expires_at: ISO8601 (注册后14天)

CardActivation:
card_code: “XXXX-XXXX-XXXX” (卡密格式)
auto: bool (是否自动激活)
port: int? (指定端口)
generated: bool (是否已生成)

CreditSnapshot:
captured: ISO8601 (快照时间)
userId: string
userType: string
userQuota: int (配额)
percentage: float (使用率)

卡密验证完全在服务器端,二进制中无卡密生成逻辑。
无效卡密统一返回 {“detail”:“卡密不存在”}

================================================================================

十五、本地文件结构

【安装目录】
%LOCALAPPDATA%\QoderEnjoy
qoder-enjoy.exe # 主程序 (9.6 MB)
uninstall.exe
resources
elevate.exe # UAC提权工具 (105 KB)

【配置目录】
%APPDATA%\QoderEnjoy
server_line.json # 服务器线路 {“line”: “direct”|“relay”}
credentials.json # 登录凭证
ca
ca-cert.pem # MITM CA 证书
ca-key.pem # MITM CA 私钥

【WebView 数据】
%LOCALAPPDATA%\com.qoderfree.qoderenjoy
EBWebView
Default
Cookies
Local Storage

【凭据文件 credentials.json 完整结构】
{
“username”: “plaintext”,
“password_b64”: “base64(password)”,
“token”: “jwt…”,
“refresh_token”: “jwt…”,
“fingerprint”: {
“machineid”: “cosy_machineid”,
“machinetoken”: “cosy_machinetoken”,
“machinetype”: “windows_x64”,
“machineos”: “win32”
},
“machine_id”: “mac_address”,
“mac”: “physical_mac”,
“device_id”: “random_uuid”,
“machine_token”: “AES_device_token”
}

================================================================================

十六、服务器线路配置

server_line.json:
{“line”: “direct”} → 直连 COSY 服务器 (openapi.qoder.sh)
{“line”: “relay”} → 通过中继 (ai.hld8.xyz)

硬编码服务器列表:
中继: https://ai.hld8.xyz (38.76.160.154:443) [存活]
COSY: https://openapi.qoder.sh [存活,需要 Token]
COSY: https://openapi.qoder.com.cn [存活,需要 Token]
用户: http://61.184.23.86:8000 [已死,403]

================================================================================

十七、PE 二进制结构

节区 虚拟大小 虚拟地址 原始大小 原始偏移
.text 6,964 KB 0x1000 6,962 KB 0x400
.rdata 2,528 KB 0x6ce000 2,528 KB 0x6cc600
.data 56.6 KB 0x946000 34.5 KB 0x944600
.pdata 195 KB 0x955000 195 KB 0x94d000
.rsrc 55.8 KB 0x986000 56 KB 0x97dc00
.reloc 60 KB 0x994000 60 KB 0x98bc00

关键字符串偏移:
QoderFree_Secret_2024 位于文件偏移 0x7702f0
window.TAURI_INTERNALS 位于文件偏移 0x78cbb4

================================================================================

十八、NSIS 安装器分析

【自定义插件: nsis_tauri_utils.dll (34,304 bytes)】
开发者 hongc 自制的 NSIS Tauri 工具插件,导出函数:
RunAsUser — 以当前用户身份运行进程(UAC降权)
KillProcess — 终止指定进程
KillProcessCurrentUser — 终止当前用户进程
FindProcess — 查找运行中的进程
FindProcessCurrentUser — 查找当前用户进程
SemverComparison — 语义版本号比较
StrReplace — 字符串替换
ShellExecuteW — Shell执行命令
CreateProcessWithTokenW— 带令牌创建进程
DuplicateTokenEx — 复制访问令牌
AdjustTokenPrivileges — 调整令牌权限
LookupPrivilegeValueW — 查询特权值
GetTokenInformation — 获取令牌信息

【其他插件】
nsDialogs.dll (9.5 KB) — NSIS自定义对话框
NSISdl.dll (15 KB) — NSIS HTTP下载
StartMenu.dll (7.5 KB) — 开始菜单管理
System.dll (12 KB) — NSIS系统调用

【elevate.exe (105 KB)】
UAC提权工具,使用 ShellExecuteExW 请求管理员权限
编译路径: C:\Dev\elevate\bin\x86\Release\Elevate.pdb

================================================================================

十九、Tauri 前端 JS Bridge

// Tauri 核心 JS Bridge (自动注入)
async function e(e, t = {}, n) {
return window.TAURI_INTERNALS.invoke(e, t, n)
}

// 外部链接处理
function t() {
document.querySelector(“body”)?.addEventListener(“click”, function(t) {
let n = t.target;
for (; n; ) {
if (n.matches(“a”)) {
const r = n;
“” !== r.href &&
[“http://”, “https://”, “mailto:”, “tel:”].some(e => r.href.startsWith(e)) &&
“_blank” === r.target &&
(e(“plugin:shell|open”, {path: r.href}), t.preventDefault());
break;
}
n = n.parentElement;
}
})
}

前端UI从 http://localhost:1420/../ui/dist/ 加载,嵌入在 .rdata 节区

================================================================================

二十、服务器暴露面

【攻击者服务器 61.184.23.86 端口扫描结果】
端口 服务 版本 说明
22/tcp SSH OpenSSH_9.9 公网暴露,可尝试弱密码
80/tcp HTTP nginx 未备案,中国主机商拦截
3306/tcp MySQL 8.0.45 高危! 数据库直接公网暴露
443/tcp HTTPS 无响应 直接 IP 访问 504
8000/tcp HTTP nginx 原 API 代理,已封锁

【攻击者中继服务器 38.76.160.154】
域名: ai.hld8.xyz
用途: AI 请求中继
位置: 阿里云

================================================================================

二十一、已知的攻击者账号/信息

开发者用户名: hongc
闲鱼账号: 卡密专业户
已注册测试账号:
user_652a1c9c | user_652a1c9c@post.com | J9SeszDE93OR
user_6cefbc24 | user_6cefbc24@mail.com | CTcJzpOvDX$e
user_fb2e4f26 | user_6cefbc24@inbox.com | FUDrXUgYGnRQ
user_8fa28306 | user_8fa28306@inbox.com | 1Ks!mY!8YiId
旧版已知用户:
root | 密码 123456 | UID=50,非管理员,可能已锁定
cybaster | 密码未知 | 密码过期
dark_wing| 密码未知 | 密码过期

================================================================================

二十二、尝试过的攻击路径(全部失败)

管理员密码暴力破解 (ID 1-50) — 无管理员账户
开发者 “hongc” 账户 — 不存在
JWT secret 常见词猜测 — 不匹配
注册注入 is_admin:true — 服务器忽略
直接 IP 访问新服务器 — 504 Gateway Timeout
端口 80 HTTP — 未备案域名拦截
旧注册格式 — 服务器已封锁
卡密猜测/顺序遍历 — 全部 “卡密不存在”
X-Headers 签名测试 — 服务器返回 403

================================================================================

二十三、安全漏洞评估

【严重 CRITICAL】
硬编码AES密钥 — QoderFree_Secret_2024 在二进制中明文可见,可伪造任意设备指纹
指纹可伪造 — 客户端自行生成指纹,服务端无硬件验签
无邮箱验证 — 注册 API 无需邮箱验证码,可批量注册

【高危 HIGH】
MITM代理 — 自签CA证书可解密所有HTTPS流量
明文凭据存储 — credentials.json 存储明文用户名/base64密码/token
AI请求中继 — 所有AI请求经过第三方服务器 ai.hld8.xyz

【中危 MEDIUM】
JWT密钥管理 — dt_token 使用AES加密但密钥硬编码
试用额度缓存 — 客户端可缓存额度数据
无二次验证 — 无手机/邮箱二次身份验证

【服务器层面】
MySQL公网暴露 — 3306 端口开放 MySQL 8.0.45
SSH公网暴露 — OpenSSH 9.9

================================================================================

二十四、攻击者画像

开发者用户名:hongc
编程语言:Rust
所在地:中国(使用中科大 cargo 镜像 rsproxy.cn
服务器位置:阿里云 (8.212.124.35 为 Alibaba Cloud)
销售渠道:闲鱼(卡密形式,实名支付宝关联)
闲鱼账号:卡密专业户
域名:hld8.xyz

================================================================================

二十五、给 Qoder 官方的安全建议

【紧急措施】

  1. 更换 AES 密钥 — QoderFree_Secret_2024 已完全泄露
  2. 注册加验证 — /api/user/register 添加邮箱验证码或手机号验证
  3. 服务端指纹验签 — 设备指纹应由服务端生成/签名
  4. 风控检测 — 检测同 IP/同设备特征的批量注册行为
  5. 封禁攻击者服务器 — 封锁来自 38.76.160.154 的请求

【长期措施】

  1. 密钥轮换机制 — 运行时协商密钥,不硬编码
  2. 设备真实性验证 — 结合硬件 TPM/Secure Enclave
  3. 试用额度实时校验 — 每次请求都从服务端实时校验
  4. 异常行为监控 — 同 IP 多账号、频繁切换设备等触发风控

================================================================================

二十六、支持的 IDE 列表

JetBrains 系列:
IntelliJ IDEA, PyCharm, WebStorm, GoLand, CLion, PhpStorm,
Rider, RubyMine, DataGrip, DataSpell, Aqua, WriterSide,
Android Studio, AppCode

其他:
VSCode, Cursor, Qoder IDE, Qoder Work

================================================================================

二十七、硬编码常量汇总

AES密钥: QoderFree_Secret_2024
前端端口: localhost:1420
包名: com.qoderfree.qoderenjoy
版本: 1.0.26
User-Agent: Qoder/0.10.2
CA名称: ca.qoderenjoy

================================================================================
汇总完成

分析方法: 静态二进制字符串提取 + PE结构分析 + Cargo依赖还原 + NSIS插件分析

  • JS桥接提取 + API端点探测 + 服务器端口扫描
    二进制大小: 10,071,040 bytes
    总字符串数: 14,080 (ASCII >= 6)
    PE节区: 6个
    Rust依赖: 146个 crate
    Rust模块: 9个状态管理器
    Tauri命令: 42个
    API端点: 11个
    NSIS自定义插件: 1个 (nsis_tauri_utils.dll)

报告日期: 2026-06-21

感谢你的报告!这边也收到邮件反馈了,已经提交给了技术团队并安排进行处理。再次感谢!:folded_hands: