🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

jkt-check/dsh-secret-scrub

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
✓ 可直接安装

不可逆的密钥脱敏守护插件,源自 kaya-ai-terminal 项目的用户敏感信息保护策略,现独立开源大陆官网:…

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node ^22.19 || >=24);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/2 · 已提供中文文档

DeepSeek Harness(dsh)的不可逆密钥擦除防护插件:在会话日志持久化和模型请求之前对密钥进行正则脱敏

综合分
28.9
GitHub 分
28.9
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-secret-scrub
npm 包 dsh-secret-scrub 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 0 天前真实安装成功
是什么
dsh 原生插件 · chat
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 23 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-secret-scrub @ 0.1.1
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/24 00:04:35

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-tools
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-secret-scrub

不可逆的密钥脱敏守护插件,源自 kaya-ai-terminal 项目的用户敏感信息保护策略,现独立开源(大陆官网:https://www.yunhouai.com;非大陆地区官网:https://www.yunhou.ai)。它在文本流向会话日志和模型请求的路上进行改写:当配置的规则命中形似密钥的片段——访问密钥、Bearer 令牌、私钥块——该片段会被不可逆地替换为 [REDACTED:] 占位符,使持久日志和模型请求在被覆盖的位置只携带占位符。

安装

npm install dsh-secret-scrub

运行时依赖为 @deepseek-ai/cordis(peer)和 @deepseek-ai/schemastery。@deepseek-ai/dsh- 系列 peer 包仅为类型依赖且可选。

在 dsh profile 中使用

本包声明了 dsh.bundle.patch,一条命令装完即用(默认 balanced 级别脱敏,无需任何凭据):

1. 安装 dsh CLI
npm i -g @deepseek-ai/dsh

2. 把插件装到目标 profile 里(以 headless 为例)
dsh plugin --profile headless add dsh-secret-scrub
发布前想测试本地改动,可用 npm pack 生成的 tarball:
dsh plugin --profile headless add /path/to/dsh-secret-scrub-0.1.1.tgz

3. 重启该 profile 后,运行包含敏感信息的任务——密钥会在进入模型/会话日志前被脱敏
dsh --profile headless "echo AWS AKIAIOSFODNN7EXAMPLE"

dsh plugin add 会自动应用包内的 cordis.patch.yml(以 balanced 级别挂载插件)。想调整级别或追加自定义规则,可在 profile 补丁层 ~/.dsh/profiles/headless/cordis.patch.yml 中覆盖同 id 的配置:

- id: secret-scrub
config:
level: aggressive
extra:
- category: internal-token
pattern: 'internal-[0-9]{4}'

作为独立 Cordis 插件使用

如果你不使用 dsh,也可以直接挂载到 Cordis Context 上:

import { Context } from '@deepseek-ai/cordis'
import  as SecretScrub from 'dsh-secret-scrub'

const ctx = new Context()
await ctx.plugin(SecretScrub, {
level: 'aggressive',               // 脱敏深度:minimal | balanced(默认)| aggressive
disabled: ['env-var-secret'],      // 仅限 tier 1/2 内置类目——tier 0 不可禁用
extra: [
{ category: 'internal-token', pattern: 'internal-[0-9]{4}' },
],
})

插件挂载三个前置的 waterfall 监听器,先委托下游,再对链路最终采纳的内容脱敏:

- agent/pre-step 改写每个 step 采纳的用户消息,然后才进入会话日志和模型请求。
- tools/post-execute 改写被接受的工具结果的纯文本内容。
- tools/ptc-dispatch-log 改写 run_code 子调用的 tool/code-dispatch 持久化副本。

| 字段 | 默认值 | 含义 |
|---|---|---|
| level | balanced | 脱敏深度:minimal 只跑 tier 0,balanced 加 tier 1,aggressive 加 tier 2——PII 与高熵兜底 |
| disabled | [] | 关闭指定的 tier 1/2 内置类目;tier-0 核心规则不可禁用,禁用会在加载时报错 |
| extra | [] | 部署方追加的规则,在所有级别下生效:全局唯一的小写连字符 category 加上以 new RegExp(pattern, 'g') 编译的 pattern |

无效配置在启动时即以明确的错误失败——未知或 tier-0 的 disabled 类目、无法编译的 extra 正则、不能出现在占位符中的类目 id、重复类目——绝不静默回退。

内置规则分级

level 选择生效的最高 tier。tier 0–1 为前缀锚定,tier 2 按形状匹配(规则见 src/rules.ts):

| Tier | 生效级别 | 类目 |
|---|---|---|
| 0 — 核心密钥 | 所有级别;不可禁用 | private-key、aws-access-key、github-token、google-api-key、deepseek-key、openai-key、anthropic-key、gitlab-pat、stripe-key、slack-token、npm-token、pypi-token、sendgrid-key、twilio-key、digitalocean-token、shopify-token、telegram-bot-token、tavily-key、url-credentials(连接串 authority)、url-access-token(OAuth 回调令牌)、generic-bearer(Bearer 令牌与 JWT) |
| 1 — 赋值与云厂商密钥 | balanced 及以上 | env-var-secret(名称以 _ 分段整体包含 KEY/SECRET/TOKEN/PASSWORD 的大写赋值)、azure-storage-key、alibaba-access-key |
| 2 — PII 与高熵兜底 | 仅 aggressive | email、phone-cn、phone-intl、id-cn、credit-card(Luhn 校验)、ssn-us、high-entropy |

直接使用引擎

纯脱敏引擎从 dsh-secret-scrub/rules 导出,不依赖 Cordis:

import { BUILTIN_RULES, scrubText } from 'dsh-secret-scrub/rules'

const { text, redactions } = scrubText('key: AKIAIOSFODNN7EXAMPLE', BUILTIN_RULES)
// text       → 'key: [REDACTED:aws-access-key]'
// redactions → { 'aws-access-key': 1 }

已知限制

脱敏是单向的、基于正则的。无前缀密钥、跨文本块拆分的密钥、编码形式(base64 包裹、URL 转义)按设计会绕过保守的规则形状。tier-2 规则匹配的是形状而非确凿的密钥,因此以误报换覆盖——任务说明中的邮箱会被当作密钥脱敏,哈希状文本(git SHA、SHA-256 摘要)在 aggressive 级别会命中 high-entropy 兜底。不要把本守护当作防止凭证泄漏的唯一手段。

开发

npm install
npm run typecheck
npm test
npm run build

许可证

MIT — Copyright (c) 2026 jkt-check

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群