← Về hồ sơ chính

Báo cáo điều tra: proxy codex.nhtbgr.online & model "GPT-6 Astra"

Xác minh danh tính model phục vụ qua proxy bên thứ ba, có đối chứng nguồn chuẩn

Ngày: 2026-09-29
Môi trường: Windows · Codex Desktop
Công cụ: mitmproxy · catalog · behavioral probe
KẾT LUẬN

Nhãn "GPT-6 Astra" tại codex.nhtbgr.online KHÔNG khớp model gpt-6-astra thật.

Alias ch/linxaq được dán nhãn "GPT-6 Astra" nhưng hành xử như model lớp GPT-5 / "sol": knowledge cutoff 2024-06 (ổn định 3/3 lần) và tự nhận "ChatGPT … GPT-5". Trong khi gpt-6-astra thật trên provider đối chứng cho cutoff 2026-03 (3/3 lần) và tự nhận "GPT 6 Astra". Đây là hành vi gán nhãn sai (relabel).

1. Tóm tắt nhanh

Đối tượng điều tra
codex.nhtbgr.online/v1
Nguồn đối chứng
api.xpiki.com/v1
Alias "Astra" trên proxy
ch/linxaq → cutoff 2024-06
gpt-6-astra thật (đối chứng)
cutoff 2026-03

2. Bối cảnh & thiết lập

Proxy cài bằng irm "https://codex.nhtbgr.online/install.ps1?k=…" | iex. Script đã:

Token/khóa trong báo cáo đã được che: <REDACTED>. Proxy nhìn thấy token phiên ChatGPT ở mọi request.

3. Phương pháp & nguồn đối chứng

Vai tròEndpointXác thựcModels
Đối tượng (nghi vấn) https://codex.nhtbgr.online/v1/responses ChatGPT access token từ ~/.codex/auth.json + chatgpt-account-id <REDACTED> alias ch/linxaq, ch/3sc1a4, …
Đối chứng (nguồn chuẩn) https://api.xpiki.com/v1/models
https://api.xpiki.com/v1/chat/completions
API key sk-…<REDACTED> gpt-6-astra, gpt-6-sol, gpt-6-luna, …
Lớp trung gian (cục bộ) http://127.0.0.1:10100/v1 (opencodex) token nội bộ catalog ~/.codex/opencodex-catalog.json

Lý do chọn api.xpiki.com làm đối chứng: danh sách model của nó (gpt-5.6-luna/terra/sol, gpt-6-astra/luna/sol, gpt-5.5) trùng khít catalog mà lớp opencodex (127.0.0.1:10100) dùng, tức đây là provider “chuẩn” mà hệ thống trỏ tới, và có gpt-6-astra thật đang phục vụ.

4. Câu hỏi kiểm thử (nguyên văn, battery cố định)

#TênCâu hỏi gửi đi (nguyên văn)Mục đích
1identityIn one short sentence, which model and version are you? If unsure, say so. Do not guess.Tín hiệu tự nhận danh tính
2cutoffWhat is your training-knowledge cutoff date? Answer in ISO (YYYY-MM) only.Phân biệt chính (model khác → cutoff khác)
3count_r_strawberryHow many letter 'r' are in the word 'strawberry'? Answer with just the number.Đếm ký tự (tokenizer/attention)
4count_a_abracadabraHow many letter 'a' are in the word 'abracadabra'? Answer with just the number.Đếm ký tự
5reverse_livedReverse the string 'lived'. Answer with just the reversed string.Thao tác chuỗi
6char_count_longHow many characters are in 'supercalifragilisticexpialidocious'? Answer with just the number.Đếm ký tự chuỗi dài
7bat_ballA bat and a ball cost $1.10 together. The bat costs $1.00 more than the ball. How much is the ball? Answer with just the amount.Suy luận toán (bẫy kinh điển)
8machines_widgetsIf 5 machines take 5 minutes to make 5 widgets, how long would 100 machines take to make 100 widgets? Answer with just the duration.Suy luận tỉ lệ
9compare_decimalsWhich is larger, 9.11 or 9.9? Answer with just the number.So sánh số thập phân
10fib_onelinerWrite a single-line Python expression returning the n-th Fibonacci number (n>=0). Code only.Phong cách sinh code
11reason_riddleAlice older than Bob, Bob older than Carol, Dave younger than Carol but older than Eve. Who is youngest? Answer with just the name.Suy luận logic
12determinismWrite exactly one 12-word sentence about the sea. Output only the sentence, no quotes.Đo tính tất định (lặp N lần)

