toby-bridges/api-relay-audit
toby-bridges/api-relay-audit从 DeepSeek Harness 对 AI API 中转站和 LLM 代理运行本地安全审计,生成 Markdown 报告,覆盖提示词注入、模型替换信号、工具调用改写、错误泄漏、流完整性和按 profile 启用的 Web3 风险。
DeepSeek Harness 敏感信息脱敏插件。对标 Codex 0.147 的「命令展示与会话回放中的 secrets 脱敏」。
English | 中文
tools/post-execute 流水线,模型看到的每个文本块中的
API key、Bearer token、JWT、PEM 私钥、通用高熵 token 自动掩码——已在真实会话中
验证(sk-abc123... 变为 sk-***)。TOKEN / KEY / SECRET / PASSWORD / PASSWD / CREDENTIAL / AUTH / SIGNING(值长度 >= 8)的值会被收集并在输出中出现时掩码。~/.dsh/dsh-ssh.json 中的密码自动掩码(可配置关闭)。redact_text 模型工具:在记录、持久化或回显之前,对任意文本/JSON 脱敏。redact_secret_status 模型工具:报告规则数与已收集密钥数(只报数量,不报值),
用于确认脱敏器已生效。harness.handle,仅沙箱 realm;CLI 静态加载下跳过):secret-redactor/redact 与
secret-redactor/status,供 client 半区与其他插件调用。dsh plugin --profile web add github:DamonKoy/dsh-plugins#path:/packages/dsh-secret-redactor
重启 dsh web。脱敏默认开启。
可选文件 ~/.dsh/dsh-secret-redactor.json:
{
"enabled": true,
"mask": "***",
"disablePatterns": ["generic-mixed"],
"patterns": ["CUSTOM-\\d{8}"],
"extraSecrets": ["literal-secret-1"],
"collectEnv": true,
"collectSshPasswords": true
}
| 字段 | 默认 | 含义 |
|---|---|---|
enabled | true | 总开关 |
mask | "***" | 用户提供密钥/规则的替换文本 |
disablePatterns | [] | 按名称禁用内置规则(见规则目录) |
patterns | [] | 附加正则(带 g 标志) |
extraSecrets | [] | 需掩码的字面字符串(长度 >= 4) |
collectEnv | true | 收集匹配的环境变量值 |
collectSshPasswords | true | 收集 ~/.dsh/dsh-ssh.json 密码 |
配置在每次挂钩时重新读取,修改即时生效,无需重启。
覆盖:sk- 系(OpenAI/DeepSeek)、GitHub(ghp_ 等)、AWS AKIA、Slack xox、
Google AIza、HuggingFace hf_、GitLab glpat-、Bitbucket ATBB、阿里云 LTAI、
腾讯云 AKID、Stripe sk_live_/sk_test_、npm、Telegram 机器人、SendGrid SG.、
DigitalOcean dop_v1_、Shopify shpat_、PEM 私钥块(RSA/EC/OpenSSH/PGP/加密)、
Bearer 头、JWT、data:…;base64,… URI 载荷、scheme://user:password@ 连接串凭据、
apiKey/password/secret/token 键值对(含 JSON 引号形式)、32+ 混合大小写 hex、
64+ base64 形状、40+ 混合大小写标识符形状。
防误伤内建:普通工具名(如 hindsight_search_knowledge_pages)、纯小写长单词
(即使 45 字符)、git commit 哈希、UUID、无凭据的 https://user@host、git@…
SSH URL 均不掩码。node --test test/ 运行 13 例双向测试(正例+反例)。
redact_secret_status 只报数量与规则名,绝不包含值。MIT