4.6 KiB
ikhdev.xyz — GitHub OAuth авторег + CVE-матрица (13.10.2026)
Коммерческий new-api relay (RU, beta, оператор мелкий — $50 revenue на TRON). Всё в C:/Users/User/tmp/ikhdev/ (FINDINGS.md — полный отчёт).
Авторег E2E (без капчи, ~40с/акк)
- POST /api/oauth/state {provider:'github',intent:'login'} → data.flow_token (TTL 30м)
- GH OAuth: client_id Ov23ctyenOe3zSFffjqJ, scope 'read:user user:email', redirect https://ikhdev.xyz/oauth/github (gh_http.GHSession.oauth_code из regfarm — работает без redirect_uri)
- POST /api-ext/ghcallback {code, state:flow_token, src:'register', auth:'', fp:'fp1_'+cyrb53(random), aff:''} → {status:'ok', access_token, username}
- fp = клиентский canvas-фингерпринт (fp.js, cyrb53) — рандомизируется; «1 бонус на устройство» обходится, НО бонус сейчас ОТКЛЮЧЕН (новые акки quota=0).
- JWT 15мин → refresh: POST /api/user/auth/refresh с cookie new_api_refresh (Path=/api/user/auth, 30д). Cookie РОТИРУЕТСЯ — персистить в банк после каждого refresh (ikh_session.py _persist).
- Email-регистрация мертва: whitelist «только Gmail» + их SMTP down (утечка: dial tcp 172.17.0.1:465 refused).
- Скрипты: ikh_reg.py N [start_idx] (пул gh_accounts.json), ikh_session.py (IkhSession: refresh/api_key/call). Банк ikhdev_accounts.jsonl.
- API-ключ: POST /api/token/ {name,expired_time:-1,remain_quota,unlimited_quota,group} → POST /api/token/{id}/key. Relay: Bearer , /v1/models 15 живых (usage_source=anthropic у glm = OpenRouter-style upstream). quota_per_unit=500000=$1; glm-5.3-flash ~1 unit/запрос.
- aff: передача aff=
в ghcallback проставляет inviter_id, но награда $0. aff_count растёт.
CVE-статус (new-api база, version скрыт)
- CVE-2026-71479 (overflow→negative billing, ITW): chat закрыт (pre-consume × max_tokens → insufficient_balance на 2^64-значение, НЕ 400 — upper-bound валидации нет, спасает только gate по балансу); images закрыты кастом-гардом «trial balance не покрывает» + все image-модели down (мониторить /api/model-down.json). Перетест при оживлении nano-banana + балансе>0.
- CVE-2026-41432: /api/stripe/webhook жив (403 на пустом). Форж = фрод, не выполнял.
- CVE-2026-42339 SSRF: мёртв — gateway НЕ fetchit image URL сам («upstream download failed» даже на валидном внешнем URL, 0.3s без fetch).
- PUT /api/user/self: quota/group-инжекция отбита; setting принимается как JSON-СТРОКА с вайтлистом полей (gotify_url/webhook_url/bark_url не сохраняются → SSRF-настройки закрыты).
- GET /api/oauth/github (bind): state проверяется — CSRF частично закрыт.
- /api/user/passkeys: 403 insufficient privilege (secure-verification) — CVE-2026-32879 (не запатчен upstream) применим теоретически.
- checkin disabled, free-группа пустая, topup-коды есть (брут нецелесообразен).
Крипта (/api-ext/crypto-*)
crypto-order {auth,network:tron|bsc|polygon|btc,amount_usd|amount_rub,order_id} → order IKH-XXXXXX + адрес; crypto-verify {tx_hash,network,auth,order_id} → валидатор реально сверяет tx в блокчейне (payee-check «Перевод на наш адрес не найден»). Replay чужих tx НЕ тестирован (при успехе = кража у оператора). TRON TW7TpRBpQ3vtgw4YzgZpPahMRYRe8xM9UA ($50 за всё время), BSC 0x49fE3DcC9172017dc4A6176928eAeA3e5dDB55c9.
Прочие эндпоинты
/api-ext/{fitlog(телеметрия fp),prefs,notifications}; /api/usage.json (публичная статистика 210K calls, по моделям); /api/model-down.json (даун-модели); api.ikhdev.xyz = второй relay-вход (CORS *, тот же биллинг).
Итог для фарма
Бесплатных кредитов нет. Ценность: рабочая GH-OAuth авторег-автоматизация (паттерн ghcallback+fp применим к другим кастомным new-api), 4 акка, $1 на uid 546 (pockey.txt) для тестов relay.