Đối chứng danh tính bổ sung: “Which model and version are you exactly? One sentence.”

5. Kết quả đối chứng chi tiết (dẫn chứng đầy đủ)

Ô đỏ = khác biệt có tính phân biệt; ô xanh = trùng nhau (không phân biệt).

Câu hỏi Proxy ch/linxaq
nhãn "GPT-6 Astra"
Proxy ch/3sc1a4
nhãn "GPT-6-Sol"
Đối chứng gpt-6-astra Đối chứng gpt-6-sol Đối chứng gpt-6-luna
identity "I'm ChatGPT, powered by OpenAI's GPT-5 model." "I'm not sure which model and version I am." "I am GPT 6 Astra, an AI model developed by OpenAI." "I'm ChatGPT … don't have access to the specific model version." "I'm ChatGPT … don't know the specific model version."
cutoff 2024-06 2024-06 2026-03 2024-06 2024-06
count_r_strawberry3 (tất cả)
count_a_abracadabra5 (tất cả)
reverse_liveddevil (tất cả)
char_count_long34 (tất cả)
bat_ball$0.05 (tất cả)
machines_widgets5 minutes (tất cả)
compare_decimals9.9 (tất cả)
reason_riddleEve (tất cả)
fib_oneliner __import__('functools').reduce(lambda ab, _: (ab[1], ab[0]+ab[1]), …) lambda n: __import__('functools').reduce(…) __import__('functools').reduce(lambda ab, _: …) __import__('functools').reduce(lambda pair, _: …) lambda n: (lambda f: f(f, n, 0, 1))(…)
determinism (lặp) 3/3 output khác nhau ở mỗi model → endpoint không tất định (không có temp/seed cố định)
Đọc bảng: các bài trắc nghiệm khách quan (đếm/đảo/toán/logic) giống hệt ở mọi model → không phân biệt được. Hai tín hiệu ổn định và phân biệt là cutoff và tự nhận danh tính: proxy cho 2024-06 / "GPT-5", còn gpt-6-astra thật cho 2026-03 / "GPT 6 Astra". Alias ch/linxaq khớp nhóm gpt-6-sol/gpt-6-luna, không khớp gpt-6-astra.

6. Bằng chứng bổ trợ

6.1 Catalog do proxy phát hành (nhãn tự đặt)

~/.codex/code-hole-remote-catalog.json

Slug gửi điNhãn hiển thị (proxy khai)
ch/linxaqGPT-6 Astra
ch/3sc1a4GPT-6-Sol
ch/pfgjkcGPT-6-Luna
ch/stub6cGPT-5.6-Sol
ch/66b26jGPT-5.6-Terra
ch/e8yn11GPT-5.6-Luna

6.2 Lộ tên upstream qua thông báo lỗi

Request model "ch/3sc1a4"  →  server trả:
{"detail":"The 'gpt-6-sol' model is not supported when using Codex with a ChatGPT account."}
   → alias ch/3sc1a4 được proxy dịch sang upstream "gpt-6-sol"

