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

文件完整性检查 Dofang-C/dsh-file-integrity-check

DeepSeek Harness
Dofang-C3 天前有提交已提供中文文档扫描:含敏感能力

扫描并清理工作区残留的权限标记,支持回滚

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 读取本地文件
    index.js:21
    if (existsSync(candidate)) return candidate;
  • 执行外部命令来自配置/变量
    index.js:28
    execFile(
  • 读取本地文件
    index.js:85
    if (!existsSync(candidate)) throw new Error(`路径不存在: ${candidate}`);
  • 读取本地文件
    index.js:161
    if (!existsSync(backupDir)) {
  • 发起网络请求
    client.js:561
    const response = await fetch(API, {
  • 发起网络请求
    client.js:588
    const response = await fetch(API, {
  • 发起网络请求
    client.js:632
    const response = await fetch(API, {
  • 发起网络请求
    client.js:659
    const response = await fetch(API, {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

Windows 专用 DSH 插件,面向偏好受控权限的用户:侧边栏操作面板可手动扫描 Low 完整性标签、S-1-4-* 沙箱授权 ACE 及同目录 Everyone 拒绝项,一键修复并复扫校验,每个工作区保留可替换回滚记录。

README

由 DeepSeek 最新模型翻译生成
dsh-file-integrity-check English · 中文 DSH 在 Windows 上运行受限工作区时,会挂上 Low 完整性标签,这样受限 token 才能写入。标签和沙箱显式 S-1-4- ACE 都保存在目录的磁盘 ACL 里,因此它们能活过会话结束、工作区删除,甚至 DSH 更新。目录一旦还带着这些标记,安装程序、IDE、备份工具和其他程序之后就可能过不了权限检查,或者行为异常。 这个插件给这些目录提供一条受控的清理路径。它读取 DSH 实时工作区列表(不是扫盘),逐个扫描工作区且不做任何改动,报告具体目录和发现类型,确认后只修复沙箱残留,最后验证结果。每个工作区保留一条可替换的 ACL 回滚记录,所以最近一次修复可以撤销,记录也可以永久删除。 它能识别的三类发现: - 目录上的 Low 完整性标签(SACL 强制标签,S-1-16-4096) - 显式 S-1-4- 沙箱允许 ACE(非继承) - Everyone:(DENY)(DC),仅当它和上面两类发现出现在同一目录时才算 它绝不碰 X2\<user>:(F) 这类正常工作区授权。单独的 Everyone 拒绝不算发现,原样保留。 插件在 DSH 侧边栏有一个白色工作区映射页面,另带一个独立 PowerShell 引擎,不用 DSH 也能跑。
展开完整文档(README 剩余 1 节)
dsh-file-integrity-check

English · 中文

DSH 在 Windows 上运行受限工作区时,会挂上 Low 完整性标签,这样受限 token 才能写入。标签和沙箱显式 S-1-4- ACE 都保存在目录的磁盘 ACL 里,因此它们能活过会话结束、工作区删除,甚至 DSH 更新。目录一旦还带着这些标记,安装程序、IDE、备份工具和其他程序之后就可能过不了权限检查,或者行为异常。

这个插件给这些目录提供一条受控的清理路径。它读取 DSH 实时工作区列表(不是扫盘),逐个扫描工作区且不做任何改动,报告具体目录和发现类型,确认后只修复沙箱残留,最后验证结果。每个工作区保留一条可替换的 ACL 回滚记录,所以最近一次修复可以撤销,记录也可以永久删除。

它能识别的三类发现:

- 目录上的 Low 完整性标签(SACL 强制标签,S-1-16-4096)
- 显式 S-1-4- 沙箱允许 ACE(非继承)
- Everyone:(DENY)(DC),仅当它和上面两类发现出现在同一目录时才算

它绝不碰 X2\<user>:(F) 这类正常工作区授权。单独的 Everyone 拒绝不算发现,原样保留。

插件在 DSH 侧边栏有一个白色工作区映射页面,另带一个独立 PowerShell 引擎,不用 DSH 也能跑。

功能

- 扫描任意 DSH 工作区,或一次扫描全部工作区。
- 修复需要显式确认;默认是只读试运行。
- 验证修复结果,显示 Low / S-1-4 计数。
- 每个工作区一条回滚记录。 最新一次成功修复会替换上一条记录。记录可以一直保留,也可以永久删除;删除会清掉它拥有的所有文件和空文件夹。
- 工作区映射来自 DSH 的工作区注册表。工作区在 DSH 里删掉后,插件页面上对应的卡片也会消失。
- 无第三方依赖。 引擎是 Windows PowerShell 5.1 / PowerShell 7,加上内联 C# P/Invoke 和 icacls。

安装

从 dsh-market 安装

目录条目合并后,在 dsh-market 里搜索 文件完整性检查 / File Integrity Check,点安装。

从源码安装

克隆仓库,然后通过插件管理器(install_bundle)把目录添加为本地 DSH 包。例如用 DSH 智能体工具:

plugin_manager action=install_bundle target="<path-to>\dsh-file-integrity-check"

安装后刷新 DSH Web GUI。侧边栏会出现一个盾牌图标,名字是 文件完整性检查。如果 Host 部分有改动,要完全退出并重开 DSH,只刷新页面不够。

使用

1. 从侧边栏打开 文件完整性检查。
2. 每个 DSH 工作区对应一张卡片,数据来自实时工作区列表。
3. 扫描 (Scan) 是只读的。
4. 修复 (Fix) 会要求确认,先保存当前 ACL,再改动它。
5. 校验 (Verify) 重新扫描并报告剩余计数。
6. 扫描全部工作区 (Scan all) 一次请求扫描当前所有工作区。

修复成功后,卡片会显示 可回滚 (Rollback available) 徽标。
详情面板显示记录时间和路径,并提供 回滚到上次状态 和 删除记录。后者会要求确认,然后永久删除记录目录。

工作原理

- 强制标签通过 GetNamedSecurityInfoW 读取,传入 LABEL_SECURITY_INFORMATION 和 SYSTEM_MANDATORY_LABEL_ACE(类型 0x11)。最后一个 SID 子授权对 Low 是 0x1000,对 Medium 是 0x2000。
- DACL 通过同一个 API 读取。只删除 非继承 且 SID 授权为 4(S-1-4-)的 ACE。只有当同一目录已经存在 Low/S-1-4 问题时,才删除 Everyone 拒绝 ACE。
- 根标签用可继承的 Medium 标签恢复(icacls /setintegritylevel "(OI)(CI)M")。如果子项带有显式 Low 标签,则单独修复。
- 原始 DACL 以 SDDL 形式保存,另存一份 icacls /save 的 .acl 文件。回滚记录包含 manifest.json、root.acl 和 root.sddl。
- 从不跟随重解析点和 junction。长路径使用 \\?\ 前缀。跳过 node_modules、.git、dist、.venv 和 AppData\Local\Temp 这类大目录。

回滚记录

%LOCALAPPDATA%\dsh-lowlabel-fix\rollback\<first-16-hex-of-path-sha256>\

每条记录只包含 ACL 元数据,不包含文件内容。同一工作区修复成功会原子替换该目录。删除记录会移除该目录,以及空的 rollback / dsh-lowlabel-fix 父目录。

没有发现问题 的工作区不会产生备份,也不会产生任何记录。

命令行

Scan one workspace tree
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action scan -Path "D:\project" -Deep

Fix (dry run unless -Apply is present)
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action fix -Path "D:\project" -Apply

Verify
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action verify -Path "D:\project"

List rollback records
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action records

Roll back one workspace
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action rollback -Path "D:\project"

Permanently delete one record
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action delete-record -Path "D:\project"

-Json 把机器可读输出写到 stdout;进度和阶段消息写到 stderr。

安全

- 只删除非继承的 S-1-4- 允许 ACE。
- 只有当目录同时存在 Low 或 S-1-4 问题时,才删除 Everyone:(DENY)(DC)。
- 只把 Low 标签恢复为 Medium。
- 跳过 junction point 和 reparse point。
- 任何改动之前先保存 ACL。
- 无法读取的目录会报告并跳过,批次中其余部分继续处理。
- 当前用户拥有的目录不需要管理员权限。受保护的系统位置可能仍然无法读取或写入;这些位置会报告出来,不会强行处理。

环境要求

- Windows 10 或 Windows 11
- DSH 0.2.1 或更新版本(桌面端或 Web 端)
- Windows PowerShell 5.1 或 PowerShell 7

项目结构

index.js Host 半:HTTP 路由 + PowerShell 运行器 client.js Client 半:侧边栏入口 + 工作区页面 cordis.patch.yml DSH bundle 补丁 scripts/DshWorkspaceAcl.ps1 独立的 scan/fix/verify/rollback 引擎 locale/ UI 文案 marketplace/ dsh-market 目录条目与提交说明

开发

PowerShell 脚本刻意采用 UTF-8 带 BOM;Windows PowerShell 5.1 需要 BOM 才能正确解析中文消息。编辑脚本时,如果编辑器去掉了 BOM,请重新加回。

没有构建步骤,也不需要 node_modules。

许可证

MIT。见 LICENSE。

DSH 在 Windows 上运行受限工作区时,会把目录的完整性级别降到 Low,并写入显式的 S-1-4- 沙箱授权 ACE,让受限令牌可以写入。这些标记保存在目录的磁盘 ACL 里,会话结束、工作区从 DSH 移除、甚至 DSH 升级之后都可能继续存在。长期保持标记的目录,可能让安装器、IDE、备份工具等程序在后续访问时出现权限异常或兼容性问题。

这个插件为这些目录提供一条可控的清理路径:读取 DSH 的实时工作区列表(不是全盘遍历),先只读扫描并列出命中目录与命中类型,确认后只修复沙箱残留,修完再复扫校验。每个工作区保留一条可替换的 ACL 回滚记录,支持回滚上一次修复,或把记录彻底删除。

它识别三类对象:

- Low 完整性标签(SACL Mandatory Label,S-1-16-4096)
- 非继承的显式 S-1-4- 沙箱授权 ACE
- Everyone:(DENY)(DC),仅在同一个目录已经命中 Low 或 S-1-4 时才处理

正常的 X2\<用户名>:(F) 等授权不会被修改;单独出现的 Everyone 拒绝项不算命中,也不会被碰。

插件在 DSH 侧边栏提供一个白色的工作区映射页面,同时附带可脱离 DSH 单独运行的 PowerShell 引擎。

功能

- 扫描单个 DSH 工作区,或一键扫描全部工作区。
- 修复前必须确认;未加 -Apply 时只读,不修改任何 ACL。
- 校验修复结果,显示剩余的 Low 与 S-1-4 数量。
- 每个工作区只保留一条回滚记录;下一次成功修复会替换旧记录。记录可以一直保留,也可以永久删除,删除后不留下任何文件或空文件夹。
- 工作区映射直接读取 DSH 的实时工作区列表;在 DSH 里删除工作区后,插件页面对应卡片会自动消失。
- 无第三方依赖:Windows PowerShell 5.1 / PowerShell 7 + 内联 C# P/Invoke + icacls。

安装

从 dsh-market 安装

目录条目合并后,在 dsh-market 搜索 文件完整性检查,点安装即可。

从源码安装

克隆仓库后,把这个目录作为本地 DSH bundle 安装。使用 DSH 的 plugin_manager:

plugin_manager action=install_bundle target="<仓库路径>\dsh-file-integrity-check"

安装后刷新 DSH Web GUI,侧边栏会出现盾牌图标 文件完整性检查。如果 Host 半有更新,需要完全退出并重新打开 DSH,只刷新页面只会更新 Client 半。

使用

1. 点侧边栏 文件完整性检查。
2. 每个 DSH 工作区一张卡片,列表来自 DSH 实时工作区。
3. 扫描 只读检查。
4. 修复 弹确认;确认后先保存 ACL,再修改。
5. 校验 复扫并显示剩余数量。
6. 顶部 扫描全部工作区 一次处理当前所有工作区。

修复成功后,卡片显示 可回滚,详情中可 回滚到上次状态 或 删除记录。删除记录会二次确认,并递归删除记录目录及空的父目录。

回滚记录

%LOCALAPPDATA%\dsh-lowlabel-fix\rollback\<路径 SHA256 前16位>\

里面是 manifest.json、root.acl、root.sddl,只保存 ACL 元数据,不保存文件内容。同一工作区再次成功修复会整体替换该目录。

没有命中项的扫描/修复不会产生备份,也不会产生回滚记录。

命令行

扫描一个工作区(含子树)powershell powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1 -Action scan -Path "D:\project" -Deep

修复;默认 dry-run,必须 -Apply 才修改

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action fix -Path "D:\project" -Apply

校验

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action verify -Path "D:\project"

查看回滚记录

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action records

回滚某个工作区

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action rollback -Path "D:\project"

永久删除某个工作区的回滚记录

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\DshWorkspaceAcl.ps1
-Action delete-record -Path "D:\project"

-Json 只把 JSON 写到 stdout;进度和阶段信息走 stderr。

安全边界

- 只删除非继承的 S-1-4-* 授权 ACE。
- 只在同一目录已命中 Low 或 S-1-4 时,才删除 Everyone:(DENY)(DC)。
- 只把 Low 恢复为 Medium。
- 不跟随 junction / reparse point。
- 修改前保存 ACL,失败项逐条列出,不中断整批。
- 不要求管理员权限;受保护的系统目录如果无权限,只报告并跳过,不强行修改。

环境要求

- Windows 10 / Windows 11
- DSH 0.2.1 或更新版本
- Windows PowerShell 5.1 或 PowerShell 7

目录结构 text index.js Host 半:HTTP 路由 + PowerShell 调用 client.js Client 半:侧边栏入口 + 工作区页面 cordis.patch.yml DSH bundle patch scripts/DshWorkspaceAcl.ps1 独立扫描/修复/校验/回滚引擎 locale/ 界面文案 marketplace/ dsh-market 目录条目与提交说明

开发说明

scripts/DshWorkspaceAcl.ps1 必须保存为 UTF-8 with BOM;Windows PowerShell 5.1 没有 BOM 时可能把中文读成乱码并解析失败。没有构建步骤,也不需要 node_modules。

许可

MIT,见 LICENSE。
预览分享卡片长什么样 ↓Dofang-C/dsh-file-integrity-check
分享 · DeepSeek Harness Hub
Dofang-C/dsh-file-integrity-check

扫描并清理工作区残留的权限标记,支持回滚

这是你的仓库?认领条目

回到顶部