.NET Framework类库被Windows Defender误判为AgentTesla木马求助
Windows Defender误报.NET类库为Trojan:MSIL/AgentTesla.CED!MTB的问题
数周以来,我司的ClassLibrary.dll一直被Windows Defender标记为木马Trojan:MSIL/AgentTesla.CED!MTB,已引发客户强烈不满。
我先调研了这款恶意软件:它诞生于2014年,基于.NET Framework开发,以窃取用户信息为目的,常通过隐写术将恶意代码隐藏在图片或文本文件中,进入受害者机器后提取执行。
随后我对ClassLibrary.dll展开排查,最初怀疑是程序集侧加载、Office互操作这类代码触发了检测,但逐步删除文件和代码后,检测结果始终未变,最后仅剩4个cs文件和1个resx文件。我曾以为是文件名缓存问题,但新建包含这些文件的项目编译后,依然被Defender检测为同一木马,且在多位同事电脑上均可复现。
我将该dll上传至病毒扫描平台,70款杀毒软件中仅Windows Defender报毒,提示可能与使用Convert.FromBase64String()方法有关,但该方法在大量正常项目中均有应用。之后我提交文件至微软,对方仅建议更新病毒库,未提供有效帮助。
核心疑问
- 为何如此简单的代码样本会被标记为恶意软件?
- Windows Defender是否仅依靠少量特征就触发检测?
可复现的项目信息
基于.NET Framework 4.8的类库,包含以下文件:
a.cs
using System.Threading; namespace ClassLibrary.Controller { public class a { private void A() { ThreadPool.QueueUserWorkItem(null, null); } } }
b.cs
using System.Threading; namespace ClassLibrary { public class b { private void B() { var t = new Thread(() => { }) { Name = "ClassLibrary.Data" }; } } }
d.cs
using System; namespace ClassLibrary { public class d { private void D() { Convert.FromBase64String(string.Empty); } } }
DataTableConverter.cs
using System.Reflection; namespace ClassLibrary { public class DataTableConverter { private Assembly AssemblyResolver() { return null; } } }
MultiLangRes.resx
包含一条条目:Name:TextReplace, Value:a
编译以上项目后,用Windows Defender扫描即可复现AgentTesla木马的检测结果。
内容的提问来源于stack exchange,提问作者Thanatos
相关产品推荐
相关产品推荐

