静态剖析 Windows 安装包并定位安装与运行故障
29.1/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MLMLZJ/dsh-install-profiler该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
- 读取本地文件index.js:20
const content = readFileSync(join(SKILL_DIR, 'SKILL.md'), 'utf8')
扫描于 2026/10/31(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 插件:Windows 安装包静态画像 + 静态画像驱动的动态取证与故障排查
README
由 DeepSeek 最新模型翻译生成安装剖析器 — 可开关的 DSH 技能插件
DeepSeek Harness bundle,在配置档全局技能层注册一个模型可调用的技能 install-profiler。它教智能体把 Windows 安装程序(或已安装的应用)变成一张有证据支撑的地图——安装路径、注册表写入、服务、配置文件、日志、事件日志源——再用「症状→原因→机制→修复」链条诊断安装、启动、运行期故障。
属于 DSH plugins 索引的一部分:<https://github.com/MLMLZJ/dsh-plugins> 配套插件:<https://github.com/MLMLZJ/dsh-reverse-skill>(反编译;消费本插件产出的 handoff.md)。
在 Plugin Manager 里关掉这一行(或整个 bundle),技能就从会话目录里消失;再打开,它又回来,并重新读取 SKILL.md,所以改完不用重启 Harness 就生效。
它做什么
- 静态剖析,不执行。 识别 MSI / NSIS / Inno Setup / InstallShield / WiX Burn / Squirrel / Electron / MSIX / SFX 包,然后提取载荷、读取安装定义。
- MSI 当数据库读。
展开完整文档(README 剩余 1 节)
安装剖析器 — 可开关的 DSH 技能插件 DeepSeek Harness bundle,在配置档全局技能层注册一个模型可调用的技能 install-profiler。它教智能体把 Windows 安装程序(或已安装的应用)变成一张有证据支撑的地图——安装路径、注册表写入、服务、配置文件、日志、事件日志源——再用「症状→原因→机制→修复」链条诊断安装、启动、运行期故障。 属于 DSH plugins 索引的一部分:<https://github.com/MLMLZJ/dsh-plugins> 配套插件:<https://github.com/MLMLZJ/dsh-reverse-skill>(反编译;消费本插件产出的 handoff.md)。 在 Plugin Manager 里关掉这一行(或整个 bundle),技能就从会话目录里消失;再打开,它又回来,并重新读取 SKILL.md,所以改完不用重启 Harness 就生效。 它做什么 - 静态剖析,不执行。 识别 MSI / NSIS / Inno Setup / InstallShield / WiX Burn / Squirrel / Electron / MSIX / SFX 包,然后提取载荷、读取安装定义。 - MSI 当数据库读。 export-msi-tables.ps1 驱动内置的 WindowsInstaller.Installer COM 服务器——不需要 lessmsi——输出 profile.json,外加每张表一个 CSV(Directory、File、Registry、ServiceInstall、ServiceControl、Shortcut、Environment、CustomAction、InstallExecuteSequence、LaunchCondition、Upgrade、……)。 - 运行期状态,只读。 collect-state.ps1 收集卸载项、活动服务(含二进制是否存在)、驱动、启动项、计划任务、事件日志源注册、应用数据/日志目录、WER 崩溃文件夹、MSI 日志和待重启标志,并标出具体异常。 - 故障手册。 references/fault-playbook.md 收录 MSI 错误码表、服务启动排查顺序、崩溃证据来源、升级/修复/卸载失败矩阵,以及怎么读前后对比 diff——每一项都附带背后的机制。 这里止步,逆向工程接手 两个技能互补,不重叠: - install-profiler 回答该观察什么——安装布局、注册表、服务、日志、事件源,以及运行期该盯其中哪些。 - reverse-engineering 回答怎么读代码——.NET(ilspycmd)、Electron(asar)、原生(objdump/rizin/Ghidra)。 当安装程序本身就是 .NET 引导器或 Electron/Squirrel 应用、光看字符串不够时,build-handoff.ps1 打包交接:判定分支(dotnet / electron / pyinstaller / native / packed),列出已确认的事实,把缺口转成分支专属问题,给出确切的 decompile 命令并注明工具是否可用,写出 handoff.md + handoff.json。接收方技能会被告知不要重做发现,并且每个答案都要打上 [verified]/[inferred]/[unknown] 标签。 mine-strings.ps1 覆盖常见情况,不需要任何反编译器;它的输出只能证明程序具备哪些能力,不能证明它实际怎么运行。 循环:静态地图 → 动态探测 静态事实说明的是「应该发生什么」;故障出在「实际发生了什么」上。 配置档是瞄准器,不是交付物: export-msi-tables → profile.json (what the installer promises) build-probe-plan → probe-plan.json/.md (exactly what to watch, and where) capture-snapshot → before.json (baseline) … reproduce ONE failing action … capture-snapshot → after.json diff-snapshots → findings.json/.md (errors/warnings anchored to promises) build-probe-plan 把 MSI 目录根解析成真实机器路径,列出值得快照的注册表键(ARP、services、EventLog、Run、COM),对照每个服务的实时状态说明它预期的启动类型和账户,点名进程名以及候选配置文件和日志文件,输出 Event Log 服务商和 ID 以及 Procmon 过滤表达式,并生成一份检查清单,逐项写明命令和预期结果。 它还会写出 ops-card.md——一页纸,可直接复制粘贴,交给修机器的人:所有东西在哪、排查顺序,以及查看布局、进程、日志尾部、崩溃事件、服务配置、端口和卸载的准确命令。 MSI 包用 -Profile 喂给它。Portable、PyInstaller 和 Electron 应用没有 MSI:改用 -AppDir 加上 collect-state / mine-strings 的输出喂给它,计划就基于真实机器路径和运行时发现的目录来构建。 diff-snapshots 按变动程度排序:监视路径下新增/删除/修改的文件,创建/更改/删除的注册表值,服务状态变化,出现/退出的进程,打开/关闭的端口,新增的 Event Log 条目,新增的 WER 崩溃文件夹。 脚本 | 脚本 | 用途 | | scripts/probe-tools.ps1 | 有哪些提取/检查工具可用(只读,约 2 秒) | | scripts/detect-installer.ps1 | 给包分类,并输出提取计划 | | scripts/mine-strings.ps1 | 没有 MSI 数据库?从二进制里挖出注册表路径、日志路径、服务、URL、GUID 和错误模板(ASCII + UTF-16LE) | | scripts/build-handoff.ps1 | 把证据打包成可直接粘贴的简报,交给逆向工程技能:分支、已确认事实、问题、命令、证据契约 | | scripts/build-ops-sheet.ps1 | 汇总完整操作表:每个卸载值、完整的服务注册表键、所有启动项、每个日志/配置文件、事件源、MSI 注册表行 + 排查命令 | | scripts/watch-process.ps1 | 随时间采样进程,证明 CPU/线程/句柄/内存泄漏,并点名消耗 CPU 的线程 | | scripts/export-msi-tables.ps1 | MSI 表 → JSON/CSV + 派生配置档 | | scripts/collect-state.ps1 | 对已安装应用做只读运行时快照 | | scripts/build-probe-plan.ps1 | 静态配置档 → 有针对性的动态观察计划 | | scripts/capture-snapshot.ps1 | 执行计划:文件、注册表、服务、进程、端口、事件 | | scripts/diff-snapshots.ps1 | 前后对比 → 按优先级排序的发现,附机制提示 | 用 powershell -NoProfile -ExecutionPolicy Bypass -File <path> … 调用(Windows 默认会拦截本地脚本)。 安装(只需一次) 在具备 Full access 或审批权限的 DSH 会话中: plugin_manager action=install_bundle target=<absolute path to this directory> 用免审批的 cordis_inspect_query 查询 Config 确认,过滤条件为 @local/dsh-install-profiler(行 id install-profiler)。 开启 / 关闭 - plugin_manager action=set_plugin target=install-profiler enabled=false - plugin_manager action=set_plugin target=install-profiler enabled=true - plugin_manager action=remove_bundle target=@local/dsh-install-profiler 目录结构 package.json bundle manifest (dsh.bundle.patch) cordis.patch.yml inserts row id install-profiler index.js registers the skill via ctx.skills.register() locale/en.json, zh.json Plugin Manager title/description icon.svg original icon skills/install-profiler/ SKILL.md the instructions the model loads references/fault-playbook.md assets/report-template.md assets/profile.schema.json scripts/*.ps1 the four tools 开发期间验证过的场景 - 对一个 30 MB 的中文安装程序 EXE 运行 detect-installer → 7z-sfx,中等置信度,解包命令正确。 - 对 Microsoft Visual C++ 2005 Redistributable(96 个文件、492 次注册表写入、 749 行目录记录)、Adobe Acrobat DC (64-bit)(6406 个文件、3306 行注册表记录、 1 个服务、6 个快捷方式、46 秒)以及 Office Click-to-Run 授权 MSI (服务账户 NT AUTHORITY\NetworkService)运行 export-msi-tables。 - 对已安装的应用运行 collect-state → 卸载项、数据目录、日志文件、待重启标记。 - 对 7zFM.exe 运行 mine-strings → 1 秒内得到 4239 个去重字符串,不用任何反编译器就找回了 Software\7-Zip\FM\Columns 和 shell 扩展键;对 30 MB 的自解压安装程序约 8 秒跑完,结果很少,这符合预期,因为载荷是压缩的(文档里说要先解包)。 - 对 PyInstaller 打包产物运行 build-handoff → 分支 pyinstaller,7 个针对性问题,工具就绪情况(pyi-archive_viewer、python),主可执行文件的 SHA256;对 7zFM.exe → native 分支,附 objdump/rizin 可用性。 - 对 Acrobat 配置档运行 build-probe-plan → 85 个监视路径(逻辑 MSI 目录解析为真实路径,含 ProgramFilesFolder → C:\Program Files)、300 个注册表键、1 个带预期状态的服务、32 个进程名、14 项带命令的检查。 - 在受控实验环境运行 capture-snapshot + diff-snapshots:安装根目录下删除的文件报告为 error/files/removed,新增的日志文件为 info/files/added,修改过的配置为 info/files/modified,新增的 HKCU 值写入 info/registry/value-created。 - 启动类型映射已对照实际服务核对(Start=2 → auto)。 安全 技能从不在宿主机上运行安装程序,也从不修改目标机器。修复命令只提出、不执行,直到用户明确确认机器和操作。技能拒绝绕过许可证/DRM,拒绝提取凭据;分析仅限已授权的目标。 代码里已内置的已知陷阱 PowerShell 5.1 的怪癖记录在 SKILL.md 中,免得智能体再踩一遍:MSI COM Execute()/Close() 前要加 [void];$var 变量名不能和 [switch] 参数重名;Record.FieldCount 无法通过后期绑定访问;Directory.DefaultDir 是 target:source;-File 不会拆分逗号列表。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
MLMLZJ/dsh-install-profiler
静态剖析 Windows 安装包并定位安装与运行故障
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 21,780未汉化DSH
73.5
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 1,947已汉化MCP
72.7
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,347已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13917 个插件含 PR 收录与…
★ 343已汉化DSH
71.6