-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows Defender identifies llvm-strings.exe as Trojan:Win32/Acll #199
Comments
My build system was also Windows 11 23H2, using Defender as antivirus, and I got no alerts. Were you also using Defender or a different antivirus software? |
Also using Defender, but on a company-managed computer, which has everything under "Virus & threat protection settings" enabled. If you have any MAPS or other cloud-related settings turned off, that may be the reason why. |
I got the same alert on my pc running Windows 10 Home 22H2 (Build 19045.4291). I did a full offline scan of the 7z file, and only llvm-strings.exe was detected. I uploaded it to Virus Total and got 30 detections: https://www.virustotal.com/gui/file/084b09fcab3d3b0812873c876fdbd1797f4a31384e0b00253b44ac29116ffb6a |
Looks like generic/heuristic detections, so still seems like false positive. Though 30 false positives on VirusTotal is a lot. |
Is the same false positive present in the release from https://github.com/mstorsjo/llvm-mingw/releases ? |
No, neither llvm-mingw-20240417-ucrt-x86_64.zip nor llvm-mingw-20240417-msvcrt-x86_64.zip trigger any Defender alerts. I don't know if it matters, but the ucrt version of llvm-strings.exe in that zip is about half the size of the winlibs version. |
I re-scanned the original compressed file after updating the definitions in Defender. Now I got two new alerts: The original reported alert, and these two: Trojan:Win32/Wacatac.H!ml Trojan:Win32/Znyonm |
It's not uncommon for antivirus heuristics to find threats in software development tools (assemblers, compilers, linkers). From my side all I can say is that I really built everything from source, down to each and every dependency. So in theory, if these are not false positives, either the code was compromised before I compiled it, or the binaries were comprimised after (the checksum files are there to detect tampered with files after I published them). How can we be certain these are false positives? |
Same here, defender alert on llvm-enabled builds. Workaround : download non-llvm releases :) mingw64\bin\UnicodeNameMappingGenerator.exe -> Trojan:Win32/Znyonm |
Same as YouriAndropov and an additional trojan of Virgof.A, and all of these don't appear in winlibs-x86_64-posix-seh-gcc-13.1.0-llvm-16.0.5-mingw-w64ucrt-11.0.0-r5.7 |
Results from Malwarebytes Anti-Malware Trojan.Crypt.Generic, C:\MINGW64\BIN\AMDGPU-ARCH.EXE |
I created new releases. Can you please tell me if your virus alerts are gone in these releases? |
I tested the ucrt x64 release r8 and it seems OK now. |
New results from Malwarebytes Anti-Malware, UCRT version. To date, I haven't encountered any issues with these releases, but I felt it was important to report these detections. Malware.AI.4095755650 C:\MINGW64\BIN\AMDGPU-ARCH.EXE |
Have you gained an understanding of what was the cause of the possible infection? To prevent this from happening in the future. |
@lucascampolimm are you talking about the revision 7 or revision 8 ? It is quite unclear. |
I dowloaded the R8 UCRT LLVM x64 file: Got these detections: Trojan:Win32/Wacatac.H!ml Trojan:Win32/Phonzy.A!ml |
@YouriAndropov I tried out the r7 first, and then I gave the r8 a go. |
If r8 also shows the threats than I'm even more convinced these are false positives, especially since some antivirus scanners label the threats as generic or heuristic, meaning they don't match actual signatures of know viruses. Add to that that it's only in LLVM binaries, not in all the rest, which was also build on the same build system. |
Tested again and this time defender found Trojan:Script/Wacatac.H!ml… |
Question: I just released GCC 14.1.0 builds. Does this change anythinwith regards to the virus alerts? |
My Windows Defender finds no threats in GCC 14.1.0 + LLVM. Release 8 of GCC 13.2.0 was the same just after its release (no threats), but after some time Defender began to show the alerts. |
My antivirus (F-secure) flagged: Using winlibs personal build version gcc-13.2.0-llvm-18.1.5-mingw-w64ucrt-11.0.1-r8 |
Defender now finds Trojan:Win32/cerber on winlibs-x86_64-posix-seh-gcc-14.1.0-llvm-18.1.5-mingw-w64ucrt-11.0.1-r1.7z following files:
Still unsure of what to think about these alerts. |
Why does nvptx-arch.exe delete folders and registry keys related to Google Update? |
In this context, "dropped" usually means created (as in dropped onto your hard drive), not deleted. Completely agree it has no business touching any of those files, though. |
Are the virus alerts for LLVM components still present in these last releases?
The build system used to build these releases has been scanned with multiple virus scanners and nothing was found. |
Hello, |
How can we confirm if these are false positives? |
What about https://www.microsoft.com/en-us/wdsi/filesubmission/ ? |
Based on the suggestion here to add an icon to the Can you please check if this makes any difference in the virus detections? The updated files are the ones including llvm in the name at these links: |
Trojan:Win32/Wacatac.B!ml found in winlibs-x86_64-posix-seh-gcc-14.1.0-llvm-18.1.7-mingw-w64ucrt-12.0.0-r2.7z |
@YouriAndropov is this the same as before? Did you also only have this one match before? Which antivirus was this? |
Yes, same file but different threat. It's windows defender. |
I have reported one of the releases to https://www.microsoft.com/en-us/wdsi/filesubmission/ for further investigation. |
Redownloaded the entire LLVM + GCC in latest after the logo - no issues from BitDefender side. Thanks for the update. |
@CagesThrottleUs Glad to hear that. So apparently adding an icon / adding a resource file to the build does make a difference... |
I am no longer getting alerts from |
Well, I did report this issue to Microsoft, so they are probably looking into it. |
I received threats from Sentinal One against winlibs-x86_64-posix-seh-gcc-14.1.0-llvm-18.1.5-mingw-w64ucrt-11.0.1-r1.zip. New zip file at https://github.com/brechtsanders/winlibs_mingw/releases/tag/14.1.0posix-18.1.7-12.0.0-ucrt-r2 worked! Thank you for your excellent support! |
I think this is the reason they keep flagging these files as a virus. They want to force their compiler into our lives. |
More like force me off of their operating system, but I hear you. I just don't want to take chances though. |
I'm getting a warning from the most recent build too and it's immediately quarantined. Is it possible there is some kind of sophisticated injection occurring similar to what happened with XZ Utils, or could there be some persistent undetected malware on the build computer? I'm not super familiar with how exactly winlibs/mingw work, but I just wanted to throw some things that came to mind out there in case someone more knowlegable than me can think of anything. In older versions I really loved the simplicity of winlibs, and how easy it was to use as a drop in for cross platform development with minor tweaks. Unfortunately I'm stuck on windows and I prefer GCC, and I would like to still have all this tooling. I don't want to have to use wsl, especially as I want to be able to distribute executables to people easily that they can just run. Winlibs has been a great solution so I hope this can get resolved... |
@AlexanderEvans If you prefer GCC, then why do you download the file with LLVM? Can you confirm the downloads without LLVM are okay for you? The winlibs build of LLVM uses GCC's standard libraries, which is not ideal. For those who want to use LLVM/Clang on Windows I recommend using https://github.com/mstorsjo/llvm-mingw The ticket I made to Microsoft about the Defender false positives is still in progress :-( |
I downloaded the 64bit non-LLVM version: No detections when extracting, I scanned the extracted files again and I also got no detections. |
@brechtsanders I totally forgot I could get a non-LLVM version, downloaded it and no threats. |
@brechtsanders I like to just have all the tooling in case I need it mostly for convenience in testing edge cases. And I'll occasionally use it for linting... at least I think that was it.... you can tell how often I fiddle with it by my uncertainty x3 Linting is such a 'set it and forget it' type of thing most of the time. I'm curious what you mean about the winlibs build of LLVM using the GCC standard libraries? Is there another implementation they usually use, and why is that not ideal? I could probably grab the version without llvm, but until it's confirmed the detection is a false positive, or we know the attack vector through which the infection occurred I'd rather not download either version just to be safe. I may be a bit overly cautious and paranoid, but I prefer to take the stance of "it's better to be safe than sorry" in such cases. |
@AlexanderEvans LLVM has it's own standard libraries for C and C++. But because the winlibs build has main focus on GCC, the LLVM was added with GCC's standard libraries so they could be somewhate interchanged (though I don't think that's a good idea). |
I'm guessing this is a false positive, but still wanted to mention that
mingw64\bin\llvm-strings.exe
inwinlibs-x86_64-posix-seh-gcc-13.2.0-llvm-18.1.3-mingw-w64ucrt-11.0.1-r7.7z
is being identified as Trojan:Win32/Acll on Windows 11 23H2.The text was updated successfully, but these errors were encountered: