dsh-plugin-shop 如何挡住恶意插件?typosquatting 与供应链攻击防御机制全解析

发布时间:2026/10/16 2:56:49
dsh-plugin-shop 如何挡住恶意插件?typosquatting 与供应链攻击防御机制全解析
【免费下载链接】dsh-plugin-shopThe most comprehensive DeepSeek Harness plugin market — refreshed daily, sourced across the Internet, reviewed before publishing.项目地址https://gitcode.com/gh_mirrors/ds/dsh-plugin-shop点击查看免费下载dsh-plugin-shop 是面向 DeepSeek Harness 的开源插件商店它每天自动从 npm 和 GitHub 发现候选插件并在上架前逐一执行安全审查。本文解析它如何拦截 typosquatting名称仿冒插件、防范供应链攻击以及版本钉住 内容哈希 安装确认这套多层防御机制的具体设计。先认识这个门禁每日构建的五道检查dsh-plugin-shop 的目录构建代码位于registry/每个候选插件都必须通过 gate.ts 中的一系列准入规则任何一道检查不通过都会被记录到公开构建报告中并附带作者可读的拒绝原因共十七种预定义拒绝码。核心检查包括可安装性声明了有效的dsh.bundle否则只是普通库而非插件可审查性必须有 license 和可访问的源码仓库可信度校验dist.integrity哈希、发布时间戳并拦截潜在误导性名称可展示性有有效的dsh.catalog或 npmdescription大小预算单个条目最多 12 KiB 字节防止恶意作者用超长字段撑爆目录文件。typosquatting 门禁名字差两个字符就会被扣下typosquatting 是插件市场最常见的攻击攻击者注册一个与知名插件仅差一两个字符的包名诱导用户装错。dsh-plugin-shop 在 gate.ts 中实现了专门的相似度门禁similarity hold对每个候选包名计算它与verified.yml中所有已验证名称的编辑距离Levenshtein distance距离 ≤ 2阈值常量SIMILARITY_THRESHOLD 2的候选不会自动上架而是被扣下等待人工裁定人工裁定后二选一放行写入 allowed-similar.yml仅解除相似性扣压不授予信任等级或加入黑名单 denied.yml。值得注意的是GitHub 渠道的门禁 repo-gate.ts 会同时探测仓库 slug 和 bundle 名称防止攻击者换个仓库名绕过。官方设计文档中甚至有一条示例dsh-hllo-plugin少了个 e会被直接拒绝理由标注为 possible typosquat of dsh-hello-plugin见 设计文档。供应链攻击防御审查只钉住精确版本这是本项目最核心的信任设计实现在 tier.ts渠道审查钉住的对象换掉之后npmreviewedVersion精确版本号任何更新或更旧版本都降级为verified-staleGitHub 仓库仓库 reviewedCommit精确 commit推送新 commit 即降级Release 救援tarball 的reviewedSha256内容哈希tag 可被删除重建所以只认哈希设计动机写得很直白如果把信任绑在包名上作者发布一个恶意新版本就能自动继承旧版本的信任。因此信任从不跨身份迁移——npm 审查对 GitHub 同名的 fork 无效反之亦然实测中有 177 个名称被多个条目共享dsh-skill-manager一个名字就有 14 个仓库在争用见 install.ts 注释。目前 verified.yml 为空即没有任何插件通过人工审查整个商店都是community等级——这是项目刻意保持的诚实姿态详见 SECURITY.mdcommunity 只表示没有人审过代码不是合格证书。内容完整性校验多源 sha256本地商店 catalog.ts 加载目录时还会做完整性校验目录数据文件名本身就是内容哈希plugins.sha256.json同时向多个源配置的 npm registry、npmmirror、GitHub Pages 等并发请求取第一个且 sha256 与 index 中登记一致的响应哈希不匹配直接抛错拒用目录中还记录每个插件的 SRI 完整性哈希dist.integritygate.ts 会严格校验其必须符合 SRI 格式防止作者注入异常值污染快照。此外每天构建后生成的manifest.lock快照会提交到 Git所有目录变更可逐条追溯。最后一道墙安装门禁与人工确认即使插件已上架安装时还有第二道闸门同样是纯函数实现在 install.tsneeds-acknowledgement非verified等级的插件每次安装都必须用户显式确认也就是下图那个确认弹窗的来源version-mismatch请求版本必须与目录中钉住的版本完全一致ambiguous-identity同名插件有多条时拒绝猜测防止装错身份name-taken同一 profile 内同名插件不会被静默覆盖denied命中黑名单直接拒绝。黑名单与恶意插件处置流程denied.yml 是永久性黑名单每条都附带人工记录的拒绝原因和可选的合法替代品。发现目录中混入恶意插件时应通过 SECURITY.md 描述的私有渠道报告不要开公开 issue 或 PR确认后会写入denied.yml且条目永久有效——黑名单同时按包名和声明的仓库两个维度匹配防止作者换个渠道发布同一段代码。小结防御体系一览层次机制针对的攻击发现层关键词自动发现 每日构建 Git 留痕未知来源混入审查层typosquatting 相似度门禁距离 ≤ 2 扣压名称仿冒信任层审查钉住精确版本 / commit / sha256恶意新版继承信任完整性层多源并发 sha256 校验 SRI 格式检查中间人 / 目录投毒安装层非 verified 强制确认 版本匹配 身份消歧误装 / 装错同名包处置层denied.yml 永久黑名单 私有报告通道存量恶意插件需要提醒的是dsh-plugin-shop 不提供沙箱隔离插件加载后拥有完整的运行时权限商店的职责是上架前挡住明显的恶意与仿冒最终信任决策仍在用户手中。更多设计细节可参阅 docs/design/ 目录下的设计文档与 registry/ 目录下的审查管线源码。赞分享【免费下载链接】dsh-plugin-shopThe most comprehensive DeepSeek Harness plugin market — refreshed daily, sourced across the Internet, reviewed before publishing.项目地址https://gitcode.com/gh_mirrors/ds/dsh-plugin-shop点击查看免费下载相关推荐如何通过Server Survival游戏掌握DDoS防御系统从理论到实战的完整指南如何通过Server Survival游戏掌握DDoS防御系统从理论到实战的完整指南 Server Survival是一款创新的塔防游戏它将枯燥的云架构知识游戏开发教育如何在Claude Code中一键安装HUD插件实时掌握AI助手工作状态如何在Claude Code中一键安装HUD插件实时掌握AI助手工作状态 想让你的Claude Code开发体验更直观透明吗Claude HUD插件正是你需AI 插件开发工具终极指南如何检测和防御Office宏恶意软件攻击终极指南如何检测和防御Office宏恶意软件攻击 在当今网络安全环境中Office宏恶意软件已成为最常见的攻击载体之一。al khaser项目作为一款功能强网络安全上一篇在 TensorFlow.js 中运行 TensorFlow Decision Forests 模型tfjs-tfdf 使用与实现指南下一篇CANN ops-math 算子指南aclnnCumprod 与 aclnnInplaceCumprod 累积乘积接口原理与调用实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考