Git repository
stealthprint fingerprints anonymous models on OpenAI-compatible endpoints
stealthprint is a Python toolkit for fingerprinting models served anonymously behind OpenAI-compatible endpoints. The library is not tied to a model name: endpoint, model ID, and API key are passed explicitly for each run, so the same playbook can be pointed at a new gateway or model by changing those parameters. It is aimed at teams evaluating whether an unnamed model on a gateway matches a known family, or at engineers auditing catalog changes on services such as OpenRouter. The practical question it tries to answer is narrower than identity: what measurable behavior does this endpoint exhibit, and how does that compare with named siblings on the same gateway? How the probes are organized The CLI separates checks into layers, intended to run from cheapest and most discriminating evidence outward. L1 compares tokenizer vocabularies first. L2 measures chat-template overhead. L3 tests context limit and needle retrieval. L4 records the error envelope family, which reflects serving-stack language. L6 covers vision ground truth using colors and token slope, repeated identical probes, and video content-block shapes. L7 does a same-gateway A/B comparison against named catalog siblings, and a survey command censuses a catalog, classifying models as paid-walled, rate-limited, or returning upstream errors before L1-probing the reachable ones. Install from git, with optional fingerprint-layer or site dependencies: pip install "stealthprint @ git+https://github.com/majiayu000/stealthprint.git" Run via environment variables or per-command flags for base URL, model, and API key; add --json to keep stdout machine-readable while progress goes to stderr Use --record requests.jsonl to preserve timestamped requests, raw responses, and errors without authentication headers Use watch from cron to store a catalog snapshot and append added or removed IDs to a sightings file; the first run is a
Continue with the full brief
Create your free account to unlock the complete analysis, follow the sources that matter, and add your perspective.
Sign in to continueFree to join. Your place in this brief will be waiting.
0 Comments
Join the discussion.