You need to enable JavaScript to run this app. 为什么Windows Defender将我的Python打包脚本识别为木马?
优惠活动
大模型
产品
解决方案
定价
更多

为什么Windows Defender将我的Python打包脚本识别为木马?

触发Windows Defender误报的核心原因

  • Pyinstaller打包的二进制特征命中了Windows Defender的恶意特征库:低活跃度的个人自定义打包程序,同时包含全局热键监听、开机自启、修改显示设备配置的行为组合,刚好和Defender收录的木马特征重叠;卡巴斯基的特征库规则、判定阈值和Defender存在差异,因此不会触发告警。
  • global-hotkeys模块的底层系统调用触发了高风险行为判定:全局键盘监听是远控类木马的典型特征,Defender对个人未签名程序的这类行为判定阈值远低于卡巴斯基。
  • 程序未做数字签名:未签名的可执行文件在Defender的风险评分体系中会被额外加权重,叠加行为特征后刚好达到木马判定标准。
  • 开机自启+后台长期驻留的行为组合进一步拉高了风险评分,最终触发拦截判定。

需要排查的遗漏点

  • 检查打包参数配置:如果打包时使用了--onefile单文件打包参数,这类打包格式的特征更容易被Defender误判,可以换成多文件打包模式测试是否还会触发告警。
  • 排查依赖包来源:确认你安装的global-hotkeys以及其他第三方依赖均从PyPI官方源下载,第三方非官方镜像提供的依赖包可能被注入恶意代码,导致打包后文件带毒。
  • 排查多余权限请求:确认程序没有请求额外的无关权限(如未用到的磁盘读写、网络请求权限),如果打包后程序触发了这类你没写的权限调用,需要检查打包时是否带入了冗余的恶意依赖。
  • 查看Defender的具体判定日志:在Windows Defender威胁历史记录中查看判定依据是静态特征匹配还是动态行为触发,对应调整程序逻辑或打包配置。
  • 最小复现验证:写一个仅包含热键监听逻辑、不含关闭显示器功能的最小脚本打包测试,如果仍报毒则说明是热键监听特征触发的告警,反之则是关闭显示器的相关系统调用触发的。
  • 排查打包环境安全:确认你使用的Pyinstaller本身没有被感染,可以卸载现有版本后从官方源重新安装,再重新打包测试。

内容的提问来源于stack exchange,提问作者Aaron Jones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 07:06:07