安装验证:运行验证通过 (L5) · 验证于 dsh 0.2.1-rc.2 · 验证日期 安装验证详情 →
功能介绍
DSH(DeepSeek Harness)插件:把一份基于文件的本地记忆档案(日记 / 状态 / 生长记录 / 事件流)搬进设置页面板 —— 概览、搜索、追加、谨慎编辑,读写都带指纹守卫与改前备份。MIT。
安装
dsh plugin --profile web add github:S3K926/dsh-memory-board#v1.1.0安装方式: GitHub · 运行验证通过 (L5)
验证与兼容性
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
○ 作者未声明 dsh 版本要求 —— 安装不会因版本被拒。
| 插件版本 \ dsh | dsh 0.2.1-rc.2 当前 |
|---|---|
| v1.1.0 | ✓ |
v1.1.0github✓ 运行验证通过 12026-10-18
https://github.com/S3K926/dsh-memory-board
✓dsh 0.2.1-rc.2当前2026-10-18L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/S3K926/dsh-memory-board#v1.1.0
ID: dsh-memory-board@v1.1.0@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-18 · 有效至:2026-10-25
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-memory-board/)``[](https://www.dsh.so/artifact/dsh-memory-board/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 低,按「取更严者」→ 总评级 低。
v1.1.0dsh 清单v1.1.0git2026-10-21v1.1.0版本一致clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(5 条)
- 警告fsWrite · files
lib/fs-guards.js:85fs.writeFileSync(temp, text, { encoding: 'utf8' }); - 警告fsWrite · files
lib/fs-guards.js:115fs.writeFileSync(dest, toCrlf(text), { encoding: 'utf8' }); - 警告fsWrite · files
lib/panel-state.js:98fs.writeFileSync(temp, text, { encoding: 'utf8' }); - 警告childProcess · code-exec
lib/sync.js:24const probe = spawnSync(candidate, ['--version'], { encoding: 'utf8', timeout: 10000, windowsHide: true }); - 警告childProcess · code-exec
lib/sync.js:59const result = spawnSync(python, syncArgv(script, apply), {
展开 4 条审计发现
- low/api/memory 变更类路由接受 GET,仅依赖固定 confirm 令牌,无来源/令牌校验
lib/router.js:345所有变更类路由(写入解锁、日记追加/删除、状态编辑/删除、生长追加、init、sync/merge)都注册为 ['GET','POST'] 并从查询串取参;除宿主自身鉴权外,唯一的写入授权就是字面量 confirm=yes 以及等于目标名的 ack。若宿主在浏览器上下文暴露该 fetch 接口且无来源/CSRF 防护(本插件内不可见),跨站简单 GET 即可解锁写入开关(配置 readOnly:false 时)并追加或删除档案内容。
- low续跑任务迁移读取并删除另一插件的状态文件,并把其内容以 user 角色注入
lib/boot-tasks.js:86启动时会读取 ~/.dsh/session-switch/boot-tasks.json(属于已退役的换会话插件),把其中内容以 role:'user'(source.kind 'boot-tasks')追加到代理下一轮,随后 rmSync 删除。任何能写入该路径的东西都能影响代理一轮的指令,并破坏另一插件的数据。常规任务文件同理,但由本代理自己写入。
- low同步路由执行位于用户所选档案根下的 Python 脚本
lib/sync.js:59脚本名是硬编码的(SYNC_SCRIPTS)且不经 shell,但脚本体就是 <root>/生长/<name>.py 的内容。用户若认领/导入了不可信来源的档案,随后(配置可写+开关已解锁+confirm=yes+ack)触发 /sync/merge,该档案中的任意 Python 会以用户权限执行。
- lowindex.js 引入 ./lib/selftest.js,但该文件不在已审计/发布文件集中
index.js:35静态 ESM 引入了一个在已收集(且 package.json files 声明)源集中不存在的模块,加载时会抛 ERR_MODULE_NOT_FOUND,整个插件(含 21 条路由)无法加载;同时注释中反复提到的 --selftest 路径也无法验证。
扫描告警在运行时上下文中均被驳回:写盘有三重闸门与原子复核,执行仅限硬编码白名单且不经 shell;剩余仅为低危加固项。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-10-21 · 活跃度:活跃
• 仓库创建: 2026-09-28
• 星标: ★ 17 · 复刻: 0
• 健康度: 活跃 — 近 30 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
