Skip to content

signatures: refresh 2026 endpoints, capture real TLS fingerprints - #8

Open
jaschadub wants to merge 1 commit into
mainfrom
signatures/accuracy-refresh-tls-capture
Open

signatures: refresh 2026 endpoints, capture real TLS fingerprints#8
jaschadub wants to merge 1 commit into
mainfrom
signatures/accuracy-refresh-tls-capture

Conversation

@jaschadub

Copy link
Copy Markdown
Contributor

Web-verified accuracy pass over the detection signature database. Python signatures/*.json and the Rust assets copy stay byte-identical; all files re-signed with the current SchemaPin key and verified in both dirs (Rust test_signatures passes at runtime).

LLM API domains (107 → 114)

  • Removed squatted/never-real/shut-down: api.xai.com, api.suno.ai, api.endpoints.anyscale.com, text.octoai.run, api.lepton.ai
  • Fixed stale hosts: api-inference.huggingface.corouter.huggingface.co, models.inference.ai.azure.commodels.github.ai, gateway.ai.vercel.appai-gateway.vercel.sh, api.luma-labs.comapi.lumalabs.ai
  • Added 2026 providers: MiniMax .io/.minimaxi.com, api.moonshot.ai, Tencent Hunyuan, BytePlus ModelArk, Kling, Hume, Chutes, Poe, Thinking Machines Tinker, Nebius .com

Agent-infra domains (99 → 154)

  • Fixed NXDOMAIN/rebrands: Chroma→api.trychroma.com, Zep→api.getzep.com/app.getzep.com, api.bolt.newbolt.new, api.langtrace.aiapp.langtrace.ai, mcp.runturbomcp.ai, mcp.composio.devrube.app
  • Removed dead: api.supermaven.com, api.continue.dev, mcphub.tools, api.opik.dev
  • Added vendor-hosted remote MCP servers (Figma, Vercel, Slack, Square, Wix, Webflow, Intercom, Canva, Neon, Datadog, New Relic, Honeycomb, …), new coding agents (Devin, Kiro, Zed, Cline, Roo, OpenHands, Warp, JetBrains, Trae, Jules, Gemini CLI backends), observability (Laminar, Galileo, Patronus, Vellum), registries/memory (Klavis, Letta, supermemory). Generic apex domains that would false-positive on normal use were excluded.
  • domain_suffixes: added .mcp.cloudflare.com

TLS fingerprints

Replaced placeholder JA3/JA4 with real values captured from each client's actual ClientHello (requests, httpx, aiohttp, node fetch, rust reqwest/rustls), computed through the detector's own compute_ja3/ja4 so stored values match detection exactly.

Tooling

  • Added scripts/resign_signatures.py to re-sign changed JSONs and sync .json+.sig into the Rust crate assets in one step.
  • Fixed a clippy useless-borrow warning in main.rs.

Verification

Python: 113 tests pass, ruff clean. Rust: test_signatures (embedded signatures verified at runtime) + clippy clean.

Web-verified accuracy pass over the detection signature database. Python
signatures/*.json and the Rust assets copy stay byte-identical; all files
re-signed with the current SchemaPin key and verified in both dirs.

llm_domains (107 -> 114):
- remove squatted/never-real/shut-down hosts: api.xai.com, api.suno.ai,
  api.endpoints.anyscale.com, text.octoai.run, api.lepton.ai
- fix stale hosts: api-inference.huggingface.co -> router.huggingface.co,
  models.inference.ai.azure.com -> models.github.ai,
  gateway.ai.vercel.app -> ai-gateway.vercel.sh,
  api.luma-labs.com -> api.lumalabs.ai
- add 2026 providers: MiniMax .io/.minimaxi.com, api.moonshot.ai, Tencent
  Hunyuan, BytePlus ModelArk, Kling, Hume, Chutes, Poe, Tinker, Nebius .com

agent_infra_domains (99 -> 154):
- fix NXDOMAIN/rebranded: api.chroma.com -> api.trychroma.com,
  api.zep.us -> api.getzep.com, cloud.getzep.com -> app.getzep.com,
  api.bolt.new -> bolt.new, api.langtrace.ai -> app.langtrace.ai,
  mcp.run -> turbomcp.ai, mcp.composio.dev -> rube.app
- remove dead: api.supermaven.com, api.continue.dev, mcphub.tools, api.opik.dev
- add vendor-hosted remote MCP servers (Figma, Vercel, Slack, Square, Wix,
  Webflow, Intercom, Canva, Neon, Datadog, New Relic, Honeycomb, ...), new
  coding agents (Devin, Kiro, Zed, Cline, Roo, OpenHands, Warp, JetBrains,
  Trae, Jules, Gemini CLI backends), observability (Laminar, Galileo,
  Patronus, Vellum, ...), and registries/memory (Klavis, Letta, supermemory)
- generic apex domains that would false-positive on normal use excluded

domain_suffixes: add .mcp.cloudflare.com (per-service MCP subdomains)

tls_fingerprints: replace placeholder JA3/JA4 with real values captured from
each client's actual ClientHello (requests, httpx, aiohttp, node fetch, rust
reqwest/rustls), computed through the detector's own compute_ja3/ja4 so stored
values match detection exactly.

Add scripts/resign_signatures.py to re-sign changed JSONs and sync .json+.sig
into the Rust crate assets in one step.

Fix a clippy useless-borrow warning in main.rs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants