🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

国密合规检查 feely0208/dsh-cn-crypto

DeepSeek Harness
feely020816 天前有提交已提供中文文档扫描:未发现敏感能力

检查密码学代码是否该用国密却仍用国际算法

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add feely0208/dsh-cn-crypto
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · security
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-skill
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

国密算法合规检查:该用国密的地方,有没有还在用国际算法

README

由 DeepSeek 最新模型翻译生成
@deepwhale-cn/dsh-cn-crypto 该用国密的地方,有没有还在用国际算法。 关键词:国密 · 商用密码 · SM2 · SM3 · SM4 · 密评 · 密码应用安全性评估 · 等保密码要求 · GB/T 39786 先说清楚它是什么、不是什么 是 —— 一个条件性检查器:只在你项目里确实存在密码学代码时才运行,检查该用国密的地方有没有还在用国际算法或不安全参数。 不是 —— 不是「所有项目都必须用国密」。国密不是普遍强制要求:只有涉及商用密码的场景(关键信息基础设施、等保三级及以上、金融/政务/能源等有行业要求、需要过密评)才有强制要求。所以本插件的每条规则都用 when 限定,纯业务代码的项目上一条都不会跑,也不会报。 也不是 —— 不是密码学审计的替代品。它不判断你的密钥管理流程、不检查密码模块资质、不验证协议实现是否正确。报出来的是提示确认,不是判定违规。
展开完整文档(README 剩余 1 节)
@deepwhale-cn/dsh-cn-crypto

该用国密的地方,有没有还在用国际算法。

关键词:国密 · 商用密码 · SM2 · SM3 · SM4 · 密评 · 密码应用安全性评估 · 等保密码要求 · GB/T 39786

先说清楚它是什么、不是什么

是 —— 一个条件性检查器:只在你项目里确实存在密码学代码时才运行,检查该用国密的地方有没有还在用国际算法或不安全参数。

不是 —— 不是「所有项目都必须用国密」。国密不是普遍强制要求:只有涉及商用密码的场景(关键信息基础设施、等保三级及以上、金融/政务/能源等有行业要求、需要过密评)才有强制要求。所以本插件的每条规则都用 when 限定,纯业务代码的项目上一条都不会跑,也不会报。

也不是 —— 不是密码学审计的替代品。它不判断你的密钥管理流程、不检查密码模块资质、不验证协议实现是否正确。报出来的是提示确认,不是判定违规。

它查什么

5 条,全部只在项目里出现密码学代码时运行:

| 级别 | 规则 | 内容 |
| 🔴 高 | CRYPTO-ECB | 用了 ECB 模式 —— 含 aes-128-ecb、AES/ECB/PKCS5Padding、MODE_ECB,以及 Java Cipher.getInstance("AES") 只写算法名(提供者默认落到 ECB) |
| 🔴 高 | CRYPTO-WEAK-HASH | MD5 / SHA-1 的调用点(createHash('md5')、MessageDigest.getInstance("SHA1")、hashlib.md5()、DigestUtils、CryptoJS,以及 "md5" 这类算法名字符串) |
| 🔴 高 | CRYPTO-RSA-KEYLEN | RSA 密钥长度 < 2048(512 / 1024 / 1536,出现在 modulusLength、keySize、initialize、genrsa、RSA.generate 等参数位置) |
| 🔴 高 | CRYPTO-HARDCODED-IV | IV / salt 硬编码成字符串字面量,或 Java 用 IvParameterSpec("...") 直接包字符串常量 |
| 🟡 中 | CRYPTO-NO-SM | 项目里有密码学代码,但全项目找不到 SM2 / SM3 / SM4 的痕迹(files-lack + when) |

CRYPTO-NO-SM 是最容易被误读的一条:它报出来只代表「这个项目在写密码学代码,但没看到国密」——先确认这个项目是否落在商用密码的应用范围内,再决定要不要改。

为什么 ECB 这条要单列

