返回插件页
安全检测报告

@ethanyoq/dsh-ai-novel-writer高风险73/100

@EthanYoQ · plugins/dsh-ai-novel-writer
工作流npm 预构建包

安装专用 AI 小说创作预设与工作台:提供带修订号的本地项目资产、紧凑侧边工作台,以及需要原生审批的逐文件变更。

Star425GitHub · 仅用于排序
npm 周下载0@ethanyoq/dsh-ai-novel-writer
固定 commit89682ef6b92026-08-21
扫描时间2026-08-22 08:19 UTCHT-DSH-0.2.2

检测结论

REVIEW · HT-DSH-0.2.2 · 89682ef

在 73 个文件中有 6 项有效发现(置信度 ≥ 中)。高风险项:依赖存在已知漏洞。

有效发现(置信度 ≥ 中):严重 0 2 2 2· 原始命中 16 · 低置信度不计入 10
安装
高风险状态下不提供一键安装。读完下方 2 项高风险证据后,请自行决定并手动安装。
跳到高风险证据

检测明细

每层做了什么、跑没跑、有效发现数
L0来源身份npm 元数据 ↔ 仓库已完成1
L1供应链安装脚本 · 未固定依赖 · 锁文件有锁文件0
L1已知漏洞OSV.dev · 仅生产依赖闭包已完成2
L2静态分析73 个文件 · 原始命中 8已完成2
L2.5模型研判sonnet · 2/2已完成2
L3权限清单覆盖宿主行 0 · 安全关键 0 · 敏感 0已完成1
L4隔离动态运行容器 · 假凭据金丝雀 · 出站记录未执行
L5人工复核申诉 72 小时内复核未执行
未执行的层不构成通过;只有“已完成”的层提供了证据。分数 = 100 − 去重规则罚分(严重 35 / 高 16 / 中 5 / 低 1),只用于同策略版本内排序。

权限清单 · cordis patch 解析

插件安装后会改变宿主的哪些行
插入的行1
覆盖/禁用的宿主行0
!!js 表达式0
浏览器端 bundleweb
覆盖的宿主行
没有覆盖任何 dsh-base 宿主行。
安全关键 seam · 未改动
sandboxsandbox-policybash-sandboxpwsh-sandboxapprovalpermissioncredentialssubprocessshell-envfs-observation-policy
“未改动”只说明该插件的 patch 没有覆盖这些行;插件代码仍以宿主进程权限运行。
插入的行
ai-novel-writer · @ethanyoq/dsh-ai-novel-writer
随包分发的其他 cordis 配置 · 需用户手动应用
presets/ai-novel-writer/agent.cordis.yml· 3 行含敏感行
这些文件未被 dsh.bundle 引用,安装时不会自动生效;只有用户用 --patch 或复制进 profile 时才会改变宿主。

证据

6 项有效 · 按严重度排序 · 严重项不折叠
HT-VULN-001依赖存在已知漏洞
置信度 中L1 · 已知漏洞
pnpm-lock.yamlGitHub
1js-yaml@4.2.0 GHSA-52cp-r559-cp3m (CVE-2026-59869) fixed in 3.15.0
模型研判未能排除

提供的 pnpm-lock.yaml 片段(1-41行)中并未出现 js-yaml 条目,无法确认其实际解析版本及是否被运行时代码用于处理不可信输入,且该 CVE 修复版本号低于命中版本存在异常。

OSV.dev 收录的公开漏洞存在于锁定的生产依赖树中;是否可被利用取决于插件如何使用该依赖。
修复建议升级到修复版本,或评估并移除该依赖。
HT-VULN-001依赖存在已知漏洞
置信度 中L1 · 已知漏洞
pnpm-lock.yamlGitHub
1js-yaml@4.2.0 GHSA-5p4m-2wfm-xmqj fixed in 4.3.1
模型研判未能排除

同上,截取的锁文件内容不含 js-yaml 记录,无法判断该依赖是仅用于构建工具链(如 cordis-plugin-loader)还是会接触外部不可信 YAML 输入。

