dknowc-dsh
v2.1.0
技能包
写入文件发起网络请求含混淆或编码代码
深知可信办公全家桶:深知可信搜索、深知可信PPT、深知公文写作(skill + 深知可信工作台 MCP 兜底),面向 DeepSeek Harness (dsh)
该插件尚未翻译,显示作者原文。
dshdsh-plugindeepseek-harnessdknowctrusted-consultingtrusted-searchofficial-doc-writing
检测报告
有一定能力。命中了若干能力模式,大多是插件正常工作时会用到的。
3需留意4一般17未命中
高关注需留意一般
能力清单
- 写入文件
writes-files需留意98 处命中…es/upstream-docs/svg-pipeline.md:93svg_output.mkdir()…sistant/scripts/register_key.mjs:72if (changed) fs.writeFileSync(zshrcPath, existing, { encoding: "utf8", mode: 0o600 });…sistant/scripts/register_key.mjs:80fs.mkdirSync(path.dirname(filePath), { recursive: true, mode: 0o700 });…sistant/scripts/register_key.mjs:81fs.writeFileSync(filePath, `${String(apiKey).trim()}\n`, { encoding: "utf8", mode: 0o600 });- 看写入位置。写自己的配置目录是正常的,写系统目录不是。
- 发起网络请求
network需留意7 处命中…sistant/scripts/register_key.mjs:189const response = await fetch(url, {…sistant/scripts/register_key.mjs:243const response = await fetch(url, {…-search/scripts/register_key.mjs:179const response = await fetch(url, {…-search/scripts/register_key.mjs:205const response = await fetch(url, {- 看请求发往哪些域名。发往作者自己的后端是常见做法。
- 含混淆或编码代码
obfuscated-code需留意1 处命中…vg_to_pptx/drawingml/elements.py:213if data.startswith(b'\xd7\xcd\xc6\x9a'):- 混淆本身不是恶意,但公开源码里出现大段混淆值得问一句为什么。
- 接触凭据或密钥
credentials一般709 处命中src/index.js:80* - shellEnv:把 DKNOWC_API_KEY 显式注入 dsh 的 bash 子进程(dsh 安全机制会src/index.js:82* 子进程能读到 DSH_DKNOWC_API_KEY,从而让 initialize.py 的门禁能真实检查)src/index.js:90// 显式转发 DKNOWC_API_KEY:dsh 的 bash 工具会清理名字含 KEY 的隐式变量,src/index.js:95DSH_DKNOWC_API_KEY: {- 看它读取哪些凭据、发往哪里。用于登录自己的服务是正常的。
- 动态加载模块
dynamic-import一般177 处命中…/scripts/pptx_shapes/__init__.py:18from .errors import (…/scripts/pptx_shapes/__init__.py:26from .formula import (…/scripts/pptx_shapes/__init__.py:39from .loader import (…/scripts/pptx_shapes/__init__.py:49from .models import (- 动态导入本身无害,但会让依赖关系难以静态审阅。
- 读取环境变量
reads-env一般18 处命中src/index.js:101process.env.DKNOWC_API_KEY ? { DSH_DKNOWC_API_KEY: process.env.DKNOWC_API_KEY } : {},README.md:70Authorization: !!js '`Bearer ${process.env.DKNOWC_API_KEY}`'README.md:86> **Key 的传递机制**:dsh 的安全机制会清理名字含 `KEY` 的隐式环境变量(`DKNOWC_API_KEY` 会被拦)。本 bundle 插件会把 dsh 主进程的 `DKNOWC_API_KEY` 值经 shell-env……sistant/scripts/register_key.mjs:54const appdata = process.env.APPDATA || home;- 环境变量里常混有密钥。看它是否把整个 env 都读走。
- 读取文件
reads-files一般17 处命中src/index.js:58const content = await readFile(bodyUrl, 'utf8')…sistant/scripts/register_key.mjs:65let existing = fs.existsSync(zshrcPath) ? fs.readFileSync(zshrcPath, "utf8") : "";…sistant/scripts/register_key.mjs:103try { return fs.readFileSync(instanceIdFilePath(), "utf-8").trim() || null; } catch { return null; }…sistant/scripts/register_key.mjs:164const m = fs.readFileSync(path.join(root, "SKILL.md"), "utf-8").match(/^version:\s*"?([^"\n]+)"?/m);- 读文件是绝大多数插件的正常工作方式,本身不构成顾虑。
逐条扫描明细
| 能力 | 标识 | 关注度 | 命中次数 |
|---|---|---|---|
| 写入文件 | writes-files | 需留意 | 98 |
| 发起网络请求 | network | 需留意 | 7 |
| 含混淆或编码代码 | obfuscated-code | 需留意 | 1 |
| 接触凭据或密钥 | credentials | 一般 | 709 |
| 动态加载模块 | dynamic-import | 一般 | 177 |
| 读取环境变量 | reads-env | 一般 | 18 |
| 读取文件 | reads-files | 一般 | 17 |
这份报告的口径
扫描读的是包里的源码,全程不执行第三方代码。 本次读了 241 个文件,扫描于 2026-10-14。 命中次数只说明源码里出现过这类调用,不说明行为好坏——一个插件读写文件 500 次和 1 次 都会被记为「读取文件」。这是能力清单,不是信任评分,也不是安全结论: 没扫出来的能力可能只是写法没被规则覆盖。
依赖安全公告
已查询这个插件声明的全部依赖,没有匹配到已公开的安全公告。(含 DSH 框架包在内的 @deepseek-ai/* 不作查询——那是运行时自己的问题,不是插件的。)