Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

4Paradigm AIGS CodeX 逆向分析

把第四范式的 AIGS CodeX v3.0.9 JetBrains 插件拆了个底朝天——通信协议、认证机制、API 端点、数据模型,全扒了。

现在什么状态

协议逆向做完了,但验证不了。

插件本身的东西(认证流程、19 个 CEF 事件、15 个 API 端点、数据模型)全部逆向出来了,代码层面没有遗漏。但服务器 yun.aigscodex.4paradigm.com 从外网连不上——TCP 能通,HTTP 全返回空响应,应用层根本没东西在跑。所以没法端到端验证协议对不对。

项目暂停。 除非拿到 4paradigm 内网权限或者服务器重新上线,否则没法继续。

逆向出了什么

通信协议

5 层协议栈完整还原:

CEF Bridge (JS ↔ Java, 21 种事件类型)
  └─ Application (Chat / Completion / Feedback)
      └─ Authentication (x-token Header)
          └─ HTTP Transport (POST + JSON, Apache HttpClient 4.5.13)
              └─ Network (HTTP/HTTPS)

认证机制

  • 用户名密码登录(tellerId + password)
  • 服务端返回 x-token,后续请求带在 Header 里
  • token 过期自动重新登录

API 端点

15 个端点全识别了,核心几个:

端点 干嘛的
/user/login 登录拿 token
/chat/create 建对话
/chat/completion 流式聊天(核心)
/completion/create 代码补全
/feedback/create 反馈

默认模型是 azure-gpt-35-turbo,底层走 Azure OpenAI。

安全发现

  • x-token 明文存本地、明文 HTTP 传
  • 没有签名校验,token 被截了就能用
  • 插件通信走标准 Apache HttpClient,没有反指纹或 WAF 绕过

服务器连通性

测了半天,结论很简单:服务器不在 Cloudflare 后面,但后端服务没在跑。

测试 结果
TCP 80/443 通,< 5ms
HTTP(任何格式、任何 UA) 空响应,FIN 关连接
20 个端口扫描 全 TCP OPEN,全无 banner
内网地址 172.16.16.76:18810 同样空响应

最可能的情况:后端服务下线了,防火墙只放了 TCP 但后面没有 HTTP 应用。或者只限企业内网访问。

项目结构

docs/                    # 10 份分析报告,从认证到包级别全有
  00-index.md           # 索引入口
  01-authentication-protocol.md
  02-api-endpoints.md
  03-cef-bridge-protocol.md
  04-data-models.md
  05-code-completion-protocol.md
  06-security-analysis.md
  07-packet-analysis.md
  08-auth-flow-deep-dive.md
  09-protocol-verification.md
src/                     # 基于逆向写的客户端代码
  aigs_codex_client.py  # API 客户端(匹配插件 HTTP 指纹)
  openai_proxy.py       # OpenAI 兼容代理(FastAPI)
  diagnose.py           # 连通性诊断
  verify_apache_httpclient.py  # Apache HttpClient 指纹验证
plugin-analysis/         # 插件反编译结果
aigscodex-plugin-jetbrains-3.0.9.zip  # 原始插件包

客户端代码怎么用

代码写好了,但因为服务器不可达现在跑不起来。等服务器通了直接能用:

# 诊断连通性
python3 src/diagnose.py

# 直接调 API
python3 -c "
from src.aigs_codex_client import AigsCodeXClient, AigsCodeXConfig
client = AigsCodeXClient(AigsCodeXConfig(server_url='http://YOUR_SERVER'))
client.login('tellerId', 'password')
client.create_session()
for chunk in client.chat('你好'):
    print(chunk, end='')
"

# 跑 OpenAI 兼容代理
pip install fastapi uvicorn httpx
python3 src/openai_proxy.py
# 然后当 OpenAI API 用:
# curl http://localhost:8000/v1/chat/completions \
#   -H "Authorization: Bearer tellerId:password" \
#   -d '{"model":"azure-gpt-35-turbo","messages":[{"role":"user","content":"hello"}]}'

插件信息

  • JetBrains Marketplace ID: 23436
  • 兼容版本: IntelliJ 2022.3 ~ 2024.1.*
  • 下载量: 3500+(Marketplace 数据)
  • 前端: React + JCEF
  • 后端: Java + IntelliJ Plugin SDK + JavaParser 3.25.5
  • JSON 库: fastjson2 (Alibaba)

许可证

Copyright 2026 CC11001100

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

声明

  1. 技术研究目的 — 本仓库所有内容仅用于技术研究和协议分析,旨在促进对 AI 编程助手技术实现的理解。
  2. 独立逆向工程 — 所有分析基于对公开可获取的 JetBrains 插件包(com.sage.codex.SageCodeX v3.0.9)的独立逆向工程,不涉及对 4Paradigm 内部系统的未授权访问。
  3. 版权归属 — 原始插件版权属于 第四范式(北京)技术有限公司(4Paradigm)。本仓库不包含原始插件的源代码,仅包含独立分析得出的协议描述、数据模型定义和基于这些分析编写的客户端代码。
  4. 合理使用 — 本仓库的代码和文档是根据《中华人民共和国著作权法》第二十四条关于合理使用的规定,以及国际上对互通性逆向工程(Interoperability Reverse Engineering)的普遍认可,为达到与插件服务器互操作的目的而创作的。
  5. 禁止恶意使用 — 严禁将本仓库内容用于任何形式的非法入侵、未授权访问、数据窃取、恶意攻击或其他违反法律法规的行为。
  6. 无保证 — 本仓库按"原样"(AS-IS)提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权保证。
  7. 免责 — 因使用本仓库内容而产生的任何风险、责任或法律后果,由使用者自行承担。

About

把第四范式 AIGS CodeX v3.0.9 JetBrains 插件拆了——通信协议、认证机制、API 端点全逆向出来了,但服务器从外网连不上,项目暂停

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages