🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

插件管家 Kitup666/dsh-plugin-kmanager

DeepSeek Harness
Kitup66669 天前有提交上游未提供文档扫描:高危

Deepseek harness插件安装管理助手

28.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Kitup666/dsh-plugin-kmanager
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · other
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 69 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0
🔴 扫描:高危尚无人工评估

静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。

命令参数由运行时变量拼接读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 165 处,展示前 42 条)
  • 读取本地文件
    src/service.ts:206
    return existsSync('/bin/bash') ? '/bin/bash' : 'bash'
  • 读取本地文件
    src/service.ts:215
    if (candidate && existsSync(candidate)) return candidate
  • 读取本地文件
    src/service.ts:395
    if (!existsSync(config.repoRoot)) {
  • 读取密钥环境变量
    src/service.ts:420
    this.githubToken = config.githubToken?.trim() || process.env.GITHUB_TOKEN?.trim()
  • 写入本地文件
    src/service.ts:507
    writeFileSync(this.aiChoicePath, JSON.stringify({ provider, model }, null, 2) + '\n', { encoding: 'utf8' })
  • 读取本地文件
    src/service.ts:582
    if (!existsSync(this.aiChoicePath)) return undefined
  • 读取本地文件
    src/service.ts:584
    const parsed = JSON.parse(readFileSync(this.aiChoicePath, 'utf8')) as Record<string, unknown>
  • 请求外部主机api.github.com
    src/service.ts:722
    const res = await fetch(`https://api.github.com/repos/${fullName}`, { headers, signal: AbortSignal.timeout(12_000) })
  • 发起网络请求
    src/service.ts:722
    const res = await fetch(`https://api.github.com/repos/${fullName}`, { headers, signal: AbortSignal.timeout(12_000) })
  • 请求外部主机api.github.com
    src/service.ts:732
    const res = await fetch(`https://api.github.com/repos/${fullName}/git/trees/${encodeURIComponent(defaultBranch)}?recursive=1`, { headers, signal: Abor
  • 发起网络请求
    src/service.ts:732
    const res = await fetch(`https://api.github.com/repos/${fullName}/git/trees/${encodeURIComponent(defaultBranch)}?recursive=1`, { headers, signal: Abor
  • 请求外部主机api.github.com
    src/service.ts:744
    const rootRes = await fetch(`https://api.github.com/repos/${fullName}/contents/`, { headers, signal: AbortSignal.timeout(12_000) })
  • 发起网络请求
    src/service.ts:744
    const rootRes = await fetch(`https://api.github.com/repos/${fullName}/contents/`, { headers, signal: AbortSignal.timeout(12_000) })
  • 发起网络请求
    src/service.ts:888
    const res = await fetch(url, { signal: AbortSignal.timeout(15_000) })
  • 发起网络请求
    src/service.ts:995
    res = await fetch(`${GITHUB_SEARCH_API}?${params}`, { headers })
  • 请求外部主机github.com
    src/service.ts:1067
    const res = await fetch(`https://github.com/${fullName}`, {
  • 发起网络请求
    src/service.ts:1067
    const res = await fetch(`https://github.com/${fullName}`, {
  • 读取本地文件
    src/service.ts:1153
    if (!existsSync(this.layoutPath)) return { official: [], custom: [] }
  • 写入本地文件
    src/service.ts:1173
    writeFileSync(
  • 写入本地文件
    src/service.ts:1211
    writeFileSync(this.labelsPath, JSON.stringify(labels, null, 2) + '\n', 'utf8')
  • 删除本地文件递归
    src/service.ts:1552
    if (existsSync(target)) rmSync(target, { recursive: true, force: true })
  • 删除本地文件递归
    src/service.ts:1576
    if (existsSync(target)) rmSync(target, { recursive: true, force: true })
  • 写入本地文件
    src/service.ts:1638
    mkdirSync(this.mypackagesDir, { recursive: true })
  • 写入本地文件
    src/service.ts:1639
    mkdirSync(pkgPath, { recursive: true })
  • 删除本地文件递归
    src/service.ts:1652
    rmSync(pkgPath, { recursive: true, force: true })
  • 删除本地文件递归
    src/service.ts:1659
    rmSync(pkgPath, { recursive: true, force: true })
  • 执行外部命令固定命令
    src/service.ts:1688
    execFileSync('git', ['clone', '--depth', '1', url, '.'], { cwd: dest, encoding: 'utf8', stdio: 'pipe' })
  • 执行外部命令运行时拼接
    src/service.ts:1711
    ? spawnSync(`npm pack ${resolved.includes(' ') ? `"${resolved}"` : resolved} --silent --pack-destination ${destination}`,
  • 执行外部命令固定命令
    src/service.ts:1713
    : spawnSync('npm', ['pack', resolved, '--silent', '--pack-destination', pkgPath], {
  • 删除本地文件
    src/service.ts:1726
    rmSync(tarball, { force: true })
  • 写入本地文件
    src/service.ts:1748
    mkdirSync(staging, { recursive: true })
  • 执行外部命令固定命令
    src/service.ts:1750
    execFileSync('tar', ['-xzf', tarball, '-C', staging], { cwd: dir, encoding: 'utf8', stdio: 'pipe' })
  • 删除本地文件递归
    src/service.ts:1756
    if (existsSync(to)) rmSync(to, { recursive: true, force: true })
  • 执行外部命令固定命令
    src/service.ts:1894
    execFileSync(
  • 执行外部命令固定命令
    src/service.ts:1911
    execFileSync('unzip', ['-q', '-o', zipPath, '-d', dest], {
  • 读取本地文件
    src/zip.ts:155
    const buf = readFileSync(zipPath)
  • 写入本地文件
    src/zip.ts:157
    mkdirSync(root, { recursive: true })
  • 写入本地文件
    src/zip.ts:163
    mkdirSync(dirname(target), { recursive: true })
  • 写入本地文件
    src/zip.ts:165
    writeFileSync(from, decompress(entry))
  • 写入本地文件
    src/zip.ts:170
    renameSync(p.from, p.to)
  • 写入本地文件
    src/zip.ts:172
    try { chmodSync(p.to, p.mode) } catch { }
  • 删除本地文件
    src/zip.ts:176
    for (const p of pending) { try { rmSync(p.from, { force: true }) } catch { } }
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
涉及外部主机:api.github.com、github.com

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 插件安装管理
该仓库未提供 README。
预览分享卡片长什么样 ↓Kitup666/dsh-plugin-kmanager
分享 · DeepSeek Harness Hub
Kitup666/dsh-plugin-kmanager

Deepseek harness插件安装管理助手

这是你的仓库?认领条目

回到顶部