dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
数据不该永远躺着 —— 该删的,删了没。
关键词:数据留存 · 留存期限 · 过期清理 · 数据生命周期 · 该删没删 · 主动删除 · 最短必要 · 日志轮转 · 到期删除
是:静态检查一个项目在「数据留存」这件事上的三处空白 ——
① 说不清留多久:有数据库 / 日志文件 / 上传目录,却没有一处写明留存期限;
② 留太久:期限被写成 3 年以上(1095 天 / 36 个月);
③ 只写不删:代码里全是 INSERT / 上传 / 落盘,找不到任何过期清理路径。
不是:
dsh-data-classify 的活(哪些数据是敏感级、有没有台账)dsh-cn-log-retention 的活(见下方分界)dsh-data-rights 的活(用户点「注销」时删不删得掉)一句话分界:dsh-cn-log-retention 查「留够没」,这个查「留太久 / 该删没删」。
dsh-cn-log-retention = 日志留存够不够 6 个月(法定下限,网络安全法第 21 条)
dsh-data-lifecycle = 各类数据留多久、到期有没有人删(个保法第 19 / 47 条)
dsh-data-classify = 数据分没分级、有没有台账
dsh-data-rights = 用户来要求删除时,删不删得掉
dsh-pipia = 影响评估报告本身要不要留三年(个保法第 56 条)
| 规则 | 查什么 | 级别 |
|---|---|---|
LIFE-NO-RETENTION-POLICY | 有数据落地,却找不到任何成文的留存期限规定 | 🔴 |
LIFE-RETENTION-TOO-LONG | 留存期限写成 3 年以上 / 1095 天以上(expireAfterDays: 3650 这类也算) | 🔴 |
LIFE-WRITE-NO-PURGE | 有写入路径,整份代码里找不到清理 / 过期删除实现 | 🔴 |
LIFE-SCHEDULE-NO-CLEANUP | 有定时任务,但任务里没有一个是清理 | 🟡 |
LIFE-SCHEMA-NO-EXPIRY-FIELD | 建表 / 模型里没有 expires_at / deleted_at 这类字段 | 🔵(弱信号) |
每条都会给出:哪个文件、第几行、那行长什么样、依据是哪一条法规。
前三条规则都带「适用前提」(when):项目里得先有数据落地的痕迹(数据库、日志、上传目录),规则才会跑 ——
纯前端、纯工具库的项目不会被它们打扰。
dsh plugin --profile web add @deepwhale-cn/dsh-data-lifecycle
# 扫当前项目
dsh-data-lifecycle
# 扫指定目录
dsh-data-lifecycle --root /path/to/project
# 看内置演示(一个「只往库里写、从不删、也没写留存期限」的会员中心)
dsh-data-lifecycle --demo
# 列出规则与依据
dsh-data-lifecycle --list-rules
# 出 HTML 报告
dsh-data-lifecycle --root /path/to/project --html report.html
--demo 里那个会员中心,看起来是个正常项目:有 package.json、有表结构、有上传接口、有日志、还有每日定时任务。
它的问题不在「有没有写代码」,而在「没人负责让数据消失」:
🔴 11 个文件里找不到任何一处写明的留存期限(README / 配置 / 代码都没有)
🔴 src/media/expiry.js:3 expireAfterDays: 3650 ← 附件留 10 年
🔴 有 INSERT / writeFileSync / 上传落盘,但没有一处 purge / 过期删除
🟡 jobs/nightly-report.js 有 cron 定时任务,报的是日报,不是清理
🔵 migrations/*.sql 建了 3 张表,没有 expires_at / deleted_at
对照的干净样本(tests/fixtures/pass/clean-project/)长这样:README 里有一张留存期限表,
config/retention.yml 里写死 180 / 90 天,jobs/purge-expired.js 每日 03:00 清理,表里有 expires_at —— 0 命中。
retention / expire / purge / cleanup 这类命名;自创命名(比如 sweep())可能漏掉source 都指得到具体条款,可自行核对一个插件做一件事。安全问题是链式的 —— 配套用才完整。
国内合规(12)| 等保对照 · 日志留存 · 备案公示 · 用户同意 · 个人信息权利 · 未成年人保护 · 影响评估 · 数据分类分级 · 算法备案 · 数据出境 · 国密合规 · AI 内容标识
AI 与 Agent 治理(6)| AI 输出信任 · 外部内容信任 · MCP 安全 · Agent 权限 · 策略核对 · 可疑指令
数据与凭据(5)| 敏感数据 · 密钥轮换 · 数据留存 · 配置审计 · 密钥扫描
供应链与构建(5)| 开源许可 · 依赖投毒 · CI 安全 · 工具审查 · 物料清单
行业专项(4)| 医疗行业专项 · 教育行业专项 · 金融行业专项 · 地方数据条例
编排与交付(3)| 一键体检 · 改前改后复核 · 合规可交付文档
都在 DSH 插件市场(dsh-plugin.org)、npm 和 deepwhale.org.cn/guard.html 上。
MIT © 深鲸 DeepWhale