refactor(纯算): 移除全部补环境后端,收敛为纯算单一路径 + 修复两处红灯

做了什么:
- 删除 generate_telemetry_node/browser/probe 三个伪造环境后端, 以及 apply_real_environment、
  4 段拼接旧结构、human_dt_ms、generate_collect_pure (crypto.py 955 -> 389 行)
- 遥测只剩纯算: python_keyed = Node 仅提取 XTEA 密钥字 + Python 模板回填 + 教科书 XTEA
- 修复 crypto.py 重复的 xtea_encrypt_block (内置自测从失败到通过), 并并入 selftest
- 修复 glyph_solver 强校验: 改用集成得分矩阵行 argmax 自洽校验, 回归 5/8 -> 8/8
- 移除注释里无证据的 errorCode=12 归因; 移除 12 自动换 IP 重试
- extract_eks 不再写死变量名; UA 常量统一为 Chrome/155
- 文档对齐: ANALYSIS §8 修订 / PROGRESS 重写 / TOOLCHAIN_REPORT §三 更正

为什么:
- 本项目证据账本已证: 12 与遥测后端/出口 IP/静默时长均无关, 补环境无收益且引入脆弱面
- 强校验用单引擎 ocr_text 会误杀正确解 (实测 簿->垂 / 笆->芭 / 筹->努)

怎么验证:
- .venv/bin/python -m tcaptcha.selftest 全绿 (crypto_core + glyph 8/8 + xtea_key)
- 端到端纯算: python / python_keyed 均可解回 '{"cd":[' 开头明文, probe 模式被拒绝
This commit is contained in:
yml2213
2026-10-11 21:30:26 +08:00
parent 60ae14d54a
commit 47ce74b160
11 changed files with 297 additions and 753 deletions
+31
View File
@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
"""
纯算法核心自检 (AGENTS.md §5.9)
固化:
1. 教科书 XTEA 加解密往返 (含 8 字节对齐补齐)
2. encrypt_string 与 xtea_encrypt_bytes 结果一致 (防止两份 block 实现再次漂移)
运行:
.venv/bin/python -m tcaptcha.tests.test_crypto_core
"""
from __future__ import annotations
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
if str(ROOT) not in sys.path:
sys.path.insert(0, str(ROOT))
from tcaptcha.crypto import selfcheck # noqa: E402
def main() -> int:
selfcheck()
print("✅ crypto 纯算法自检通过 (XTEA 往返 + encrypt_string 一致性)")
return 0
if __name__ == "__main__":
raise SystemExit(main())