OSV.dev 收录的公开漏洞存在于锁定的生产依赖树中;是否可被利用取决于插件如何使用该依赖。
修复建议升级到修复版本,或评估并移除该依赖。
HT-PERMISSION-002覆盖敏感宿主能力
置信度 中L3 · DSH 权限语义
presets/ai-novel-writer/agent.cordis.yml:12GitHub
12override: id=agent-instructions name=@deepseek-ai/dsh-agent-instructions config[maxBytes]
规则备注 · 替换实现 Agent 指令(agent-instructions);该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
改写系统提示词、模型调用、会话持久化或工具行会改变 Agent 的行为与数据去向。
修复建议在 README 中说明覆盖了哪些行及原因,并尽量只重述必要的配置键。
HT-IDENTITY-003上游标注的 npm 包不存在
置信度 中L0 · 来源身份
package.jsonnpm
1npm view @ethanyoq/dsh-ai-novel-writer → 404
包可能已被撤下或改名,安装命令会失败或落到同名占位包。
修复建议改用 github: 引用并锁定 commit,或等待上游更新条目。
低等级发现 2 项 · 计入结论但不改变状态展开
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/qualify-release.mjs:3GitHub
3node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/qualify-release.mjs:11GitHub
11node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
低置信度命中 10 项 · 不计入结论展开
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/agent-guardrails.snapshot.spec.ts:2GitHub
2node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/asset-approval.e2e.spec.ts:3GitHub
3node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/complete-chapter.snapshot.spec.ts:2GitHub
2node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 低L3 · DSH 权限语义
tests/fixtures/complete-chapter/cordis.yml:18GitHub
18!!js "process.env.DSH_NOVEL_APPROVAL_POLICY || 'ask'"
规则备注 · 表达式访问模块、进程或网络,超出读取注入服务的常规用法;位于测试、示例或文档目录
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 低L3 · DSH 权限语义
tests/fixtures/complete-chapter/cordis.yml:33GitHub
33!!js process.env.DSH_NOVEL_PRESET_ROOT
规则备注 · 表达式访问模块、进程或网络,超出读取注入服务的常规用法;位于测试、示例或文档目录
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 低L3 · DSH 权限语义
tests/fixtures/complete-chapter/web-ui-all.cordis.yml:36GitHub
36!!js "process.env.DSH_NOVEL_APPROVAL_POLICY || 'ask'"
规则备注 · 表达式访问模块、进程或网络,超出读取注入服务的常规用法;位于测试、示例或文档目录
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 低L3 · DSH 权限语义
tests/fixtures/complete-chapter/web-ui-all.cordis.yml:51GitHub
51!!js process.env.DSH_NOVEL_PRESET_ROOT
规则备注 · 表达式访问模块、进程或网络,超出读取注入服务的常规用法;位于测试、示例或文档目录
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/qualification.spec.ts:2GitHub
2node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/web-ui-all-composition.spec.ts:2GitHub
2node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-CLIENT-001浏览器端使用危险 HTML 注入点
置信度 低L2 · 静态分析
tests/workbench-view.spec.tsx:147GitHub
147.innerHTML =
规则备注 · 位于测试、示例或文档目录
修复建议使用安全 DOM API,并严格清洗不可信内容。

依赖漏洞 · L1

已查询 OSV.dev:pnpm-lock.yaml 中的生产依赖,2 个已知漏洞
开发依赖及其传递链不计入;只覆盖 OSV 收录的公开漏洞;是否可被利用取决于插件如何使用该依赖。
漏洞依赖严重度修复版本摘要
GHSA-52cp-r559-cp3m
CVE-2026-59869
js-yaml@4.2.03.15.0js-yaml: YAML merge-key chains can force quadratic CPU consumption
GHSA-5p4m-2wfm-xmqjjs-yaml@4.2.04.3.1JS-YAML: Quadratic CPU consumption in !!omap resolution (3.x and 4.x) — CVE-2026-59870 fix not backported

身份与来源

GitHubEthanYoQ/AI-Novel-Writer/plugins/dsh-ai-novel-writer固定 commit89682ef6b916 · 2026-08-21内容摘要sha256:5a42fb19eb56806enpm上游标注的 npm 包不存在repository 字段未检查发布来源证明未检查发布包 ↔ 源码未比对收录日期2026-08-17

宿主能力

范围,不是结论
Agent 控制浏览器 UI环境变量文件系统Host Bundle外部网络宿主子进程遥测
能力标签来自源码中的 API 使用模式:插件读文件、访问网络、创建子进程、读取凭据都会被标出。很多能力是功能所需;有没有问题看上面的证据。

检测覆盖

源码获取已完成
manifest 解析已完成
bundle 配置已完成
依赖锁定有锁文件
已知漏洞查询已完成
来源身份已完成
发布包 ↔ 源码比对未比对
模型研判已完成
隔离动态运行未执行
人工复核未执行
2026-08-22 08:19 UTC高风险
HT-DSH-0.2.2 · 89682ef
上游有新 commit,判定未变
2026-08-21 13:16 UTC高风险
HT-DSH-0.2.2 · 6ae77d6
2026-08-21 13:16 UTC高风险
HT-DSH-0.2.2 · 6ae77d6
策略升级到 HT-DSH-0.2.2
2026-08-21 11:18 UTC高风险
HT-DSH-0.2.1 · 6ae77d6
策略升级到 HT-DSH-0.2.1
2026-08-21 10:46 UTC高风险
HT-DSH-0.2.0 · 6ae77d6
首次扫描

徽章

贴进 README,点击回到本页
Harness Trust: 高风险
[![Harness Trust](https://dshmod.com/badge/%40ethanyoq%2Fdsh-ai-novel-writer.svg)](https://dshmod.com/plugins/ethanyoq-ai-novel-writer-dsh-ai-novel-writer)
API 文档
徽章文案只有风险状态与策略版本,状态变化时自动更新。

已知限制与申诉

作者或用户认为某项发现不成立?提交申诉,我们在 72 小时内复核并公开处理记录。