中文上手指南 ·

中转 API 首次本地审计上手指南

在将第三方中转端点写入 Claude Code 或 Codex 等编码工具前,先在本地执行分阶段探针,整理一份可复核的基线记录,并在外发前完成报告脱敏。

第一阶段:检查本地环境与依赖工具

执行审计前,先确认当前系统已具备 Python 与 curl 运行环境。该脚本依赖 Python 3.10 或更新版本,以及系统可用的 curl 命令行工具。读者可在终端分别运行 python3 --version 与 curl --version 查看版本信息。本文固定对应脚本版本 v2.5.0(Git commit 75bdac000051871c9f088a3be58e6f17a8854ffb,核对日期 2026-10-27)。

第二阶段:获取固定脚本与启动验证

下载脚本会访问 GitHub 域名。下载完成后,先运行帮助命令核对脚本能否正常加载:

curl -fsSL https://raw.githubusercontent.com/toby-bridges/api-relay-audit/75bdac000051871c9f088a3be58e6f17a8854ffb/audit.py -o audit.py
python3 audit.py --help

--help 成功退出仅说明脚本在当前 Python 环境下可以启动,并不验证系统中 curl 的可用性、网络连通性、后端真实模型或端点安全性。该步骤不会连接中转端点,也不需要提供 API Key。

第三阶段:准备测试密钥并注入环境变量

请先在中转服务商后台准备一个专用、低额度、随时可撤销的测试 Key,不要直接使用生产密钥。由读者通过本地已有的秘密管理方式,将测试密钥注入环境变量 API_RELAY_AUDIT_KEY;禁止在命令行示例或脚本中写入真实密钥。系统密钥环或密码管理器不会自动替你设置环境变量,需由读者显式配置到当前运行会话。

使用 --key-env 时请厘清其运行边界:--key-env 让 audit.py 主命令行参数接收变量名,不必将密钥值写在该命令里,但子进程及其他数据面并未获得免泄漏保证;实际发起探针请求时,该密钥仍会发送给指定的中转站。此外,该版本的独立传输实现直接调用 curl -sk,参数显式关闭了 TLS 证书完整性校验,因此即使通信成功,也不能证明远端服务器的真实身份。传输细节可查阅 _transport.py 源码。

第四阶段:执行低开销连通性测试

在发起多项探针前,先确认中转端点能否响应基础调用:

python3 audit.py --key-env API_RELAY_AUDIT_KEY \
  --url https://relay.example.com/v1 --model YOUR_SUPPORTED_MODEL \
  --connectivity --output connectivity.md

命令中的 https://relay.example.com/v1 与 YOUR_SUPPORTED_MODEL 为示意占位符,执行时替换为读者实际获得授权的中转地址与支持的模型代号。根据 connectivity.py 源码,该命令会分别使用 Anthropic Chat 与 OpenAI Chat 格式发送两个低输出预算请求。目标中转站会处理这两次真实请求并可能计费。该检查仅测试接口连通状态,该命令默认生成 Markdown 连通性报告,不作安全评级;选择 JSON 输出时,risk_level 字段为 null。

第五阶段:运行缩小范围审计与控制探针

连通性确认后,推荐先运行跳过外围搜集与大上下文的缩小范围命令:

python3 audit.py --key-env API_RELAY_AUDIT_KEY \
  --url https://relay.example.com/v1 --model YOUR_SUPPORTED_MODEL \
  --skip-infra --skip-context --output relay-audit.md

缩小范围审计显式保留了两项跳过规则:

所选 profile 下,其他未跳过的网络探针仍会发出真实 API 请求,并可能产生计费。其中错误探测会向端点发送故意构造的畸形请求,以观察上游返回的错误格式;如果中转方不允许畸形请求探测,可追加 --skip-error-leakage 参数,并在审计记录中注明该项覆盖已减少。

去除这两项跳过参数并不等同于运行所有探针,默认 general 配置中并不包含 Web3 专属检查。

如需评估上下文,可选参数 --fast-context 会使用 10K、50K、100K、200K 字符(非 Token 数)作为初始阶梯并做边界细化,使用时需用其替换 --skip-context,同时保留两项时,Step 7 仍会被跳过。

v2.5.0 的 Step 8 仅比对 4 条安装命令的文本回显,并不在本地执行命令,也不验证结构化 tool_calls 或流式参数重组,实现参见 tool_substitution.py 源码。

默认命令仅输出 Markdown 报告,若需机器可读数据可在一行内追加 --format json。

第六阶段:解读风险指标并完成外发脱敏

阅读生成的审计报告时,应结合检查明细采取对应处理动作:

本地生成的 Markdown 和 JSON 报告不会自动完成公共脱敏,正文可能包含私有中转地址、响应文本或特征证据。在将文件提交至公共仓库、工单或社区前,必须人工审阅并抹去敏感信息。

查看下载与帮助命令