dsh-plugin-om
github.com/FanetheDivine/dsh-plugin-om
v0.0.45
其他
含混淆或编码代码写入文件
为 DSH 提供 Observational Memory 风格的上下文压缩和原文召回。
中文简介由 DeepSeek 模型翻译,仅供参考。
dshdeepseekharnessplugin
检测报告
有一定能力。命中了若干能力模式,大多是插件正常工作时会用到的。
2需留意3一般19未命中
高关注需留意一般
能力清单
- 含混淆或编码代码
obfuscated-code需留意7 处命中dist/index.mjs:1051var Char = /[-\x09\x0A\x0D\x20-\x2C\x2E-\uD7FF\uE000-\uFFFD]/;dist/index.mjs:1054var _SChar = /[\x20\x09\x0D\x0A]/;dist/compress-loop.d.ts:36export declare const COMPRESSION_NUDGE_TEXT = "\u8BF7\u901A\u8FC7\u5DE5\u5177\u6267\u884C\u538B\u7F29\uFF1A\u7528 getHis…dist/constants.d.ts:28export declare const HISTORY_TIP = "\u5F53\u524D\u5757\u662F\u5386\u53F2\u6D88\u606F\u7684\u538B\u7F29\u4EA7\u7269\uFF0C…- 混淆本身不是恶意,但公开源码里出现大段混淆值得问一句为什么。
- 写入文件
writes-files需留意6 处命中dist/index.mjs:9852mkdirSync(path.dirname(target), { recursive: true });dist/index.mjs:9859writeFileSync(tmp, buf);dist/index.mjs:9860renameSync(tmp, target);dist/index.mjs:9868rmSync(tmp, { force: true });- 看写入位置。写自己的配置目录是正常的,写系统目录不是。
- 动态加载模块
dynamic-import一般5 处命中dist/index.mjs:9928if (!transformersPromise) transformersPromise = import("@huggingface/transformers");dist/client/OmCompactionCard.d.ts:16export declare const OmCompactionCard: import("react").MemoExoticComponent<({ node, t }: OmCompactionCardProps) => impor…dist/client/OmWarningCard.d.ts:14export declare const OmWarningCard: import("react").MemoExoticComponent<({ node, t }: OmWarningCardProps) => import("rea…- 动态导入本身无害,但会让依赖关系难以静态审阅。
- 读取环境变量
reads-env一般4 处命中dist/index.mjs:9819function modelSourceUrl(id = EMBEDDING_MODEL_ID, rel = ONNX_REL, base = process.env.HF_ENDPOINT || "https://huggingface.…dist/index.mjs:9892const fromEnv = process.env.DSH_HOME;dist/index.mjs:10032debug: Schema.boolean().default(process.env.NODE_ENV !== "production").volatile(),dist/index.mjs:10090config.debug = resolveBoolean(input.debug, process.env.NODE_ENV !== "production");- 环境变量里常混有密钥。看它是否把整个 env 都读走。
- 读取文件
reads-files一般3 处命中dist/index.mjs:9830statSync(target);dist/index.mjs:9910if (existsSync(dest) || !existsSync(src)) continue;- 读文件是绝大多数插件的正常工作方式,本身不构成顾虑。
逐条扫描明细
| 能力 | 标识 | 关注度 | 命中次数 |
|---|---|---|---|
| 含混淆或编码代码 | obfuscated-code | 需留意 | 7 |
| 写入文件 | writes-files | 需留意 | 6 |
| 动态加载模块 | dynamic-import | 一般 | 5 |
| 读取环境变量 | reads-env | 一般 | 4 |
| 读取文件 | reads-files | 一般 | 3 |
这份报告的口径
扫描读的是包里的源码,全程不执行第三方代码。 本次读了 38 个文件,扫描于 2026-10-14。 命中次数只说明源码里出现过这类调用,不说明行为好坏——一个插件读写文件 500 次和 1 次 都会被记为「读取文件」。这是能力清单,不是信任评分,也不是安全结论: 没扫出来的能力可能只是写法没被规则覆盖。
依赖安全公告
这个插件声明的依赖中,有 11 条已公开的安全公告 :
| 等级 | 依赖包 | 编号 | 摘要 |
|---|---|---|---|
| 未分级 | @xmldom/xmldom | CVE-2026-83608 | xmldom: DocType `name` Injection Bypasses requireWellFormed 修复版本:0.8.15, 0.9.12 详情 → |
| 未分级 | @xmldom/xmldom | CVE-2026-83609 | xmldom: Creation-time XML Name/QName validation is bypassable via an embedded line terminator, allowing injection on the default serialization path 修复版本:0.9.12 详情 → |
| 未分级 | @xmldom/xmldom | CVE-2026-83610 | xmldom: XML fragment injection via invalid EntityReference.nodeName during requireWellFormed serialization 修复版本:0.8.15, 0.9.12 详情 → |
| 未分级 | @xmldom/xmldom | CVE-2026-83611 | xmldom: Parser silently accepts a not-well-formed end tag whose name is followed by a line break and trailing content 修复版本:0.8.15, 0.9.12 详情 → |
| 未分级 | @xmldom/xmldom | CVE-2026-83612 | xmldom: HTML raw-text closing-tag case mismatch causes output amplification 修复版本:0.9.12 详情 → |
| 未分级 | @xmldom/xmldom | CVE-2026-83613 | xmldom: Quadratic-time attribute deduplication 修复版本:0.8.15, 0.9.12 详情 → |
| 未分级 | @xmldom/xmldom | CVE-2026-83614 | xmldom: Quadratic-time parsing via the malformed-input recovery path — `parseElementStartPart` re-scan and `normalize()` adjacent-text merge 修复版本:0.8.15, 0.9.12 详情 → |
| 未分级 | @xmldom/xmldom | CVE-2026-83615 | xmldom: Quadratic-memory consumption 修复版本:0.8.15, 0.9.12 详情 → |
| 未分级 | @xmldom/xmldom | CVE-2026-83616 | xmldom: Processing Instruction Target Injection Bypasses requireWellFormed 修复版本:0.8.15, 0.9.12 详情 → |
| 未分级 | @xmldom/xmldom | CVE-2026-83617 | xmldom: requireWellFormed element/attribute name validation is bypassable via an embedded line terminator 修复版本:0.9.12 详情 → |
| 未分级 | @xmldom/xmldom | CVE-2026-83618 | xmldom: requireWellFormed DocType publicId/systemId validation is bypassable via an embedded line terminator 修复版本:0.9.12 详情 → |
查询的是依赖声明范围的下界(如 ^4.2.0 查 4.2.0),
不是实际安装到的版本。真正装的时候如果解析到了修复版本,就不受影响——
所以这是「可能受影响」,不是「这个插件有漏洞」。数据来自
OSV.dev。