| name | tokenkey-kiro-fingerprint-alignment |
| description | Capture and diff real Kiro IDE TLS JA3 and aws-sdk-js User-Agent against TokenKey constants. Use for Kiro TLS onboarding, suspected IDE JA3 drift, or pre-Phase-2 TLS gate verification; capture/diff only. |
TokenKey:Kiro 指纹对齐(被动抓包 → diff → 落 profile)
适用于本仓库(TokenKey fork of sub2api)。把 真实 Kiro IDE 流量 当 ground truth,
kiro 常量 + DB TLS profile 当待对齐对象。禁止从 UA 版本号推断 ja3。
关联:docs/accounts/kiro-tls-fingerprint-alignment-design.md(两阶段设计 + Phase 2 开闸清单)、
tokenkey-cc-fingerprint-alignment(anthropic 平行 skill)、
tokenkey-fingerprint-alignment-all(umbrella:cc+kiro 一次对齐、合一个 PR)。
为什么与 cc 不同
cc 靠 ANTHROPIC_BASE_URL 重定向到自建 collector + MITM。Kiro IDE 端点
codewhisperer.us-east-1.amazonaws.com 硬编码、无法重定向。故:
- TLS(主,承重):
tcpdump 被动抓握手 → tshark 解 ClientHello(明文,无需 MITM)→ JA3。
- HTTP 协议(次):用
probe_runtime_gateway.py 读本机 token 直打网关验证。mitm 实测不可行
—— Kiro IDE 直连网关、忽略 HTTP_PROXY,无代理可截获,故已移除 mitm 路径;UA 由常量已知。
工具(ops/kiro/)
capture-kiro-fingerprint.sh — 被动 pcap 编排(capture / diff / check /
check-tls / show-baseline / emit-profile)。
capture_kiro_fingerprint.py — 确定性引擎(TLS/JA3-only):重建期望 UA、解 tshark TSV、算 ja3
(剥 GREASE、md5)、组 upstream 形态 profile、diff、退出码门禁。
probe-runtime-gateway.sh / probe_runtime_gateway.py — 读本机 Kiro token,直打
runtime.us-east-1.kiro.dev / management.us-east-1.kiro.dev 验证 HTTP 协议(无需 mitm)。
test_capture_kiro_fingerprint.py / test_probe_runtime_gateway.py — 单测。
实测结论(2026-06-26,edge-us6 真账号 kiro-us6-real;smoke = 一个 minimal ping,非穷举):
*.kiro.dev 网关与 legacy q/codewhisperer.us-east-1.amazonaws.com 协议同构——
runtime.us-east-1.kiro.dev/generateAssistantResponse 用 TK 完整 on-wire 形态
(X-Amz-Target=AmazonCodeWhispererStreamingService.GenerateAssistantResponse、KiroPayload body、
aws-sdk-js UA)返回 200 + 真实 assistant event-stream;management.us-east-1.kiro.dev/ListAvailableProfiles
返回与 legacy 相同的 profileArn。故迁移 = 换 host(legacy 仍 LIVE,暂不切)。注意:本仓库的
probe_runtime_gateway.py 读本机 Kiro 登录、走本机出口(用 --header-style tokenkey 对齐 TK UA),
只证网关协议形态;edge 账号 + edge 出口的授权确认需在服务 edge 上复刻 TK 请求实测。详见
backend/internal/integration/kiro/client.go 的 NOTE。
流程
bash ops/kiro/capture-kiro-fingerprint.sh capture --iface en0 --seconds 60
bash ops/kiro/capture-kiro-fingerprint.sh capture --proxy-port 7890 --seconds 75
python3 ops/kiro/capture_kiro_fingerprint.py emit-profile --bundle .kiro_tls/<stamp>-kiro-capture.bundle.json
bash ops/kiro/capture-kiro-fingerprint.sh check --bundle .kiro_tls/<stamp>...bundle.json
HTTPS_PROXY=http://127.0.0.1:7890 bash ops/kiro/probe-runtime-gateway.sh --refresh-token
边界
- 本 skill 只抓包 + diff + 落 profile,不开闸。开闸(放开
IsTLSFingerprintEnabled 给 kiro、migration seed、绑定账号、consistency test)
是 Phase 2 PR,见 design doc。
tk_canonical_kiro_ide.json 只能来自真实抓包,不得捏造 JA3。