安全软件将sublime的atomic_save重命名操作误判为攻击,因其触发启发式规则;验证需查防护日志中subl.exe、movefileex等关键词;绕过需在火绒等软件中按行为(重命名/删除)而非仅进程名添加规则,并可禁用atomic_save。

为什么安全软件会把Sublime保存操作当攻击?
Sublime Text 4 在保存文件时,尤其是启用 atomic_save 后,会先写入一个临时文件(如 C:\very\long\path\to\project\file.txt.tmp),再调用系统 MoveFileEx 将其重命名为原文件。这个重命名动作,在火绒、360、Windows Defender 等软件眼里,容易被识别为“进程注入式文件替换”或“可疑的原子性覆盖行为”,尤其当路径本身已接近 Windows MAX_PATH 边界(260 字符)时,底层 API 调用更易触发安全引擎的启发式规则。
如何验证是不是安全软件在拦截?
不靠猜,直接看证据:
- 打开任务管理器 → 切换到“详细信息”页 → 找到
subl.exe或sublime_text.exe进程 → 右键 → “打开文件所在位置”,记下安装路径 - 启动 Sublime,尝试保存一个长路径文件(比如路径总长 > 220 字符)
- 立刻查看你正在用的安全软件日志(如火绒的「防护日志」、Defender 的「威胁历史记录」),搜索关键词:
subl.exe、MoveFileEx、rename、atomic - 若发现“阻止进程创建远程线程”“拦截可疑文件覆盖”等条目,基本锁定是它干的
绕过拦截的实操配置(不关防护)
核心原则:让安全软件明确知道 Sublime 的这些行为是合法的,而不是一刀切禁用防护。
-
Windows Defender:必须添加三个文件夹到排除项(不是单个 exe):
%LOCALAPPDATA%\Programs\Sublime Text、%APPDATA%\Sublime Text、%TEMP%\Sublime Text -
火绒:进「自定义防护」→「防护规则」→ 点击右下角「添加规则」→ 类型选「允许进程执行文件操作」→ 进程填
subl.exe→ 操作选「重命名」和「删除」→ 路径留空或填*.tmp - 360/腾讯电脑管家:找「信任区」或「白名单」→ 添加 Sublime 安装目录(含子目录),并勾选“允许该程序修改自身文件”和“允许该程序重命名同目录下的文件”
- 别忘了关掉 Sublime 的
atomic_save(仅对长路径项目):在 Project Settings 里加"atomic_save": false,可彻底避开 MoveFileEx 调用
为什么不能只加 subl.exe 到白名单?
因为 Sublime 的保存逻辑涉及多个进程协同(主进程写 tmp、辅助进程 rename),且临时文件路径动态生成。只放行主 exe,但它的子操作(如调用系统 API rename)仍会被独立检测。安全软件的现代引擎按行为链建模,不是按进程名粗粒度过滤。这也是为什么大量用户反馈“明明加了白名单还是被拦”——他们漏掉了行为维度的放行。











