Releases: One-OK/Cslim
Release list
C-Slim v1.5.1 — 安全审计修复 / Security Audit Fixes
C-Slim v1.5.1 — 公开发布前第三轮安全审计修复
第三方级逐行复核确认的缺陷修复批次(工具将开放给陌生用户使用)。两条铁律贯穿全部改动:删除前必须验证、路径/盘符取自真实环境。
下载与运行
- 下载下方
C-Slim-v1.5.1.zip - 解压到任意位置
- 右键
①运行C盘瘦身.bat→ 以管理员身份运行 - 首次使用建议先选
1做一次诊断扫描,确认清单后再选A一键迁移 - 迁移用户文件夹后需注销或重启,资源管理器才会识别新路径
运行前请先看:① 备份重要数据;② 脚本未签名,SmartScreen / Defender 拦截时选「更多信息 → 仍要运行」;③ 目标盘剩余空间需 ≥ 待迁移数据量。
本次修复内容
P0 — 未经验证的删除(已修,2 处 + 1 处同型加固)
旧 .orig 备份在确认其内容已完整存在于目标盘之前就被删除(它可能是中断迁移后仅存的副本)。现在统一走 CS-ClearStaleOrig:先逐字节校验 → 一致才改名 .old-<时间戳> 并排到重启清理;校验不通过则 WARN 并中止该目录迁移,备份原样保留。
P1 — 已修(9 项)
- 单步按钮与 CLI 菜单不再用
-Auto绕过迁移确认闸门(该闸门授权"自动强制关闭占用程序") C-Slim.ps1 -Auto分支补上全局同意确认- 回收站改为默认不清空,需显式
-EmptyRecycleBin - 保护路径改用环境变量解析(Windows 不在 C 盘的机器同样安全)
- 占用进程匹配修正前缀边界(
Documents不再误伤DocumentsBackup)并加空值守卫 - 迁移中断后重跑可自愈(源缺失 + 备份在 + 目标在 → 重建链接)
- 用户文件夹合并前做冲突预检,命中则跳过该文件夹、保留 C 盘原样
- Known Folder 重指向后回读验证,未生效则不动源目录
- Explorer 重启改为非提升令牌(临时 schtasks
/RL LIMITED /IT),不再让 shell 长期以管理员运行
P2 — 已修(安全子集)
删除含 v1.2.0 事故逻辑的死代码 CS-RehomeLegacyData、修正 debloat 白名单笔误、robocopy 路径加引号、orphan 扫描去个人化、4 个迁移脚本补充目标盘存在性校验、精简/补充 README。
验证
- 全仓 17 个
.ps1:语法 0 错误、UTF-8 BOM 17/17 - 沙箱单测:
CS-GetFolderConflicts、CS-ClearStaleOrig、CS-GetLockingProcesses全部通过
完整历史见仓库内 CHANGELOG.md。
C-Slim v1.5.1 — Third-Party Security Audit Fixes (round 3)
Fixes confirmed by a line-by-line audit ahead of public release. Two principles run through every change: verify before delete, and resolve paths from the real environment.
Download & run
- Download
C-Slim-v1.5.1.zipbelow - Extract anywhere
- Right-click
①运行C盘瘦身.bat→ Run as administrator - First run: choose
1for a diagnostic scan, review the list, thenAfor one-click migration - Log off or reboot after migrating user folders so Explorer picks up the new paths
Before you start: ① back up important data; ② the scripts are unsigned — if SmartScreen/Defender blocks them, choose More info → Run anyway; ③ the target drive needs at least as much free space as the data being migrated.
What changed
P0 — unverified deletion (fixed, 2 sites + 1 hardening)
A stale .orig backup could be deleted before proving its content already exists at the destination — it may be the only surviving copy after an interrupted run. All such sites now go through CS-ClearStaleOrig: verify first, then rename aside and schedule reboot cleanup. If verification fails, the folder is skipped and the backup is kept.
P1 — 9 items fixed
Per-step confirmation gate restored (no more -Auto bypass); global consent added to -Auto; recycle bin no longer emptied by default (opt-in -EmptyRecycleBin); protected paths resolved from environment variables; process-lock prefix matching fixed; interrupted migrations self-heal; user-folder merge conflicts are detected and skipped (C: kept intact); Known Folder repoint is re-read and verified; Explorer restarts with a non-elevated token.
P2 — safe subset
Dead CS-RehomeLegacyData removed, debloat whitelist typo fixed, robocopy paths quoted, orphan scan de-personalized, drive-existence guards added, READMEs updated.
Verification
- All 17
.ps1files: 0 syntax errors, UTF-8 BOM 17/17 - Sandbox unit checks for
CS-GetFolderConflicts,CS-ClearStaleOrig,CS-GetLockingProcessesall pass
See CHANGELOG.md in the repository for the full history.