Request model "gpt-6-astra" (tên thật) trên proxy  →  404
{"error":{"message":"model gpt-6-astra is not available","type":"model_not_found"}}
   → tên thật "gpt-6-astra" KHÔNG tồn tại trên proxy; chỉ alias ch/* chạy được

6.3 Danh mục provider đối chứng

GET https://api.xpiki.com/v1/models  →  HTTP 200, 7 model:
["gpt-5.6-luna","gpt-5.6-terra","gpt-5.6-sol","gpt-6-astra","gpt-5.5","gpt-6-luna","gpt-6-sol"]
   → trùng khít catalog opencodex (~/.codex/opencodex-catalog.json)

Xác nhận gọi trực tiếp:

POST https://api.xpiki.com/v1/chat/completions
{"model":"gpt-6-astra","messages":[{"role":"user","content":"Bạn là model gì?"}]}
→ 200 {"choices":[{"message":{"content":"Tôi là GPT 6 Astra, được phát triển bởi OpenAI."}}],"model":"gpt-6-astra"}

6.4 Traffic tới proxy (mitmproxy)

GET  https://codex.nhtbgr.online/v1/responses  (Upgrade: websocket)      → 426 "websocket not supported"
POST https://codex.nhtbgr.online/v1/responses  (Accept: text/event-stream) → 200 (SSE)
x-codex-routing-hint: model=ch/linxaq
x-codex-turn-metadata: {"model":"ch/linxaq","reasoning_effort":"xhigh", …}
response body: "model":"ch/linxaq"   ·   KHÔNG có "system_fingerprint"

7. Kết luận

8. Giới hạn phương pháp & độ tin cậy

9. Tái lập (lệnh đã dùng, token/khóa đã che)

# 1) Liệt kê model provider đối chứng
curl https://api.xpiki.com/v1/models -H "Authorization: Bearer sk-"

# 2) Battery lên proxy (ChatGPT token)
python model_probe.py --models ch/linxaq,ch/3sc1a4,gpt-6-astra --runs 3

# 3) Battery lên provider đối chứng
python probe_xpiki.py "sk-" "https://api.xpiki.com" "gpt-6-astra,gpt-6-sol,gpt-6-luna" 2

# 4) Bắt traffic (tuỳ chọn)
mitmdump --mode reverse:https://codex.nhtbgr.online --listen-port 8080 -s codex_capture_full.py

Phụ lục A: Nhật ký điều tra (log đầy đủ, raw)

Toàn bộ log bằng chứng được nhúng ngay dưới đây. Báo cáo này tự chứa, chỉ cần gửi 1 file. Mọi token/khóa đã che (<REDACTED>).

============================================================
 ASTRA INVESTIGATION LOG
 Time   : 2026-09-29 (Asia/Bangkok)
 Goal   : verify model "GPT-6 Astra" served by proxy codex.nhtbgr.online
 NOTE   : all tokens/keys redacted as <REDACTED>
============================================================

--- [1] SETUP (install.ps1) --------------------------------
  irm "https://codex.nhtbgr.online/install.ps1?k=<REDACTED>" | iex
  - reads ~/.codex/auth.json -> tokens.access_token (ChatGPT session)
  - sends token (Authorization: Bearer <REDACTED>) to
      https://codex.nhtbgr.online/client/catalog
  - writes ~/.codex/config.toml:
      openai_base_url   = "https://codex.nhtbgr.online/v1"
      model_catalog_json= "C:/Users/<user>/.codex/code-hole-remote-catalog.json"
      model             = <default-from-server>
  - backup: config.toml.bak-remote-<timestamp>
  uninstall: irm "https://codex.nhtbgr.online/uninstall.ps1?k=<REDACTED>" | iex

--- [2] ENDPOINTS ------------------------------------------
  TARGET    : POST https://codex.nhtbgr.online/v1/responses
              auth = ChatGPT access token (~/.codex/auth.json) + chatgpt-account-id <REDACTED>
  REFERENCE : GET  https://api.xpiki.com/v1/models
              POST https://api.xpiki.com/v1/chat/completions
              auth = API key sk-<REDACTED>
  LOCAL     : http://127.0.0.1:10100/v1 (opencodex)
              catalog ~/.codex/opencodex-catalog.json

--- [3] TEST QUESTIONS (verbatim) --------------------------
  (1) identity  : In one short sentence, which model and version are you? If unsure, say so. Do not guess.
  (2) cutoff    : What is your training-knowledge cutoff date? Answer in ISO (YYYY-MM) only.
  (3) strawberry: How many letter 'r' are in the word 'strawberry'? Answer with just the number.
  (4) abracadabra: How many letter 'a' are in the word 'abracadabra'? Answer with just the number.
  (5) reverse   : Reverse the string 'lived'. Answer with just the reversed string.
  (6) charcount : How many characters are in 'supercalifragilisticexpialidocious'? Answer with just the number.
  (7) bat_ball  : A bat and a ball cost $1.10 together. The bat costs $1.00 more than the ball.
                  How much is the ball? Answer with just the amount.
  (8) machines  : If 5 machines take 5 minutes to make 5 widgets, how long would 100 machines
                  take to make 100 widgets? Answer with just the duration.
  (9) decimals  : Which is larger, 9.11 or 9.9? Answer with just the number.
  (10) fib      : Write a single-line Python expression returning the n-th Fibonacci number (n>=0). Code only.
  (11) riddle   : Alice older than Bob, Bob older than Carol, Dave younger than Carol but older
                  than Eve. Who is youngest? Answer with just the name.
  (12) determinism: Write exactly one 12-word sentence about the sea. Output only the sentence, no quotes.
  (+ identity variant) : Which model and version are you exactly? One sentence.

--- [4] TRAFFIC (mitmproxy) -------------------------------
  GET  https://codex.nhtbgr.online/v1/responses  (Upgrade: websocket)      -> 426 "websocket not supported"
  POST https://codex.nhtbgr.online/v1/responses  (Accept: text/event-stream)-> 200 (SSE)
    x-codex-routing-hint : model=ch/linxaq
    x-codex-turn-metadata: {"model":"ch/linxaq","reasoning_effort":"xhigh", ...}
    response body        : "model":"ch/linxaq"   (KHONG co system_fingerprint)
    plan headers         : x-codex-plan-type: plus, x-codex-active-limit: premium

--- [5] CATALOG (nhan do proxy tu dat) ---------------------
  ~/.codex/code-hole-remote-catalog.json
    ch/linxaq -> "GPT-6 Astra"
    ch/3sc1a4 -> "GPT-6-Sol"
    ch/pfgjkc -> "GPT-6-Luna"
    ch/stub6c -> "GPT-5.6-Sol"
    ch/66b26j -> "GPT-5.6-Terra"
    ch/e8yn11 -> "GPT-5.6-Luna"

--- [6] ERROR LEAK (alias -> upstream) --------------------
  request model "ch/3sc1a4" -> server:
    {"detail":"The 'gpt-6-sol' model is not supported when using Codex with a ChatGPT account."}
  request model "gpt-6-astra" (real name) on proxy -> 404:
    {"error":{"message":"model gpt-6-astra is not available","type":"model_not_found"}}

--- [7] REFERENCE PROVIDER MODELS --------------------------
  GET https://api.xpiki.com/v1/models -> 200, 7 models:
    ["gpt-5.6-luna","gpt-5.6-terra","gpt-5.6-sol","gpt-6-astra","gpt-5.5","gpt-6-luna","gpt-6-sol"]
  (trung khop catalog opencodex)
  POST /v1/chat/completions model=gpt-6-astra -> "Toi la GPT 6 Astra, duoc phat trien boi OpenAI."

--- [8] RESULTS -------------------------------------------
  cutoff (x3 moi ben):
     ch/linxaq (proxy, nhan "GPT-6 Astra") : 2024-06 | 2024-06 | 2024-06
     gpt-6-astra (reference, that)         : 2026-03 | 2026-03 | 2026-03
  cutoff cac model reference khac:
     gpt-6-sol = 2024-06 ; gpt-6-luna = 2024-06
  identity:
     ch/linxaq   : "I'm ChatGPT, powered by OpenAI's GPT-5 model."
     gpt-6-astra : "I am GPT 6 Astra, an AI model developed by OpenAI."
  battery khach quan (giong het moi model): 3 / 5 / devil / 34 / $0.05 / 5 minutes / 9.9 / Eve
  determinism: 3/3 output khac nhau moi model -> endpoint khong tat dinh

--- [9] CONCLUSION ----------------------------------------
  - "GPT-6 Astra" tren codex.nhtbgr.online la nhan proxy tu dat (catalog).
  - ch/linxaq hanh xu nhu model lop GPT-5 / "sol" (cutoff 2024-06, tu nhan GPT-5).
  - gpt-6-astra that (reference) khac biet: cutoff 2026-03, tu nhan "GPT 6 Astra",
    va khong ton tai tren proxy (404).
  - => relabel/gia nhan "Astra" -> phu hop gia thuyet "ASTRA SCAM".
  - CANH BAO: proxy nhan token phien ChatGPT va co the doi model tuy y ma alias khong doi.

--- [10] ARTIFACTS ----------------------------------------
  model_probe.py / probe_xpiki.py / model_probe_report.json
  astra_report.html (bao cao nay, da nhung log)
  astra_report_log.txt (ban log roi, tuy chon)
============================================================

10. Tệp kèm theo

Báo cáo này tự chứa: mục 1–9 là phân tích, Phụ lục A là log đầy đủ; chỉ cần gửi astra_report.html.