面向 AI API 中转与 LLM 代理的本地安全审计。
69.4/100
综合分
897
GitHub 星标
513
npm 周下载
—/5
用户评分
数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-api-relay-auditnpm 源 · dsh-api-relay-audit 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · model
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-api-relay-audit @ 2.5.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/3 09:16:41
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 3 处,展示前 3 条)
- 读取本地文件dsh/index.js:298
return await realpath(current) - 读取本地文件dsh/index.js:310
const canonicalWorkspace = await realpath(workspace) - 读取本地文件dsh/index.js:374
await access(path)
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-credentials@deepseek-ai/dsh-llm@deepseek-ai/dsh-settings@deepseek-ai/dsh-subprocess给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 检测提示词注入
- 检测模型替换
- 检测工具调用改写
展开完整介绍(71 字)↓
面向 AI API 中转与 LLM 代理的本地安全审计:检测提示词注入、模型替换、工具调用改写、SSE 异常、错误泄露和 Web3 钱包风险。
最近更新
在 GitHub 查看全部 →v2.5.02026-10-10
· v2.5:本地 JSON 报告与证据校准
API Relay Audit v2.5 新增机器可读的本地报告,并纳入未发布的 v2.4.1 草稿中的改动。上一个公开发布版本是 v2.4.0。本次发布基于提交 75bdac000051871c9f088a3be58e6f17a8854ffb。
· 变更内容
· #106 为独立版 audit.py 和模块化 scripts/audit.py 都加上可选的 --format json。默认仍是 Markdown。JSON schema 版本 1 包含运行来源信息、现有的最终风险评级、按顺序排列的标记、覆盖范围,以及完整的 Markdown 证据。标准输出只含一个 JSON 文档;进度信息写入标准错误。--output 以 UTF-8 写入本地文件。连通性检查保留 0/1 退出码,并返回 risk_level: null 和 coverage: null。
· #108 让与提示词相关的弱关键词匹配保持 INCONCLUSIVE。Cat Test 报告保留调用方的原始载荷,描述指令未被遵循的情况,但不判定其机制,也不归因到某个服务商。
· #104 已包含在早先的草稿中,支持精确匹配 DSH 对等版本 0.1.0-rc.6、0.1.7-rc.2 和 0.2.0-rc.2。Curl 回退方案通过配置标准输入传递凭证头,并把请求体保存在私有临时文件中。
· #97、#80 和 #102 补充了研究参考、证据边界和信号解读指引。
14 个审计步骤、general / web3 / full 配置档,以及现有的六维度 LOW / MEDIUM / HIGH 风险矩阵均未改动。例如,Step 4 可以保持 inconclusive,而最终评级为 LOW:请把单项发现与评级对照阅读。
· 快速开始
下方带标签的下载使用不可变的 v2.5.0 发布标签。
AUDIT_SCRIPT_REF=v2.5.0
curl -fsSL " -o audit.py
export API_RELAY_AUDIT_KEY=your-relay-key
python3 audit.py --key-env API_RELAY_AUDIT_KEY --url --format json --output report.json
参见 JSON schema 与覆盖边界。
· 验证
· 发布门禁:885 个 Python 测试、19 个 DSH 适配器测试、版本同步、独立版漂移、指标漂移,以及零依赖独立版启动。
· 八项真实命令行回环检查覆盖两种分发形式、连通成功与失败、标准输出与 UTF-8 文件输出、退出码,以及使用合成凭证验证凭证不外泄。
· 发布提交通过了必需的 PR 检查、master CI 和草稿发布工作流。发布前已核验源码、生成的独立版、下载的发布资产和 SHA-256 文件。
· 独立版 audit.py SHA-256:fd99409bf745090a26bb4616fd33fbe0d873de08cfe077df413b2b93845f151d
· 发布验证会检查 /releases/latest 和 /releases/tags/v2.5.0、标签指向以及附带的资产。仅本地测试通过并不能证明这些外部状态。
· 限制
JSON 是未脱敏的本地执行报告,与草稿中的公开报告产物 schema 相互独立。它可能包含私有目标和模型响应;分享前请先审阅并脱敏。DSH 集成保留现有的 Markdown 工作流和 Claude 模型基线。本次发布不新增连接器、新检测器、模型基线或安全认证。交互式 DSH 主机提交和真实服务商归因不在本次发布的验证范围内。
v2.4.02026-08-16
· v2.4:可复现报告与分发
API Relay Audit v2.4 新增可复现的报告元数据、用户自写的反馈入口、更严格的 Anthropic 流完成校验,以及 DeepSeek Harness 插件包。本次发布保留 14 步审计、运行时配置档、威胁分类法和 6D 风险矩阵不变。
· 变更内容
· #71 为私有 Markdown 报告加入 UTC 生成时间、工具版本、配置档和可选的检出提交。
· #72 新增本地运行反馈问题入口,不上报遥测,也不自动公开证据。
· #89 要求 message_start 之后恰好有一个 message_stop,只允许尾部出现 ping 事件。违规会进入现有的 D5 流完整性维度。
· #85 新增 DSH 插件包,支持 web 和 cc-tui 配置档、按次调用解析凭据、Claude 运行时门控、输出限制在工作区内,并严格拒绝缩写形式的适配器控制选项。
· DeepSeek Harness 分发
从不可变发布标签安装 DSH 插件包:
dsh plugin --profile web add "github:toby-bridges/api-relay-audit#v2.4.0"
dsh plugin --profile cc-tui add "github:toby-bridges/api-relay-audit#v2.4.0"
本次发布的分发工作聚焦 DeepSeek Harness。现有 OpenClaw 和 Hermes 技能文件仍留在仓库里供直接使用,但它们不是 v2.4 的注册表分发目标。精确工具版本、不可变解析、运行时检查和密钥扫描结果见 v2.4.0 DSH 验证。
· 快速开始
AUDIT_SCRIPT_REF=v2.4.0
curl -fsSL " -o audit.py
python3 audit.py --key --url --output report.md
· 验证
· 完整 pytest、DSH 适配器测试、版本同步、独立版漂移和指标漂移必须全部通过。
· 独立版 audit.py 的 SHA-256:43d237634fabf8618f458668acd70a1d0c15d3595f25e538285e56b057de9e71
· 打标签的 audit.py、生成的独立版输出、发布资产和已发布的 SHA-256 文件在发布前必须逐字节一致。
· 已发布版本的检查:/releases/latest 和 /releases/tags/v2.4.0。
· DSH web 和 cc-tui 安装必须通过连通性检查,且测试密钥不得出现在 argv、DSH 状态、日志或报告中。
· 限制
· API Relay Audit 不保证中转服务安全。
· 不要把 API 密钥、私有中转 URL、请求头、原始响应、钱包材料或用户数据随审计报告一起发布。
v2.3.12026-08-16
· v2.3.1:提示词提取误报修复
API Relay Audit v2.3.1 是一次聚焦的补丁发布。它改进了拒绝处理,14 步审计面、运行时配置档、威胁分类、风险矩阵和 Claude 流身份基线均未改动。
· 变更内容
· 匹配拒绝短语前,先归一化常见 Unicode 撇号。
· 第 4 步中,含 assistant、developer 或 system prompt 等弱词的明确拒绝,按非泄露处理。
· 即使同时出现拒绝措辞,结构性提示词披露和 kiro、hidden_prompt 等强标记仍视为可处理。
· 自我纠正的 Test C 输出保留为复核信号,不再当作已确认的提示词泄露。
此修复源自 @techotaku39 的 #78。
· 快速开始
AUDIT_SCRIPT_REF=v2.3.1
curl -fsSL " -o audit.py
python3 audit.py --key --url --output report.md
· 验证
· 完整 pytest 套件、版本同步、独立版漂移和指标漂移必须通过。
· 独立版 audit.py SHA-256:9cbab3b300bcca6e759500fbfb04f0d920c293556003ac2fc1080f398979de76
· 打标签的 audit.py、生成的独立版输出、发布资产和已发布的 SHA-256 文件,发布前必须逐字节一致。
· 已发布版本检查:/releases/latest 和 /releases/tags/v2.3.1。
· 限制
· 本次发布未把第 10 步扩展到任意模型系列。
· API Relay Audit 不保证中继安全。
· 不要随审计报告发布 API 密钥、私有中继 URL、请求头、原始响应、钱包材料或用户数据。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成API Relay Audit
面向 AI API 中转与 LLM 代理的本地安全审计。
DSH 插件
你的智能体归我管:本地能测什么
Your Agent Is Mine 记录了恶意 API 中转注入载荷、窃取凭据的手法。
Anthropic 2026 年 9 月 10 日的报告 描述了欺诈性的 Claude 转售商如何偷换模型,并借客户端工具窃取凭据。共同作者 Chaofan Shou 在 9 月 11 日的披露中提到,他买到的路由数据里含有用户的凭据。
API Relay Audit 是一款独立、本地运行的安全审计工具,面向 AI API 中转与 LLM 代理,思路来自上述论文。当前版本检查中转可观测的行为,并生成 Markdown 报告,覆盖:
- 提示词与上下文信号: 隐藏的提示词注入、指令覆盖、上下文截断。
- 响应完整性: 固定包命令文本被改动、错误响应泄露、SSE 流异常。
- 可复核的发现: 每一步的证据,以及 LOW / MEDIUM / HIGH 汇总;无法定论的探测仍会保留展示。
看输出效果: 示例报告(合成样本)
· 动手试试: 跑一次本地审计
· 覆盖范围与局限
独立脚本只依赖 Python 标准库和 curl。你的 API key 只会发给你选定的中转 URL。
展开完整文档(README 剩余 1 节)
API Relay Audit
面向 AI API 中转与 LLM 代理的本地安全审计。
DSH 插件
你的智能体归我管:本地能测什么
Your Agent Is Mine 记录了恶意 API 中转注入载荷、窃取凭据的手法。
Anthropic 2026 年 9 月 10 日的报告 描述了欺诈性的 Claude 转售商如何偷换模型,并借客户端工具窃取凭据。共同作者 Chaofan Shou 在 9 月 11 日的披露中提到,他买到的路由数据里含有用户的凭据。
API Relay Audit 是一款独立、本地运行的安全审计工具,面向 AI API 中转与 LLM 代理,思路来自上述论文。当前版本检查中转可观测的行为,并生成 Markdown 报告,覆盖:
- 提示词与上下文信号: 隐藏的提示词注入、指令覆盖、上下文截断。
- 响应完整性: 固定包命令文本被改动、错误响应泄露、SSE 流异常。
- 可复核的发现: 每一步的证据,以及 LOW / MEDIUM / HIGH 汇总;无法定论的探测仍会保留展示。
看输出效果: 示例报告(合成样本)
· 动手试试: 跑一次本地审计
· 覆盖范围与局限
独立脚本只依赖 Python 标准库和 curl。你的 API key 只会发给你选定的中转 URL。
快速开始
AUDIT_SCRIPT_REF=v2.5.0
curl -fsSL "https://raw.githubusercontent.com/toby-bridges/api-relay-audit/${AUDIT_SCRIPT_REF}/audit.py" -o audit.py
python audit.py --key <YOUR_KEY> --url <BASE_URL> --output report.md
Web3 / wallet users
python audit.py --key <YOUR_KEY> --url <BASE_URL> --profile web3 --output report.md
看一份可公开的样本报告:脱敏审计报告。
固定到 v2.5.0 的下载需要已发布的 tag;只有草稿 release 不能保证可下载。只有当你刻意测试未发布的改动时,才把 master 用作 AUDIT_SCRIPT_REF。
如果 API Relay Audit 帮你在发送真实流量前评估中转服务,欢迎 给仓库点星,跟进新增的检测覆盖和经过 release 测试的更新。
JSON 报告
v2.5.0 支持 --format json,用于本地自动化:
python audit.py --key-env API_RELAY_AUDIT_KEY --url <BASE_URL> --format json --output report.json
不加 --output 时,stdout 只输出一份 JSON 文档,进度信息写入 stderr。JSON 保留现有的最终风险评级和完整的 Markdown 证据;它不会对报告做脱敏处理,不适合直接公开分享。参见 JSON schema 与覆盖边界。
适用场景
- 你在用第三方 AI API 中转、镜像、网关或 LLM 代理。
- 你想检查 Claude 兼容或 OpenAI 兼容的代理是否注入提示词、替换模型、截断上下文、改写工具输出。
- 你在生产流量、编码智能体自动化、包安装建议或钱包相关操作之前,测试中转行为。
- 你需要本地可重复的审计报告,而不是一个要你交出 API key 的网页工具。
不做哪些承诺
- 它不认证中转服务是安全的。
- 它不替代人工安全审查或运行监控。
- 它不把 inconclusive 当作 clean;被拦截的探测和含糊的响应都会留在报告里。
查询族边界
| 查询族 | 用户意图 | 配置档 / 步骤 | 证据边界 |
| API 中转审计 | 在信任流量之前,审计第三方中转、镜像、网关、LLM 代理或转售 API。 | 默认 general;full 跑全部探测 | 产出本地报告,不是安全证书。 |
| 提示词注入审计 | 检测隐藏的提示词注入、提示词泄漏、指令覆盖和提取行为。 | general;步骤 3-6 | 记录提示词证据,但不公开私有提示词或密钥。 |
| 模型替换信号 | 收集模型身份、流式、延迟和上游通道信号。 | general;步骤 5、10、13、14 | 自报身份、延迟和通道指纹只是信号,不能单独证明服务商被替换。 |
| Web3 中转审计 | 在智能体工作流接触签名或交易之前,检查对钱包敏感的中转行为。 | web3 或 full;步骤 11 | 受配置档限制;普通中转审计不代表钱包安全。 |
正式约定见 docs/query-families.md。README 标题、Pages 卡片、issue 模板和技能描述都应保留这些边界,不要把它们压成一句口号。
覆盖范围
API Relay Audit 检查中转是否在你和模型之间改动了请求或响应路径:
- 提示词安全:token 注入、提示词提取、指令覆盖、抗越狱
- 中继完整性:上下文截断、工具调用替换、错误泄漏、流完整性
- 模型身份:非 Claude 身份泄漏、模型替换信号、Claude/OpenAI 兼容中继行为
- Web3 钱包安全:转账引导、拒绝签名交易、拒绝私钥
在本地审计 LLM 代理
项目有两种分发模式:
- audit.py:零依赖独立脚本,用于快速本地审计
- api_relay_audit/ 加 scripts/:模块化开发版,带测试
运行时配置档:
- general:默认的 AI API 中继与 LLM 代理检查
- web3:面向 Web3 智能体流程的钱包安全探测
- full:general 加 Web3 检查
DeepSeek Harness DSH 插件
本仓库同时是可安装的 dsh-api-relay-audit 包,面向 DeepSeek Harness 的 Web 与社区 TUI 界面,这些界面使用官方 @deepseek-ai/dsh-commands 注册表。请固定到不可变的 commit 或 release tag:
DSH_PLUGIN_REF=v2.5.0
dsh plugin --profile web add "github:toby-bridges/api-relay-audit#${DSH_PLUGIN_REF}"
dsh-cc-tui and other compatible profile-based clients
dsh plugin --profile cc-tui add "github:toby-bridges/api-relay-audit#${DSH_PLUGIN_REF}"
该命令复用当前 DSH 服务商的 baseURL、模型和凭据引用。凭据留在 DSH Credentials 中,通过环境变量传给本地审计进程,因此不会进入插件命令输入、审计进程参数和会话日志:
/relay-audit
/relay-audit --connectivity
/relay-audit --profile web3 --fast-context
/relay-audit --url <URL> --model <claude-model> --credential-ref <DSH_CREDENTIAL_REF>
不带参数时保留原有的完整审计默认行为,可能消耗计费 token。想降低成本就用 --connectivity。本分发不新增模型基线:所选路由必须标识为 Claude,但中继 API 本身可以是 Anthropic 兼容或 OpenAI 兼容。
旧版 v2.4.0 在错误探测和流式回退时会把密钥放进 curl 进程参数。v2.5.0 改为通过 curl config stdin 传递这些请求头。如果你仍在运行 v2.4.0,请把本地进程列表视为敏感信息。
没有 DSH 配置档和 DSH 命令注册表的独立封装与本包不兼容。参见 智能体分发说明。
v2.4.0 的安装、运行时和密钥扫描结果记录在 DSH 分发验证。
更新后的宿主矩阵和验证限制见 v2.5.0 发布说明。
注册表分发正在准备中,包含真实 tarball 和 Windows 验收检查。这不代表已发布到 npm;参见 npm 打包准备与审批门禁。
保留的智能体技能文件
仓库保留了现有的 OpenClaw 和 Hermes 技能文件,供直接用户使用,也为了下游兼容。它们不是当前注册表分发的目标;当前的分发与发布验证聚焦于 DeepSeek Harness 插件。
- OpenClaw 技能: 在 OpenClaw 智能体依赖第三方中转、代理 API 或转售密钥之前,先跑一遍本地 AI API 中转审计。
- Hermes 技能: 把 API Relay Audit 安装为 Hermes Agent 技能,在智能体工作流里跑同一套本地 14 步 LLM 代理安全审计。
这些文件并不能证明某个中转是安全的。它们帮智能体在信任某条中转链路之前,先生成一份本地、可复核的 Markdown 报告。
证据边界
自然语言自报身份只当作一致性信号,不算上游证据。回复里说自己是 Qwen、DeepSeek、GPT 或 Claude,可能说明存在不匹配,但单凭这一点不能证明服务商替换了上游模型。
更强的结论需要旁证,比如原始响应 JSON、请求 ID、服务商/模型元数据、流签名、透明日志哈希,以及可复现的运行。公开提交应使用脱敏后的报告产物,绝不能包含 API 密钥、原始请求头、完整响应体、钱包材料、私有中转流量或用户数据。
Web3 钱包安全检查
使用 --profile web3 或 --profile full 时,API Relay Audit 会加入面向钱包的提示词注入探测,灵感来自签名隔离风险:
- ETH 转账指引检查
- 签名交易拒绝检查
- 私钥泄露拒绝检查
这些探测与模型无关,但有意用配置档门控,让通用中转审计保持聚焦。
工作模型
your machine
-> audit.py / scripts/audit.py
-> chosen relay endpoint
-> Markdown report + optional hash-only transparent log
-> optional: redacted evidence issue for maintainer review
社区证据由 GitHub Actions 做形状校验,但发布仍需维护者审核。运营方保留独立的响应通道,敏感漏洞走 SECURITY.md 里描述的披露通道。
项目状态
| 指标 | 当前值 |
| 版本 | v2.5.0 |
| 审计步骤 | 14 |
| 风险矩阵 | 6D |
| pytest 收集的测试数 | 885 |
| 命令行参数 | 23 |
| 运行时配置档 | general、web3、full |
示例报告与在线页面
- 网站:apirelayaudit.com
- 中文落地页:apirelayaudit.com/zh/
- 示例报告:脱敏样例报告
- 指南: AI API 中转 / LLM 代理、 Claude 中转审计、工具对比、代理中的提示词注入、 Web3 钱包提示词注入、 DeepSeek Harness 插件
- 贡献者 / 致谢:CONTRIBUTORS.md
- 安全策略:SECURITY.md
- 贡献指南:CONTRIBUTING.md
- 社交:X @li9292
常见问题
什么是 API 中转或 LLM 代理?
API 中转或 LLM 代理是第三方服务,位于你和 AI 服务商(如 Anthropic 或 OpenAI)之间。它把你的请求转发到上游,但也能注入隐藏指令、替换模型、截断上下文、改写工具输出,或在错误响应里泄露凭据。
输入我的 API key 安全吗?
API Relay Audit 在本地运行,所以你的 API key 只会发到你指定的中转 URL。独立版本是单个 Python 文件,不依赖任何 Python 包,运行前更容易审查。
这里的提示词注入指什么?
提示词注入指中转可能在你的请求前面加上或插入隐藏指令。API Relay Audit 对比预期与实际 token 用量,尝试提示词提取探针,并在中转似乎添加或泄露隐藏提示词内容时记录证据。
什么是模型替换?
模型替换指中转声称提供某个模型,却可能暴露出另一个模型身份、路由或上游渠道的证据信号。API Relay Audit 检查非 Claude 身份特征、锚点短语、流式模型身份、延迟波动,以及可获取的渠道证据;这些信号需要相互印证,才能对服务商层面下结论。
什么是工具调用改写?
工具调用改写指中转修改模型响应里的包安装命令或类似工具的输出。API Relay Audit 发送固定版本的包命令,对比返回文本,检测代理层的供应链篡改。
什么是 SSE 异常?
SSE 异常是 Anthropic 风格流式响应里的流级完整性问题。当中转支持该格式时,API Relay Audit 检查事件类型、usage 单调性、thinking 签名和流式模型身份。
它会检查哪些 Web3 钱包风险?
使用 web3 或 full 配置档时,API Relay Audit 会在信任钱包相关流量之前,检查转账指引、拒绝签署交易、拒绝提供私钥这几类行为。
inconclusive 是什么意思?
Inconclusive 表示工具无法判断该步骤的结果是干净还是异常。探针被拦截、格式不支持、响应含糊,都不算作安全;这些情况会保留在最终报告里。
和 hvoy.ai、cctest.ai 有什么区别?
三者服务不同需求。hvoy.ai 适合查中转站信誉,cctest.ai 专注一键测试和渠道指纹,API Relay Audit 专注本地、开源、可重复的安全审计,输出结构化 Markdown 报告。
许可证
AGPL-3.0-only。见 LICENSE。
这样,修改过的网络服务部署也要遵守同一套公开源码可用性标准,和我们审计的中转站生态证据一致。
参考资料与引用
核心研究资料列在 docs/references.md。如果你在研究、安全报告或公开中转站评估中使用 API Relay Audit,请按 CITATION.cff 引用本软件。
如何贡献
不写代码也能帮忙。好的初次贡献往往很小、可复现、以证据为中心:
- 报告检测器缺口,附上脱敏后的复现步骤。
- 分享本地运行反馈,包括安装、运行时、平台或报告体验问题。
- 为配置档、参数或中转站行为补充文档示例。
- 根据真实本地环境,改进 DSH、OpenClaw 或 Hermes 的安装说明。
- 翻译快速开始,或把 clean、anomaly、inconclusive 解释清楚。
从这里开始:
- 本地运行反馈
- 检测器缺口
- 文档示例
- 智能体技能反馈
- 社区证据指南
- CONTRIBUTING.md
不要公开真实 API Key 或私密中转站流量,改动范围控制在一个行为或一篇文档内。
Star 历史
中文 README
API Relay Audit 是什么?
api-relay-audit 是一个本地运行的 AI API 中转站 / LLM proxy 安全审计工具。它把 API relay audit、prompt injection audit、model substitution signals、Web3 relay audit 拆成独立查询意图,避免把不同风险压成一个口号;你的 API Key 只会发送到你指定的中转站 URL。
当你使用第三方 AI API 中转站、OpenAI-compatible proxy、Claude-compatible proxy,或者 Web3 agent 工作流时,可以用它在信任该中转站之前生成一份可复查的 Markdown 审计报告。
你会得到什么
- 一个本地运行的 14 步审计工具,输出结构化 Markdown 报告
- 双分发形态: audit.py 单文件零依赖版 + api_relay_audit/ 模块化开发版
- --profile general|web3|full 三种运行模式
- LOW / MEDIUM / HIGH 总结论,加每一步的细项结果
查询意图边界
| Query family | 用户意图 | Profile / Steps | 证据边界 |
| API relay audit | 审计第三方中转站、镜像、网关、LLM proxy 或 resale API。 | 默认 general;完整覆盖用 full | 输出本地报告,不是安全认证。 |
| Prompt 注入审计 | 检测隐藏的 prompt 注入、prompt 泄漏、指令覆盖和提取行为。 | general;Step 3-6 | 记录 prompt 证据,但不公开私有 prompt 或 secret。 |
| 模型替换信号 | 收集模型身份、stream、延迟和上游 channel 信号。 | general;Step 5、10、13、14 | self-ID、延迟和 channel fingerprint 是信号,不能单独证明 provider 替换。 |
| Web3 中转审计 | 在 agent 接触签名、交易或钱包相关内容前检查中转行为。 | web3 或 full;Step 11 | profile-gated;普通 relay audit 不等于钱包安全。 |
正式契约在 docs/query-families.md。README、Pages、issue template 和 skill description 都应该保留这些边界。
30 秒快速开始
AUDIT_SCRIPT_REF=v2.5.0
curl -fsSL "https://raw.githubusercontent.com/toby-bridges/api-relay-audit/${AUDIT_SCRIPT_REF}/audit.py" -o audit.py
python audit.py --key <YOUR_KEY> --url <BASE_URL> --output report.md
Web3 / 钱包用户
python audit.py --key <YOUR_KEY> --url <BASE_URL> --profile web3 --output report.md
v2.5.0 新增 --format json,适用于本地自动化;默认仍输出 Markdown。
JSON 包含完整证据,并非公开分享前已脱敏的报告。参见 JSON 契约。
固定版本下载需要正式发布的 tag;草稿 release 本身不能证明下载可用。
核心覆盖
- Prompt 安全: token injection、prompt extraction、instruction override、jailbreak
- 中转完整性: context truncation、tool-call substitution、error leakage、stream integrity
- 模型身份: 非 Claude 身份泄漏、模型替换信号、Claude / OpenAI 兼容中转行为
- Web3 风险: 转账指引、签名拒绝、私钥泄漏拒绝
DeepSeek Harness DSH Plugin
本仓库同时提供 GitHub 可直装的 dsh-api-relay-audit bundle,支持官方 DSH Web,以及使用 @deepseek-ai/dsh-commands registry 的社区 TUI。安装时必须固定 commit 或 release tag:
DSH_PLUGIN_REF=v2.5.0
dsh plugin --profile web add "github:toby-bridges/api-relay-audit#${DSH_PLUGIN_REF}"
dsh plugin --profile cc-tui add "github:toby-bridges/api-relay-audit#${DSH_PLUGIN_REF}"
插件默认复用当前 DSH provider 的 baseURL、model 和 credential reference;真实 API Key 只从 DSH Credentials 解析,通过环境变量传给审计进程,不进入插件命令输入、审计进程参数或会话日志。
/relay-audit
/relay-audit --connectivity
/relay-audit --profile web3 --fast-context
/relay-audit --url <URL> --model <claude-model> --credential-ref <DSH_CREDENTIAL_REF>
无参数运行现有完整审计,可能产生较高 token 消耗;低成本检查使用 --connectivity。插件不增加新的模型基线:中转接口可以兼容 Anthropic 或 OpenAI,但被审计线路必须明确为 Claude。没有 DSH profile/plugin 机制的独立 wrapper 不在兼容范围内。
旧版 v2.4.0 的错误探针和流式 curl 请求可能短暂把 Key 放进 curl 进程参数; v2.5.0 改为经 curl 配置标准输入传递这些请求头。仍使用旧版时,应把本机进程列表视为敏感信息。
npm 分发准备与 Windows 验收见分发说明。
准备完成不代表 npm 已发布;公开安装入口须在发布批准和 registry 核验后更新。
保留的 Agent Skill 文件
仓库保留 OpenClaw 和 Hermes skill 文件,供已有直接用户和下游兼容使用;当前 registry 分发与 release 验证以 DeepSeek Harness plugin 为主。
- OpenClaw Skill: 在 OpenClaw agent 把 coding、tool 或钱包相关流量交给第三方 relay 前,先运行本地审计。
- Hermes Skill: 作为 Hermes Agent skill 安装,在 agent workflow 中运行同一套本地 14 步审计。
这些文件不代表 registry 已发布,也不给中转站颁发安全认证;它们只帮助 agent 在信任 relay 前生成本地、可复查的 Markdown 报告。
什么时候使用
- 你正在使用第三方 AI API 中转站、镜像、网关或 LLM proxy。
- 你想检查 Claude / OpenAI 兼容代理是否注入 prompt、替换模型、截断上下文或改写工具输出。
- 你准备把中转站用于生产流量、coding agent 自动化、包安装建议,或钱包相关操作。
- 你需要本地、可复现的审计报告,而不是把 API Key 输入到网页工具。
它不声称什么
- 它不为任何中转站颁发“安全认证”。
- 它不替代人工安全审查或线上监控。
- 它不会把 inconclusive 当成 clean;被拦截或无法判断的探针会保留在报告里。
证据边界
模型用自然语言自称 Qwen、DeepSeek、GPT 或 Claude,只能作为 identity consistency signal,不能单独证明真实上游服务商,也不能证明平台替换了模型。
要下更强的结论,需要 raw response JSON、request id、provider/model metadata、stream signature、transparent-log hash 和可复现实验共同支撑。公开提交只接受脱敏报告证据;不要提交 API Key、raw headers、完整 response body、钱包材料、私有中转流量或用户数据。
工作方式
你的机器 -> audit.py / scripts/audit.py -> 你指定的 relay endpoint -> Markdown report + 可选 hash-only transparent log -> 可选:脱敏 evidence issue,等待 maintainer review
社区证据会由 GitHub Actions 做格式检查,但公开发布仍需 maintainer review。运营方回应走单独通道,敏感漏洞走 SECURITY.md 的 disclosure 路径。
项目状态
| 指标 | 当前值 |
| 版本 | v2.5.0 |
| 审计步骤 | 14 |
| 风险矩阵 | 6D |
| pytest collected tests | 885 |
| CLI flags | 23 |
| Runtime profiles | general, web3, full |
如何贡献
不写代码也能帮忙:可以提交本地运行反馈、检测缺口、文档示例、翻译改进,或 DSH 插件安装反馈。保留的 OpenClaw / Hermes 集成反馈也会被接受。
- Local Run Feedback
- Detector Gap
- Documentation Example
- DSH Plugin Feedback
- Community Evidence Guide
请不要提交真实 API Key、私有中转站流量、钱包材料或未脱敏审计报告。
主要入口
- 在线页: apirelayaudit.com
- 中文独立页: apirelayaudit.com/zh/
- 贡献者 / Credits: CONTRIBUTORS.md
- 安全政策: SECURITY.md
- 贡献指南: CONTRIBUTING.md
- 社交媒体: X @li9292
网站源码:apirelayaudit-site。
工具代码、报告 fixtures 和公开证据登记表 仍保留在本仓库。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
相关插件 · 模型接入
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个插件,给…
★ 814已汉化DSH
68.8
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 385已汉化DSH
67.9
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1
自托管智能体平台openma-ai/open-managed-agents
Claude Managed Agents 和 OpenAI Agents API 的开源、自部署替代方案。
★ 282已汉化DSH
66.1