Install as a Claude Code Skill — say one sentence, the agent runs the full 13-step audit for you.
Run this once in your terminal to add the audit skill to Claude Code:
Open Claude Code and say:
Claude Code automatically downloads the script, runs all 13 steps, and presents the findings — you just read the result.
Same security model — the agent runs locally on your machine, Key never touches a third-party server.
Your API Key is only sent to the relay URL you specify. No telemetry, no third-party servers.
Real audit results from three relay services — click tabs to compare
Domain names redacted. Data from actual audits run with api-relay-audit.
Threat taxonomy based on Liu et al., "Your Agent Is Mine" (arXiv:2604.08407)
DNS, CDN, SSL certificate, management panel fingerprint, model list enumeration — understand what's behind the relay.
Compares actual token usage against expected values. Hidden system prompt injection adds extra tokens — the delta reveals it.
3 attack vectors attempt to extract hidden system prompts: verbatim recall, translation trick, JSON continuation. Plus jailbreak resistance tests.
24 keywords detect if "Claude" is actually GPT, DeepSeek, GLM, Qwen, or other models in disguise. Anchor phrases confirm true identity.
5 canary markers + binary search pinpoint the real context window boundary. Is your 200K context really 200K?
Checks if the relay silently modifies package install commands in responses — typosquatting supply-chain attacks at the proxy layer.
7 deliberately broken requests probe for API key, env vars, file paths, and LiteLLM internals leaking in error responses.
SSE event whitelist, usage monotonicity, thinking signature validity, model identity check. Plus Web3 signature-isolation probes (profile-gated).
Three tools, three approaches — pick the right one for your needs
| Dimension | api-relay-audit | hvoy.ai | cctest.ai |
|---|---|---|---|
| Token Injection | ✓ | ✕ | ✓ |
| Prompt Extraction | ✓ | ✕ | ✕ |
| Identity Substitution | ✓ | ✓ | ✕ |
| Jailbreak Resistance | ✓ | ✕ | ✕ |
| Context Truncation | ✓ | ✕ | ✕ |
| Tool-Call Rewriting (AC-1.a) | ✓ | ✕ | ✕ |
| Error Response Leakage (AC-2) | ✓ | ✕ | ✕ |
| Stream Integrity (SSE) | ✓ | ✓ | ✕ |
| Web3 Injection | ✓ | ✕ | ✕ |
| Channel Fingerprint | Soon | ✕ | ✓ |
| Local Execution (Key stays local) | ✓ | ✕ | ✕ |
| Fully Open Source | ✓ | Partial | ✕ |
| Public Leaderboard | ✕ | ✓ | ✕ |
| Structured Audit Report | ✓ | ✕ | ✕ |
pip install requests==2.31.0, but the relay changes it to a typosquatted package. If you're using Claude Code or an AI coding agent that automatically installs packages, this is a real attack vector. api-relay-audit sends pinned package-install commands and compares received text character-by-character to detect any modification.