数据截至 (UTC)
功能介绍AI
原生 DSH 插件,提供 PPTD DSL 引擎与可视化编辑,用 Python-PPTX 离线编译并一键导出 PPTX。
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add github:z953218350/dsh-np-ppt安装方式: GitHub · 运行验证通过 (L5) · 验证于 dsh 0.2.2-rc.1
趋势
四条线各答一个问题:星标总量、这周涨了多少星、累计下载、这周下载多少。GitHub 两条来自真读采样——每日轮转抽样,单个插件约每 5–14 天读到一次,所以比 npm 稀;npm 两条每个快照日都有。累计量画平滑曲线、不标采样点;两条周计数保留原始柱,另叠一条 4 周移动平均趋势线(压掉单周噪声,只看走势)。
9 次采样(约每 7 天一次),其中 4 次是历史重建近似(虚线段);平滑曲线经过每个采样点,非逐日观测
09-17 → 11-07 · 9 个采样点
柱 = 相邻两次采样的差值(间隔 5–14 天),负值向下,浅色柱含重建近似;线 = 4 周移动平均趋势
09-23 → 11-07 · 8 个采样点
由当前累计值按逐日下载反向回推(缺采日不插值) · 重建
观测点 0 个(< 3),暂不出图
暂无数据
柱 = 快照的 last-week 滚动窗口(官方 npm + npmmirror 合计);线 = 4 周移动平均趋势,只表达走势形态,不是累计人数
观测点 0 个(< 3),暂不出图
暂无数据
验证与兼容性
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
○ 作者未声明 dsh 版本要求 —— 安装不会因版本被拒。
| 插件版本 \ dsh | dsh 0.2.2-rc.1 | dsh 0.2.1-rc.5 | dsh 0.2.1-rc.3 | dsh 0.2.1-rc.2 | dsh 0.2.1-alpha.4 |
|---|---|---|---|---|---|
| 55d78e | ✓ | ✓ | ✓ | ✓ | ✓ |
| 2594d9 | · | · | · | · | · |
55d78egithub✓ 运行验证通过 172026-11-13
https://github.com/z953218350/dsh-np-ppt
✓dsh 0.2.2-rc.12026-11-06L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.2-rc.1
- • 被测插件工件: github · https://github.com/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dsh0.2.2-rc.1 · 档位: l4-sandbox
签发:2026-11-06 · 有效至:2026-11-13
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-rc.52026-11-01L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.5
- • 被测插件工件: github · https://github.com/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dsh0.2.1-rc.5 · 档位: l4-sandbox
签发:2026-11-01 · 有效至:2026-11-08
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-rc.32026-10-27L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.3
- • 被测插件工件: github · https://github.com/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@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/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@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/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@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/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@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/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@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/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dsh0.2.0-rc.1 · 档位: l4-sandbox
签发:2026-09-30 · 有效至:2026-10-07
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.7-rc.22026-09-25L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • 被测插件工件: github · https://github.com/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dsh0.1.7-rc.2 · 档位: l4-sandbox
签发:2026-09-25 · 有效至:2026-10-02
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.7-rc.12026-09-23未实测
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.1
- • 被测插件工件: github · https://github.com/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dsh0.1.7-rc.1 · 档位: l4-sandbox
签发:2026-09-23 · 有效至:2026-09-30
查看检查项与证据
该档位在这次扫描中未执行。
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/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dsh0.1.6-alpha.2 · 档位: l4-sandbox
签发: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/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@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/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dsh0.1.5-rc.2 · 档位: l4-sandbox
签发:2026-09-13 · 有效至:2026-09-20
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.3-alpha.22026-09-09L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.2
- • 被测插件工件: github · https://github.com/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dsh0.1.3-alpha.2 · 档位: l4-sandbox
签发:2026-09-09 · 有效至:2026-09-16
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.3-alpha.12026-09-07L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.1
- • 被测插件工件: github · https://github.com/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dsh0.1.3-alpha.1 · 档位: l4-sandbox
签发:2026-09-07 · 有效至:2026-09-14
查看检查项与证据
已在加载器目录树中激活(151 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.2-rc.12026-09-05L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.2-rc.1
- • 被测插件工件: github · https://github.com/z953218350/dsh-np-ppt#55d78e
ID: dsh-np-ppt@55d78e@dsh0.1.2-rc.1 · 档位: l3-fullscan
签发:2026-09-05 · 有效至:2026-09-12
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.2-alpha.12026-09-06L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.2-alpha.1
- • 被测插件工件: github · https://github.com/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dsh0.1.2-alpha.1 · 档位: l3-fullscan
签发:2026-09-06 · 有效至:2026-09-13
查看检查项与证据
已在加载器目录树中激活(149 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓版本史前2026-10-04L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: github · https://github.com/z953218350/dsh-np-ppt(版本未标注)
ID: dsh-np-ppt@55d78e@dshunknown · 档位: l4-sandbox
签发:2026-10-04 · 有效至:2026-10-11
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
2594d9github2026-08-28
https://github.com/z953218350/dsh-np-ppt
该版本无运行时安装实测(仅静态扫描)——兼容性未知,不推定。
作者徽章
将 dsh.so 徽章嵌入你的 README,展示插件的自动安全扫描与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-np-ppt/?ref=badge)``[](https://www.dsh.so/artifact/dsh-np-ppt/?ref=badge-install)``[](https://www.dsh.so/artifact/dsh-np-ppt/?ref=badge-install)``[](https://www.dsh.so/artifact/dsh-np-ppt/?ref=badge-install)``[](https://www.dsh.so/artifact/dsh-np-ppt/?ref=badge-install)``[](https://www.dsh.so/artifact/dsh-np-ppt/?ref=badge-install)`dsh.so 是独立社区项目,与 DeepSeek AI 无隶属或背书关系;徽章由 dsh.so 维护,嵌入链接带 ?ref= 归因参数。
安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低;动态审计最高 高(有结论时以动态为准)→ 总评级 高。
v1.0.0dsh 清单1.0.0git2026-11-131.0.0版本一致clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(12 条)
- 警告netIp · network
editor/app.js:739allowedOrigins: [window.location.origin, "https://www.kimi.com", "http://127.0.0.1:55173", "http://localhost:55173"], - 警告shellExec · shell
lib/service.js:45execFileSync(`${venvPython} -c "import pptx,yaml"`, { shell: true, timeout: 5000, encoding: 'utf-8', stdio: ['ignore', 'ignore', 'ignore'] } - 警告shellExec · shell
lib/service.js:57const version = execFileSync(cmd + ' --version', { shell: true, timeout: 5000, encoding: 'utf-8' }); - 警告shellExec · shell
lib/service.js:61execFileSync(cmd + ' -c "import pptx,yaml"', { shell: true, timeout: 5000, encoding: 'utf-8', stdio: ['ignore', 'ignore', 'ignore'] }); - 警告netIp · network
lib/tools.js:24return { running: true, url: activeServerUrl || `http://127.0.0.1:${port}/`, message: `服务正在运行: ${activeServerUrl}` }; - 警告netIp · network
lib/tools.js:28return { running: true, url: activeServerUrl || `http://127.0.0.1:${port}/`, message: `服务已在运行中: ${activeServerUrl}` }; - 警告netIp · network
lib/tools.js:38return { running: true, url: `http://127.0.0.1:${port}/`, message: `端口 ${port} 已在运行编辑器服务` }; - 警告shellExec · shell
src/service.ts:45execFileSync(`${venvPython} -c "import pptx,yaml"`, { shell: true, timeout: 5000, encoding: 'utf-8', stdio: ['ignore', 'ignore', 'ignore'] } - 警告shellExec · shell
src/service.ts:57const version = execFileSync(cmd + ' --version', { shell: true, timeout: 5000, encoding: 'utf-8' }) - 警告shellExec · shell
src/service.ts:61execFileSync(cmd + ' -c "import pptx,yaml"', { shell: true, timeout: 5000, encoding: 'utf-8', stdio: ['ignore', 'ignore', 'ignore'] }) - 警告netIp · network
src/tools.ts:36return { running: true, url: activeServerUrl || `http://127.0.0.1:${port}/`, message: `服务正在运行: ${activeServerUrl}` } - 警告netIp · network
src/tools.ts:40return { running: true, url: activeServerUrl || `http://127.0.0.1:${port}/`, message: `服务已在运行中: ${activeServerUrl}` }
展开 5 条审计发现
- highPPTX 导出路径存在 shell 命令注入(标题/outputPath/transition 被拼进 shell: true 的命令)
lib/service.js:117handleExport 用 /api/export 提交的 JSON 拼接 shell 字符串。deckTitle 只过滤 <>:"/\|?*,`$`、反引号与括号仍保留;标题为 `$(id)` 或 `` `id` `` 时,会在双引号内的 --output 参数中触发命令替换并被 /bin/sh 执行。同类问题存在于 runExportPptx:outputPath 未转义直接插入 `--output "..."`,`--transition ${transition}` 更是无引号拼接。该接口位于 127.0.0.1:55173,但不校验 Origin/Auth/Content-Type,可被跨站简单请求触发,用户访问恶意页面即可在编辑器服务运行时被利用。
- highPOST /api/export 通过 pages[].path 造成路径穿越与任意文件写入
lib/service.js:99page.path 直接取自请求体并交给 path.resolve,没有任何越界检查:绝对路径(如 '/home/user/.ssh/authorized_keys')或 '../../..' 都会解析到 mkdtemp 目录之外;随后 dirname()+mkdirSync 创建父目录,writeFileSync 以 DSH 进程权限写入完全可控的内容,使该回环接口变成任意文件覆写原语。
- mediumSSRF:/neo-ppt 代理信任原始请求目标而非已校验的 pathname
lib/service.js:185校验只检查 new URL(request.url, 'http://localhost').pathname,但 fetch 目标却用另一个 base 从原始 request.url 构造。使用绝对形式请求目标(如 'GET http://169.254.169.254/neo-ppt/ HTTP/1.1',HTTP/1.1 合法)时 pathname 仍为 '/neo-ppt/',而 new URL() 会忽略 www.kimi.com base,服务端遂对任意地址发起 GET 并回传响应体。任何能访问 127.0.0.1:55173 的 HTTP 客户端都可借此探测/读取内网服务,绕过仅限 kimi.com 的原始意图。
- medium第三方 HTML 与远程 penpal 模块在持有文件系统 RPC 的编辑器源内运行
editor/app.js:14编辑器 iframe 由本地代理从 https://www.kimi.com 抓取并注入脚本的 HTML 填充,第三方代码因此在 http://127.0.0.1:55173 源内执行,与 window.neoDeck 及 penpal RPC 同源。该 RPC 暴露的 getImages 经 resolveIndexedPath/resolveImage 会把用户授权目录中任意已索引文件(不校验图片扩展名)以 data: URL 返回,onSave 则可向该目录写入 .pptd/.page。此外 penpal 协议运行时是从 statics.moonshot.cn 动态 import,无完整性校验,该主机被攻陷即在同一特权源内获得代码执行。
- low插件每次加载都会静默写入用户 ~/.dsh/.agent-presets 目录
lib/index.js:15apply() 无条件执行 ensurePresetInstalled()(无用户确认、无版本判断),用包内文件覆盖用户主目录下的 preset.yml / agent.cordis.yml,且包裹在 try{}catch{} 中使失败静默。它在启动时修改插件目录之外的 agent 配置;这些预设文件的内容不在本次审计范围内。
本地 PPTD/PPTX 插件:导出接口存在 shell 命令注入与任意文件写入,代理存在 SSRF,编辑器源内运行第三方代码。
口径(2026-10-28):有动态审计结论时以动态结论为准(可能上调也可能下调);没有结论时(未入队 / 审计失败 / 人工撤回)才用静态扫描档(vet 主判 + dsh 兜底)。动态审计永不写豁免表(豁免只能人工三筛手写);模型判错时由人工复核撤回,撤回后档位回到静态扫描档。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-08-14 · 活跃度:停更
• 仓库创建: 2026-08-14
• 星标: ★ 4 · 复刻: 0
• 健康度: 停更 — 90 天以上无提交
来源
GitHub: github.com/z953218350/dsh-np-ppt
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
常见问题
dsh-np-ppt 是什么?
dsh-np-ppt 是收录在 dsh.so 的 DeepSeek Harness(dsh)插件。dsh.so 是独立社区注册表:基于公开源码仓库收录,并为每个条目公开自动安全扫描与安装验证结果。
dsh.so 或本页是官方项目吗?
dsh.so 是独立社区注册表,与 DeepSeek AI 没有隶属、背书或赞助关系。
如何安装 dsh-np-ppt?
在 DeepSeek Harness(dsh)环境中运行 dsh plugin --profile web add github:z953218350/dsh-np-ppt。该命令已通过隔离沙盒中的真实安装实测(L4)与 Web 冒烟运行验证(L5)。
这个页面的安全扫描是人工审计吗?
两层都是自动化检查,不是人工审计。静态扫描是对仓库源码的启发式分析,可能误报也可能漏掉上下文。模型驱动的动态安全审计只覆盖静态判定 warn 及以上的插件、不执行插件代码,有结论时以它为准(可能上调也可能下调);豁免始终由人工三筛手写。两者都不代表背书:安装前请自行审查仓库与权限申请,并结合验证等级与健康度判断。
本页数据有多新?
本页数据截至 2026-11-13(UTC):取注册表刷新、安装验证、安全扫描与动态审计时间戳中最新的合法日期,不使用构建时间冒充数据日期。
