Trojan:Win32/Wacatac.H!ml is a Microsoft Defender detection name. Keep the affected file quarantined while you check what was detected and whether it ran. A false positive is possible, but the name alone cannot establish that a file is harmless—or that it stole data. The same applies if your alert says Trojan:Script/Wacatac.H!ml: preserve that exact label and inspect the affected object.
A blocked download needs source verification; a suspicious program that ran also needs device cleanup and a check of relevant account activity. Do not restore the file or disable protection just to finish installing it.
What should you do with Wacatac.H!ml?
- Unknown download, crack, repack or fake update: keep it blocked and remove the untrusted source package.
- Expected file from an official software release: check the exact version, signature and publisher’s response before considering restoration.
- The file ran, removal is incomplete, or a new alert appears: follow the full-scan cleanup steps.
- The alert seems to return: compare the detection time and affected path. An old quarantined entry is different from a newly detected file.

What is Trojan:Win32/Wacatac.H!ml?
Microsoft describes malicious Wacatac.H!ml activity that can steal information or download additional malware. That describes the threat category; it does not identify the behavior of your particular file. [1] In Microsoft’s naming scheme, H is the variant letter, while the part beginning with ! is an internal suffix. The public naming guide does not define a file-specific verdict or detection algorithm for !ml. Read the exact affected object and status as well as the label. [4]
This page is for the exact Trojan:Win32/Wacatac.H!ml alert. If your alert only says Trojan:Win32/Wacatac, use the broader family guide. If the variant is B!ml, use the Wacatac.B!ml alert and repeat-detection guide. Check the exact platform label and affected object in your own alert. For unfamiliar Defender name parts, the Microsoft Defender detection names guide explains platform, family, suffix, and action status.
Check the affected path and source before restoring
Open Windows Security → Virus & threat protection → Protection history and expand the Wacatac.H!ml entry. Record these details before clearing history, deleting cache or reinstalling an app. [3]
- Exact detection and action: Win32 or Script, the detection time, and whether the item is quarantined, removed, allowed or still needs action. Follow any remaining remediation prompt; a notification disappearing is not the same as completed cleanup.
- Full affected-item path: include the archive name and the member inside it when both are shown. A ZIP in Downloads and an executable extracted from it are different objects.
- Source and version: the actual download site, app release, installer or update that produced it. A familiar filename or icon is not enough.
- What happened before the alert: download, extraction, launching a game/tool, opening a browser, updating an app, or restarting Windows. Note whether you ran a file or command, or whether the download was blocked first.
Folders such as %USERPROFILE%\Downloads, %TEMP% and AppData contain legitimate files too. A path tells you where to investigate, not whether the file is malicious. Do not delete a Windows or application folder merely because its name appears in the alert.
Could Wacatac.H!ml be a false positive?
Yes. The useful question is whether there is evidence for this exact file and release. Another user’s clean result or a forum reply about a different installer cannot clear yours. Use this sequence for software you expected to receive from a known publisher:
- Check the source independently. Find the release through the publisher’s official site or repository, not the download advert or message that supplied the file. Match the version and package; a project being open source does not authenticate every copy carrying its name.
- Check identity without running it. If the file remains available outside quarantine, use its Properties → Digital Signatures tab, where present, to check the signer and signature status. Compare a SHA-256 hash with the publisher’s hash for that exact release when one is provided. A signature identifies a signer and a matching hash identifies the same bytes; neither is a universal safety certificate. An unsigned developer build is not automatically malware.
- Look for a file-specific response. Match the vendor’s notice or support reply to the detected object, version and date. A maintainer saying “probably a false positive” is a lead for investigation, not a completed assessment.
- Request review if it remains unresolved. Microsoft’s file-submission service accepts suspected incorrect detections from home users and software developers. Supply the exact label, release/source and alert details. Ask the publisher to submit its release if your copy is quarantined; do not restore it merely to calculate a hash or upload it. Do not submit private company files without authorization. [2]
While waiting, leave the file blocked. After Microsoft confirms the specific detection was incorrect, or the publisher provides a verified resolution for the exact file, update Defender’s security intelligence and follow the resolution for that exact release. Prefer a corrected official download when available. Do not add a broad folder exclusion to make the alert disappear. If the source is untrusted, removing that package is the safer choice than trying to justify running it.
A multi-engine report can provide context, but a low detection count or a clean full-system scan does not by itself approve the quarantined file. Check that any report refers to the same hash and a current scan, not just the same filename.
What if the alert says Trojan:Script/Wacatac.H!ml?
Copy Trojan:Script/Wacatac.H!ml exactly if that is what Protection history shows. Do not silently replace Script with Win32. Microsoft’s platform field can describe an operating-system platform, language, or file format; the filename extension alone cannot tell you which label Defender should use.
For example, a February 2024 Microsoft Q&A report described a signed game .exe receiving the Script/Wacatac.H!ml label. The response directed the developer to submit the file for analysis. This is a reported example of the label/object combination, not a safety verdict for another executable. [5]
- Identify the affected object: an installer or DLL, an archive and its member, a browser cache entry, or a script. Record the full path and action status before removing its source.
- Check provenance: compare the exact version, publisher signature where available, and hash with the vendor’s release. An archive name or familiar program icon cannot establish which contents were detected.
- Separate download from execution: a quarantined download needs source verification; a suspicious file or command that ran also warrants checking the device and relevant account activity. Do not restore the object merely to see what it does.
How to remove Trojan:Win32/Wacatac.H!ml safely
- Leave the Defender action as Quarantine or Remove. Do not allow or restore the file first.
- Copy the affected item path from Protection History.
- Delete the original installer, archive, extracted folder, crack, script, or email attachment if it is the untrusted source of the detection.
If a suspicious file ran or account activity suggests exposure, use a trusted device now to change affected account passwords and revoke unknown sessions. Check recovery details and enable multifactor authentication. If you see ongoing suspicious activity, disconnect the affected PC from the network while arranging cleanup from a trusted device. A blocked download alone does not establish account theft, and a clean scan cannot recover stolen sessions. On a work or school PC, give the alert details to IT before changing security settings or submitting files.
For a suspicious file that ran, incomplete remediation, or a fresh Wacatac.H!ml alert, use a full Gridinsoft Anti-Malware scan as the main cleanup route. Defender may quarantine the visible item while a loader, scheduled task, startup entry or bundled component remains and recreates it. A browser change may trigger another download, while an unwanted Defender exclusion can leave relevant files outside real-time scanning.
- Download and install Gridinsoft Anti-Malware using the button below, then update its detection database.
- Run a Full Scan, review the detections, and apply cleanup to the detected threats.
- Restart Windows and check whether a new alert or the original suspicious behavior returns. Compare its timestamp and affected path with the saved entry.
Optional checks if fresh alerts persist: uninstall suspicious apps installed around the same time, and inspect Startup Apps, Task Scheduler, browser extensions, and Defender exclusions for entries linked to the affected item. These manual checks are not a prerequisite for the scan. Keep Defender security intelligence current. If a scanner cannot run or remediation remains incomplete, use the built-in Microsoft Defender Offline option under Scan options, or ask a qualified technician for help. Save your work before an offline scan because it restarts the PC. Do not disable protection to force a blocked installer to run.
For an isolated blocked file from a verified source, seek a file-specific vendor assessment before restoring; a clean scan alone does not certify that file.
Why does Wacatac.H!ml keep coming back?
Start with the timestamp, action status and affected object—not the repeated threat name. The next step depends on what actually changed:
- Same old quarantined or removed entry, no new detection time: you may be looking at saved history. Check for pending actions and new detections after a scan/restart. Do not restore the item or clear history as a “fix.”
- New detection names an archive or extracted copy: keep the detected object quarantined and remove the untrusted source archive and its extracted copies. Do not extract or run it again to test it. If this is a legitimate package you need, ask its publisher for review or a corrected release.
- The path is in a browser cache: save the alert details, close the triggering page and clear cached files through the browser’s settings. A cache path alone does not establish that a downloaded program ran. If a fresh alert returns, note which site or browser action preceded it; review extensions only when the recurrence points to one. Do not delete your whole browser profile blindly.
- A new temporary file appears during an app launch or update: record the app/version and time. A legitimate updater can create temporary files, as can unwanted software. Verify that app’s source and ask its vendor to investigate the exact object. For a verified legitimate Office or other installed app, use its supported repair/update procedure instead of deleting program files or excluding its folders.
- Fresh alerts continue after cleanup or recur on reboot: follow the full-scan route above, then investigate the specific startup entry, scheduled task, service, extension or exclusion linked to the affected path. If you cannot establish what recreates it, preserve scan logs and seek assistance rather than deleting unrelated registry entries.
For example, an alert on a ZIP followed by an alert on a file extracted from that ZIP can be two copies of the same download. A new temporary filename every time an app starts calls for investigating that app. These are diagnostic examples, not proof of infection or a false positive.
FAQ
Should I allow Trojan:Win32/Wacatac.H!ml?
Keep an unresolved detection blocked. Consider restoration only when a file-specific assessment confirms the detection was incorrect, or a verified publisher resolution clears that exact file, with current protection and the release identified. Do not turn off Defender or exclude a whole download folder as a workaround.
Does the !ml ending mean it is a false positive?
No. Microsoft’s public naming guide describes suffixes beginning with an exclamation mark as internal indicators. The suffix cannot tell you whether your file is safe, whether it ran, or what it did. Use the affected object and the file-specific checks above.
Can a Script/Wacatac.H!ml alert refer to an EXE?
Yes, a signed game executable has been reported with that label. Preserve the exact label and inspect the object Defender names; do not assume the extension determines the detection or proves the executable safe.
Do I need to reinstall Windows?
A quarantined download that never ran is not, by itself, a reason to reinstall. Seek deeper recovery help if threats remain active, protection cannot be restored, or you cannot regain confidence in the system after cleanup. Reinstalling Windows does not revoke stolen account sessions; handle account recovery separately.
References
- Microsoft Security Intelligence. “Trojan:Win32/Wacatac.H!ml threat description.” Microsoft, accessed November 5, 2026. Threat description
- Microsoft Security Intelligence. “Submit files for malware analysis.” Microsoft, accessed November 5, 2026. File submission service
- Microsoft Support. “Virus & threat protection in the Windows Security app.” Microsoft, accessed November 5, 2026. Windows Security protection and scan options
- Microsoft. “Malware names.” Microsoft Learn, updated September 10, 2026, accessed November 5, 2026. Malware naming scheme.
- Microsoft Q&A. “trojan:script/wacatac.h!ml error occurred in our game executable file (.exe).” User report, February 20, 2024; response March 13, 2024; accessed November 5, 2026. Reported Script label on a game executable.