ECB 是确定性模式:相同明文分组永远加密成相同密文分组,不隐藏数据的重复结构。它没有链接、没有 IV,无法提供语义安全。

最容易漏的是 Java:

Cipher.getInstance("AES") // ← 提供者默认 ECB/PKCS5Padding
Cipher.getInstance("AES/ECB/PKCS5Padding") // ← 显式 ECB
Cipher.getInstance("AES/CBC/PKCS5Padding") // ← 这个才是好的

只写 "AES" 看起来「没写模式所以没选模式」,实际上选了一个最差的。

依据(可查证)

| 规则 | 主要出处 |
| 全部 | GB/T 39786-2018《信息安全技术 信息系统密码应用基本要求》—— 密码算法与工作模式应符合国家密码管理部门的规定 |
| SM2 | GB/T 32918 系列《信息安全技术 SM2 椭圆曲线公钥密码算法》 |
| SM3 | GB/T 32905-2016《信息安全技术 SM3 密码杂凑算法》 |
| SM4 | GB/T 32907-2016《信息安全技术 SM4 分组密码算法》 |
| 条件性 | 《中华人民共和国密码法》第二十七条 —— 要求使用商用密码进行保护的关键信息基础设施,其运营者应当使用商用密码进行保护 |
| 不安全参数 | OWASP Cryptographic Storage Cheat Sheet(ECB 不应用于加密;MD5/SHA-1 不适用于口令与完整性;RSA 密钥长度不低于 2048 位;IV 与 salt 必须随机且每次不同) |

安装

dsh plugin --profile web add @deepwhale-cn/dsh-cn-crypto
或纯 CLI
npx @deepwhale-cn/dsh-cn-crypto

用法

dsh-cn-crypto --demo # 用内置样本看检出效果 dsh-cn-crypto --list-rules # 列出规则和依据 dsh-cn-crypto --html r.html # HTML 报告给安全负责人 dsh-cn-crypto --json # 给 CI 二次处理 dsh-cn-crypto --quiet # 只输出结论行

退出码:有 high/critical 命中为 1,可挂 CI 卡口。

边界

- 不做缺项判定 —— 没看到国密不等于违规,见上文「先说清楚它是什么、不是什么」。
- 不看部署层 —— 密码机、KMS、网关侧的统一加密不在扫描范围内。
- 不校验密码模块资质 —— 用了 SM4 也不代表用的是通过认证的密码模块。
- 不判断密钥管理 —— 密钥轮换、分级、托管都不在范围。
- MD5 用于非安全用途不算 —— 缓存键去重、对象存储 ETag 这类不属于安全用途,可以忽略对应提示。

本插件是一个工具。使用者必须遵守所在地区法律法规,对使用本项目造成的任何后果自行承担责任。

深鲸网安守护系列(共 31 个)

一个插件做一件事。安全问题是链式的 —— 配套用才完整。
国内合规 | 等保对照 · 日志留存 · 备案公示 · 用户同意 · 个人信息权利 · 未成年人保护 · 影响评估 · 数据分类分级 · 算法备案 · 数据出境 · 国密合规 · AI 内容标识

AI 与 Agent 治理 | AI 输出信任 · 外部内容信任 · MCP 安全 · Agent 权限 · 策略核对 · 可疑指令

数据与凭据 | 敏感数据 · 密钥轮换 · 数据留存 · 配置审计 · 密钥扫描

供应链与构建 | 开源许可 · 依赖投毒 · CI 安全 · 工具审查 · 物料清单

权限与应急 | 最小权限 · 告警外发 · 应急证据包

都在 DSH 插件市场(dsh-plugin.org)、npm 和 deepwhale.org.cn/guard.html 上。
预览分享卡片长什么样 ↓feely0208/dsh-cn-crypto
分享 · DeepSeek Harness Hub
feely0208/dsh-cn-crypto

检查密码学代码是否该用国密却仍用国际算法

回到顶部