docs(mcp): add Cursor and Codex setup#8
Conversation
PR icloudza#8 introduced an example prompt that referenced 'X-Sign' as the target header. X-Sign is from the same TikTok/ByteDance signing header family (X-Gorgon / X-Khronos / X-Argus / X-Ladon) that v0.9.4 scrubbed across SKILL docs, code comments, schemas, and test fixtures. CHANGELOG v0.9.4 mandates going forward: "no new commit / SKILL / comment / schema description / test fixture may introduce specific app or product names." Replaced with the generic 'request signing header' so the prompt example stays algorithm-domain-agnostic. The rest of PR icloudza#8 (Cursor/Codex MCP configs, mcp-clients.md, marketplace + README + CONTRIBUTING count alignment) is unchanged and already passes 146 native + 83 python tests. Background reference: CHANGELOG.md → [0.9.4] section, "Brand hygiene" audit trail.
|
@1494389516 PR 整体高质量,所有数字 / JSON / TOML 都核对过,native 146 + python 83 测试全绿。已直接在你 branch 上加了一个小 fixup commit (c72c6f7)。 唯一改动: 原因:
参考: 这条规则适用于所有未来的贡献。你的 PR 其余部分(Cursor/Codex MCP 配置、 感谢提交 —— 双语 docs + 数字独立核校 + bilingual |
Two new MCP tools (26 → 28) targeting OLLVM-flattened binary analysis: - trace_function: PC-level invocation analyzer. Given a function entry PC, returns per-invocation (entry_line, caller_pc, args[x0..x7], ret_line, ret_x0/x1, subcall_sites, exit_kind). Call-depth counter handles nested subcalls; PC sanity guard catches tail-call exits. Replaces manual trace_search + trace_context loop for stripped helper functions (HMAC dispatcher, generate_nsig). - trace_immseq: anchor-driven prev_reg sequence extraction. For OLLVM-flattened transforms, anchor on a per-iteration constant (e.g. mov w8, #0x1b) and read prev_val byte-by-byte to reconstruct consumed tables in execution order. XHS v2.2.13 retro: 128 anchor hits across two inlined generate_nsig copies recovered MAT_A → D byte-by-byte with mutual corroboration. R9 (trace prev/new semantics): formalized in critical-rules.md and discipline.py reminder pool. `regN=X -> regN=Y` means X is the OLD value before the write, NOT what the instruction read. Single most common LLM misread in obfuscated code. FIX #8 (algorithm-name guard, server/hypothesis.py): conclude(>=medium) on a statement naming a standard primitive (X25519/AES/HKDF/SHA-256/ MD5/SM4/...) now requires at least one supporting evidence item from trace_cryptoinstr/trace_constscan/trace_immseq/trace_function. Catches "I read 32B, therefore ECDH" failure mode. Loosened five over-strict gates: - trace_search limit 100 → 500 - B2 same-args rule exempts hint-driven fallback paths - Cross-session [H<n>] references → non-blocking warning_unresolved_h_refs - FIX #8 keyword tightened (HMAC/GMAC/CMAC removed — they're constructions) - FIX #8 evidence tools widened to include immseq + function Methodology updates: - skills/trace-analysis: new "OLLVM extraction" + "trace_function" sections - agents/binary-static-inspector: RVA 容错 + static-blocked-trace-pivot recommendation format + MikuCffHelper workflow integration note Tests: 128 → 149 PASS (+21 new test_trace_function.py covering parse helpers, R9-aware reg_state extraction, after-arrow ret reg capture, bl/blr regex disambiguation).
Summary
Tests