在提交前拦截密钥、大文件与调试残留
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add feely0208/dsh-git-guard该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · security
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 38 处,展示前 14 条)
- 读取本地文件bin/cli.mjs:26
const PKG = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf-8')); - 执行外部命令固定命令bin/cli.mjs:65
return execFileSync('git', ['-C', root, ...args], { - 读取本地文件bin/cli.mjs:105
const st = statSync(file); - 读取本地文件bin/cli.mjs:107
return decodeText(readFileSync(file)); - 读取本地文件bin/cli.mjs:162
try { ents = readdirSync(dir, { withFileTypes: true }); } catch { return; } - 读取本地文件bin/cli.mjs:185
try { return statSync(join(root, rel)).size; } catch { return 0; } - 写入本地文件bin/cli.mjs:523
mkdirSync(dirname(resolve(target)), { recursive: true }); - 写入本地文件bin/cli.mjs:524
writeFileSync(target, content, 'utf-8'); - 读取本地文件bin/cli.mjs:536
if (!existsSync(root)) throw usageError(`路径不存在:${root}`); - 写入本地文件bin/cli.mjs:635
mkdirSync(hookDir, { recursive: true }); - 写入本地文件bin/cli.mjs:642
copyFileSync(hookPath, backup); - 写入本地文件bin/cli.mjs:654
writeFileSync(hookPath, body, 'utf-8'); - 写入本地文件bin/cli.mjs:655
chmodSync(hookPath, 0o755); - 执行外部命令固定命令bin/cli.mjs:708
execFileSync('git', ['-C', root, ...args], { stdio: 'ignore' });
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-skill给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
Git 提交前检查:密钥 / 大文件 / 冲突标记 / 调试残留 / commit 信息规范,可挂 pre-commit
README
由 DeepSeek 最新模型翻译生成@deepwhale-cn/dsh-git-guard
Listed on dsh-plugin.org
Git 提交前检查:把「密钥进仓库」「5MB 大文件」「冲突标记」「调试残留」「被跟踪的 .env」「不规范的 commit message」拦在 commit 之前。
关键词:Git 提交前检查 · pre-commit hook · 密钥扫描 · 大文件 · 冲突标记 · 调试残留 · commit message 规范 · git hook · CI 卡口 Keywords: git pre-commit hook · secret scan · commitlint · large file · merge conflict marker · debugger residue
不装会怎样
密钥写进源码、.env 被 git add . 顺手带上、5MB 视频进了仓库、<<<<<<< HEAD 忘了删、console.log 和 debugger 留在生产代码里 —— 这些问题的共同点是:提交那一刻没人拦,事后清理成本极高(密钥要作废轮换、大文件要重写历史、冲突标记直接把线上搞崩)。这个插件就是提交前最后一道闸。
展开完整文档(README 剩余 1 节)
@deepwhale-cn/dsh-git-guard Listed on dsh-plugin.org Git 提交前检查:把「密钥进仓库」「5MB 大文件」「冲突标记」「调试残留」「被跟踪的 .env」「不规范的 commit message」拦在 commit 之前。 关键词:Git 提交前检查 · pre-commit hook · 密钥扫描 · 大文件 · 冲突标记 · 调试残留 · commit message 规范 · git hook · CI 卡口 Keywords: git pre-commit hook · secret scan · commitlint · large file · merge conflict marker · debugger residue 不装会怎样 密钥写进源码、.env 被 git add . 顺手带上、5MB 视频进了仓库、<<<<<<< HEAD 忘了删、console.log 和 debugger 留在生产代码里 —— 这些问题的共同点是:提交那一刻没人拦,事后清理成本极高(密钥要作废轮换、大文件要重写历史、冲突标记直接把线上搞崩)。这个插件就是提交前最后一道闸。 能做什么 - scan:扫工作区 / 暂存区,报告六类问题: - 疑似密钥 token(AWS / GitHub / Slack / Stripe / Google / 通用 api_key=...) - 私钥文件(-----BEGIN ... PRIVATE KEY-----) - 超过 5MB 的大文件(默认阈值,可用 --max-size 调整) - 残留合并冲突标记(<<<<<<< / ======= / >>>>>>>) - 调试残留(debugger、console.log / console.debug,按警告处理) - 被 Git 跟踪的 .env(.env.example / .env.sample 等不算) - msg:校验 commit message 是否符合 type(scope): subject 约定(type 白名单、标题 ≤72 字、标题与正文之间空一行、subject 不以句号结尾等;Merge / Revert / fixup! 自动豁免)。 - precommit:组合 staged 扫描 + message 校验,有问题退出 1,可直接挂 git hook;precommit install 一键写入 .git/hooks/pre-commit(原 hook 自动备份为 .bak)。 - 两种输出:终端里给人看的分组报告;--json 给 CI;--out 额外写一份 Markdown 报告。 - --demo:自造一个临时 Git 仓库(密钥均为伪造值),把六类问题 + message 校验整套跑一遍,打印产物路径。 不能做什么 - ❌ 不扫历史提交:只检查当前工作区 / 暂存区,已经提交过的密钥请另行轮换并用 git filter-repo 等工具处理历史。 - ❌ 不是完整秘密扫描器:没做熵值检测、不覆盖所有厂商的 token 格式;正则命中是提示,需要人确认,不是「安全/不安全」判定。 - ❌ 不管理 hook:只写 .git/hooks/pre-commit(会备份原文件),不接管 husky / lefthook 等工具;团队流水线请按自己的编排接入。 - ❌ message 规则是常见子集:Conventional Commits 的常见 type 集合,团队自定义 type / 模板需自行扩展代码。 - ❌ console.log 只算警告:默认不拦截(--strict 可把警告也当错误);也不分辨日志是否在测试文件里。 - ❌ 不自动迁移大文件:只报出来,不会执行 Git LFS 或重写历史。 - ⚠️ 需要本机装 Git;纯 Node ESM,不联网、不装依赖。 - ⚠️ 挂 pre-commit 的前提:当前目录是已 git init 的仓库(hook 写入 .git/hooks/);在非 git 目录装插件不会自动生效,先 git init 或按 precommit install 提示操作。 安装 dsh plugin --profile web add @deepwhale-cn/dsh-git-guard 或纯 CLI npx @deepwhale-cn/dsh-git-guard --help 用法 dsh-git-guard scan # 扫当前仓库(工作区 + 暂存区) dsh-git-guard scan staged --input <目录> # 只看暂存区 dsh-git-guard scan --json # 给 CI dsh-git-guard msg --message "feat(api): 支持批量导出" dsh-git-guard precommit --input <目录> # 退出码 1 = 拦下提交 dsh-git-guard precommit install --input <目录> dsh-git-guard --demo 挂进 git hook 后,每次 git commit 前自动跑 precommit;退出码 1 会阻止提交。 确实需要跳过时用 git commit --no-verify(不建议)。 License MIT © 温州深鲸智能科技有限公司
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
feely0208/dsh-git-guard
在提交前拦截密钥、大文件与调试残留
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7