api-relay-audit 是什么?DeepSeek Harness 本地 AI 中继安全审计
api-relay-audit 是 DeepSeek Harness(DSH Plugin)生态的本地安全审计插件,用于在信任第三方 AI API 中继或 LLM 代理之前,检测提示注入、模型替换、工具调用改写与 Web3 钱包风险,并输出可复查的 Markdown 审计报告。 本文基于官方 README 介绍它是什么、核心功能、安装启用、/relay-audit 与命令行用法,以及常见排错,助你在把生产或钱包流量交给中继前完成本地可复现的审计。
api-relay-audit 是什么?
api-relay-audit 解决的是第三方 AI API 中继 / LLM 代理「不可信」的问题:它在本地对你指定的中继做 14 步安全探测,检测提示注入、提示提取、指令覆盖、上下文截断、工具调用改写、错误泄露与 SSE 流异常,输出每步发现与最终 LOW / MEDIUM / HIGH 判定。 以下定位与事实均来自官方 README(来源):
api-relay-audit 由 toby-bridges 维护、采用 AGPL-3.0 协议开源,语言为 Python。它把 API 中继审计、提示注入审计、模型替换信号、Web3 中继审计拆成独立查询族,保持证据边界清晰。插件本地运行,API 密钥只发送到你通过 --url 指定的中继 URL,不会发给第三方服务;独立版 audit.py 是单文件、仅依赖 Python 标准库与 curl。它不颁发安全认证、不替代人工审查与运维监控,也不把 inconclusive 当作 clean。
api-relay-audit 的核心功能有哪些?
api-relay-audit 的核心能力是「本地、可复现、证据边界清晰」的中继安全审计:覆盖提示注入、模型替换、工具调用改写、SSE 异常、错误泄露与 Web3 钱包风险,每次运行输出结构化 Markdown 报告与 LOW / MEDIUM / HIGH 总结论。 这些能力全部来自官方 README(来源):
- 检测中继篡改:覆盖 token 注入、提示提取、指令覆盖、越狱抵抗、上下文截断、工具调用替换、错误响应泄露与 SSE 流完整性。
- 模型替换信号收集:检查非 Claude 身份泄漏、锚点短语、流模型身份、延迟方差与上游通道指纹——这些是信号,需要佐证才能下结论。
- 工具调用改写审计:向中继发送固定包安装命令并比对返回文本,检测代理层的供应链篡改。
- Web3 钱包安全检查:
web3/full配置下检查转账指引、签名交易拒绝与私钥泄露拒绝行为。 - 三种运行 profile:
general(默认,核心探测)、web3(钱包专项)、full(general + Web3 全量)。 - 本地可复查证据:单文件
audit.py零依赖运行,输出每步发现 + 总结论,可选 hash-only 透明日志。
怎么安装与启用 api-relay-audit?
安装 api-relay-audit 需要固定 release tag:一条 dsh plugin 命令装进当前 profile,重启网关后即可在 DSH 中输入 /relay-audit 启用;更新 = 用新 tag 重跑安装命令,卸载用 dsh plugin remove。 以下命令与事实均来自官方 README(来源):
1. 安装 api-relay-audit:在 DeepSeek Harness 终端执行安装命令。README 要求安装时固定 commit 或 release tag:
DSH_PLUGIN_REF=v2.4.0
dsh plugin --profile web add "github:toby-bridges/api-relay-audit#${DSH_PLUGIN_REF}"
等待命令输出安装完成。
2. 启用:重启网关并调用 /relay-audit:安装完成后重启网关:
dsh-restart
重启后在 DSH Web 或兼容 TUI 输入 /relay-audit 即可运行审计;无参数保留全量审计默认,可能消耗较多 token。
3. 更新 update api-relay-audit:update 与安装同义——换用新的 release tag 重跑安装命令:
DSH_PLUGIN_REF=v2.4.0
dsh plugin --profile web add "github:toby-bridges/api-relay-audit#${DSH_PLUGIN_REF}"
把 DSH_PLUGIN_REF 换成最新 tag 再执行即完成更新。
4. 卸载 api-relay-audit:从当前 profile 移除插件:
dsh plugin --profile web remove dsh-api-relay-audit
api-relay-audit 典型用法
api-relay-audit 的典型用法有两种入口:DSH 内用 /relay-audit 斜杠命令审计当前 provider 线路,独立用 audit.py 脚本审计任意中继 URL;两者都复用当前 DSH provider 的 baseURL、model 与 credential reference。(来源)以下四个步骤覆盖从低成本连通性检查到 Web3 专项审计的日常用法。
1. 运行低成本连通性检查:先用 --connectivity 确认中继可达,避免直接跑全量审计消耗大量 token:
/relay-audit --connectivity
2. 运行 Web3 专项审计:审计钱包相关中继行为时指定 web3 profile 与 fast-context:
/relay-audit --profile web3 --fast-context
3. 指定线路参数审计:显式指定 URL、模型与 DSH credential:
/relay-audit --url <URL> --model <claude-model> --credential-ref <DSH_CREDENTIAL_REF>
4. 独立脚本审计任意中继:下载零依赖的 audit.py 后直接运行,API 密钥只发到 --url 指定地址:
python audit.py --key <YOUR_KEY> --url <BASE_URL> --profile web3 --output report.md
api-relay-audit 常见问题与排错
api-relay-audit 最常见的四类问题是 Web3 检查不生效、模型身份信号被误当证据、inconclusive 被当安全、以及全量审计消耗过高,分别用 web3/full profile、佐证证据、报告判读与 --connectivity 解决。(来源)
1. 跑了 general 却没有 Web3 检查:症状是审计报告中看不到转账指引、签名拒绝等钱包检查;原因是 Web3 是独立查询族,只有 web3 或 full 配置才会执行钱包敏感行为检查。解决:改用 web3 / full profile:
/relay-audit --profile web3 --fast-context
2. 中继自称 Qwen/DeepSeek 就能证明换模型吗:症状是把模型自报身份当作换模型的证据;原因是自然语言 self-ID 只是一致性信号,不是上游证明。解决:结合 raw response JSON、request id、provider/model metadata、stream signature 等佐证后再下结论。
3. 报告里 inconclusive 算安全吗:症状是探测被阻断或响应模糊时不知道如何判读;原因是被拦截的探针与模糊响应不会被当作 clean。解决:把 inconclusive 明确保留在报告中,不视为安全认证,结合人工审查与运维监控综合判断。
4. 全量审计消耗太多 token:症状是无参数运行审计后 token 消耗偏高;原因是无参数保留完整审计默认。解决:先跑低成本检查:
/relay-audit --connectivity
适用场景与注意
api-relay-audit 适合所有需要「本地、可复现」地评估中继可信度的场景,但它不颁发安全认证、不替代人工审查与运维监控,且被审计线路必须明确为 Claude。(来源)
适用场景:使用第三方 AI API 中继 / 镜像 / 网关 / LLM 代理;把中继用于生产流量、coding agent 自动化、包安装建议或钱包相关操作;需要本地可复现报告而不是把 API Key 输入网页工具。注意事项:
- 它不为任何中继颁发安全认证;报告是证据不是结论书,需结合人工安全审查与线上监控。
inconclusive不会被当作clean——被拦截或模糊的探针会保留在报告中,需自行判读。- 插件不新增模型基线:被审计线路必须明确为 Claude;中转 API 本身可以兼容 Anthropic 或 OpenAI。
- 真实 API Key 只从 DSH Credentials 解析并通过子进程环境变量传递,不进入命令参数或会话日志;公开提交证据请使用脱敏报告。
项目链接
api-relay-audit 是 toby-bridges 维护的 AGPL-3.0 开源项目。 插件详情页:api-relay-audit 插件详情。
本页是基于该插件官方 README 独立重写的导读——权威文档和最新变更请以源头为准:toby-bridges/api-relay-audit。插件是安装时就在你机器上运行的第三方代码;收录不代表背书——安装前请自行审阅源码。
常见问题
general 是 api-relay-audit 的默认配置,运行核心探测步骤;full 会执行每一个探测步骤,审计更彻底但耗时更长,并覆盖包括 Web3 在内的所有查询族,适合对中继做全面审查。
Web3 中继审计是 api-relay-audit 的独立查询族,只有 web3 或 full 配置才会执行钱包敏感检查。用 general 不会触发这些检查,因此普通审计不隐含钱包安全结论。
inconclusive 表示 api-relay-audit 的探测被阻断或响应模糊,报告会明确保留这些结果、不会视为 clean。它不代表中继安全,也不替代人工安全审查或运维监控。
不能。api-relay-audit 的模型替换信号(自报身份、延迟、上游通道指纹)只是提示可能存在替换的线索,不是独立证据;报告会明确区分信号与结论,需结合其他探测结果综合判断。若你要对外下结论,建议把这份报告当作审计起点,再做进一步核实。
api-relay-audit 本地运行,API 密钥只发送到 --url 指定的中继 URL,不会发给第三方服务;脚本仅依赖 Python 标准库与 curl,适合本地可复现审计场景。
不能保证。api-relay-audit 不认证中继安全、不替代人工审查或运维监控,也不把 inconclusive 当 clean;只提供本地可复现的审计报告,帮你评估中继可信度后决定是否信任。
相关术语
- api-relay-audit
- api-relay-audit 是 DeepSeek Harness(DSH)的本地 AI 中继安全审计插件,对第三方中继做 14 步探测并输出 Markdown 审计报告。— api-relay-audit README
- 查询族
- 查询族是 api-relay-audit 对审计意图的分类方式,把中继审计、提示注入审计、模型替换信号与 Web3 审计拆开,保持证据边界清晰。— api-relay-audit README
- 模型替换信号
- 模型替换信号是 api-relay-audit 收集的模型身份、流、延迟与上游通道特征,只能提示可能存在替换,需要佐证才能下结论。— api-relay-audit README
- inconclusive
- inconclusive 是 api-relay-audit 对探测被阻断或响应模糊步骤的判定结果,报告会保留该结果且不视为 clean。— api-relay-audit README
- web3 配置文件
- web3 配置文件是 api-relay-audit 针对钱包敏感行为的运行配置,检查转账指引、签名交易拒绝与私钥泄露拒绝。— api-relay-audit README