功能介绍AI
DSH 的日历与时钟插件,可在指定时刻按关键词唤醒指定会话,并注入系统时间与漂移。
- 可在指定时刻唤醒指定的会话
- 按关键词触发唤醒,并注入系统时间与漂移
- 进程内定时器,并镜像到 Windows 任务计划程序
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add github:catsenior507/dsh-clock#v0.1.0安装方式: GitHub · 运行验证通过 (L5)
验证与兼容性
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
○ 作者未声明 dsh 版本要求 —— 安装不会因版本被拒。
| 插件版本 \ dsh | dsh 0.2.1-rc.3 当前 | dsh 0.2.1-rc.2 | dsh 0.2.1-alpha.4 | dsh 0.2.1-alpha.2 | dsh 0.2.0-rc.2 |
|---|---|---|---|---|---|
| v0.1.0 | ✓ | ✓ | ✓ | ✓ | ✓ |
v0.1.0github✓ 运行验证通过 122026-10-27
https://github.com/catsenior507/dsh-clock
✓dsh 0.2.1-rc.3当前2026-10-27L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.3
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.2.1-rc.3 · 档位: l4-sandbox
签发:2026-10-27 · 有效至:2026-11-03
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-rc.22026-10-19L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-19 · 有效至:2026-10-26
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-alpha.42026-10-17L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.2.1-alpha.4 · 档位: l4-sandbox
签发:2026-10-17 · 有效至:2026-10-24
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-alpha.22026-10-11L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-11 · 有效至:2026-10-18
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.0-rc.22026-10-09L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.2.0-rc.2 · 档位: l4-sandbox
签发:2026-10-09 · 有效至:2026-10-16
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.0-rc.12026-09-30L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.1
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.2.0-rc.1 · 档位: l4-sandbox
签发:2026-09-30 · 有效至:2026-10-07
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.7-rc.22026-09-26L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.1.7-rc.2 · 档位: l4-sandbox
签发:2026-09-26 · 有效至:2026-10-03
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.7-alpha.22026-09-23L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.7-alpha.2
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.1.7-alpha.2 · 档位: l4-sandbox
签发:2026-09-23 · 有效至:2026-09-30
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.6-alpha.22026-09-20L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.1.6-alpha.2 · 档位: l3-fullscan
签发:2026-09-20 · 有效至:2026-09-27
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.6-alpha.12026-09-17L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.1
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.1.6-alpha.1 · 档位: l4-sandbox
签发:2026-09-17 · 有效至:2026-09-24
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.5-rc.22026-09-13L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.5-rc.2
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dsh0.1.5-rc.2 · 档位: l4-sandbox
签发:2026-09-13 · 有效至:2026-09-20
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓版本史前2026-10-04L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: github · https://github.com/catsenior507/dsh-clock#v0.1.0
ID: dsh-clock@v0.1.0@dshunknown · 档位: l4-sandbox
签发:2026-10-04 · 有效至:2026-10-11
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
仅展示最近 3 个已发布版本;源码快照(commit hash)组、未标注工件组与更早版本不展示——全量档案保留在数据层(插件无任何已发布版本时,快照/未标注组才照常展示)。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-clock/)``[](https://www.dsh.so/artifact/dsh-clock/)``[](https://www.dsh.so/artifact/dsh-clock/)``[](https://www.dsh.so/artifact/dsh-clock/)``[](https://www.dsh.so/artifact/dsh-clock/)``[](https://www.dsh.so/artifact/dsh-clock/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低;动态审计最高 中(有结论时以动态为准)→ 总评级 中。
v0.1.0dsh 清单v0.1.0git2026-10-28v0.1.0版本一致clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(6 条)
- 警告netIp · network
src/client/clock.ts:42const candidate = 'http://127.0.0.1:' + String(BASE_PORT + offset) + API - 警告netIp · network
src/host/api.ts:203const url = new URL(req.url ?? '/', 'http://127.0.0.1') - 警告childProcess · code-exec
src/host/system-scheduler.ts:128const result = spawnSync( - 警告netIp · network
src/host/system-scheduler.ts:86return 'http://127.0.0.1:' + String(port) + '/api/clock/tick' - 警告curlDownload · network
src/host/system-scheduler.ts:93return { execute: curl, argument: '-s -S -o NUL -X POST --max-time 30 ' + tickUrl(port) } - 警告netIp · network
src/index.ts:148ctx.logger?.info?.('[clock] local API http://127.0.0.1:' + service.config.port)
展开 5 条审计发现
- medium未认证的本地回环 HTTP API 可创建/触发闹钟并向 Agent 会话注入攻击者文本
src/host/api.ts:244没有 webServer 服务时,startStandaloneServer 会在 127.0.0.1:4801+ 暴露完整路由表。handle() 无认证、无 Origin/Host 校验,且 nodeHandler 对任意 POST 都按 JSON 解析(text/plain 简单请求无需预检)。本地恶意进程,或用户仅访问的网页(表单/sendBeacon CSRF),可 POST /api/clock/alarms 写入攻击者控制的 keyword/note/label 与目标 sessionId,再 POST /api/clock/tick 使其投递:闹钟文本被原样注入目标会话(src/host/fire.ts renderWakeText),构成对在线 Agent 的提示注入,并可篡改闹钟表、反复触发 PowerShell 任务注册造成资源消耗。
- lowWindows 计划任务镜像在每次闹钟表变更时以 -ExecutionPolicy Bypass 启动 powershell.exe
src/host/system-scheduler.ts:127在 ClockScheduler.resync() 中同步阻塞(45 秒超时)地以绕过执行策略的方式运行 powershell.exe,而 resync 在每次闹钟变更时重新派生。脚本内容是固定的,插值均为数字(localIso(at)、tickUrl(port))或经 psQuote() 转义,攻击者不可控字符串不会进入 shell;残余风险是执行策略被绕过,以及可通过 HTTP API 触发阻塞式、无节流的任务重复注册。
- low面板信任 127.0.0.1:4801-4808 上最先响应的进程并向其发送闹钟数据
src/client/clock.ts:42apiBase() 会接受该范围内任何 /state 返回 ok 的端口并缓存;随后 call() 将包含 sessionId、keyword、note 的 JSON 发送到该地址并渲染其 /state。若 4801 已被其他本地应用占用,插件自身服务会退到 4802,而面板仍与外来进程通信,后者可读取闹钟数据并向界面注入伪造状态/会话标题。利用仍需本地代码执行能力。
- lowclock 工具的 list/cancel 作用于所有会话的闹钟而非调用者自身
src/host/tool.ts:195面向模型的工具返回全部持久化闹钟(含其他会话的 sessionId、keyword、note、label 与错误文本),并允许按任意 id 取消,因此某个会话中的 Agent 可枚举并取消属于其他会话的唤醒。由于闹钟内容由用户/Agent 编写且不存凭据,影响有限。
- low入口导入的核心投递模块 src/host/service.ts 不在被审计源码中
src/index.ts:42HTTP 路由与定时器所委托的唤醒路径(claimDue、deliver、fireOne、state、schedulerState)以及面板组件 src/client/panel.tsx 被引用但不在提供的源码树中,因此无法验证幂等/去重声明、会话目标校验与面板渲染;按当前提交内容插件也无法构建,其中隐藏的行为未经审计。
未认证的本地回环 API 允许本地进程或网页创建/触发闹钟并向会话注入文本;PowerShell 镜像与工具跨会话列举属次要风险。
口径(2026-10-28):有动态审计结论时以动态结论为准(可能上调也可能下调);没有结论时(未入队 / 审计失败 / 人工撤回)才用静态扫描档(vet 主判 + dsh 兜底)。动态审计永不写豁免表(豁免只能人工三筛手写);模型判错时由人工复核撤回,撤回后档位回到静态扫描档。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-10-17 · 活跃度:活跃
• 仓库创建: 2026-09-11
• 星标: ★ 1 · 复刻: 0
• 健康度: 活跃 — 近 30 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
