Skip to content

[False Positive?] Windows Defender detects Trojan:Win32/Wacatac.H!ml when running opencode #7592

Closed

Description

@saliksik

Description
I am encountering a critical issue where Windows Security (Windows Defender) flags and quarantines files immediately upon running opencode in PowerShell. The detection is identified as Trojan:Win32/Wacatac.H!ml.

I am strictly using opencode-antigravity-auth from this repository.

To Reproduce

  1. Open PowerShell.
  2. Run opencode.
  3. Windows Security immediately triggers a "Threat quarantined" notification.

Expected behavior
The tool should execute without triggering antivirus heuristics.

Screenshots

Image

Note: The affected items point to temporary .dll files generated in AppData\Local\Temp.

Environment

  • OS: Windows 11 Pro
  • Shell: PowerShell
  • OpenCode: 1.1.11
  • Plugin Version: opencode-antigravity-auth@beta

Configuration Files
Here is my current configuration setup:

antigravity.json:

{
  "$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json",
  "auto_update": true
}

opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "google/antigravity-claude-opus-4-5-thinking:max",
  "plugin": ["opencode-antigravity-auth@beta"],
  "agent": {
    "build": {
      "mode": "primary",
      "model": "google/antigravity-claude-opus-4-5-thinking",
      "thinkingConfig": { "thinkingBudget": 32768 },
      "tools": {
        "write": true,
        "edit": true,
        "bash": true
      }
    },
    "plan": {
      "mode": "primary",
      "model": "github-copilot/claude-opus-4.5",
      "tools": {
        "write": false,
        "edit": false,
        "bash": false
      }
    },
    "code-reviewer": {
      "description": "Reviews code for best practices and potential issues",
      "mode": "subagent",
      "model": "google/antigravity-claude-opus-4-5-thinking",
      "thinkingConfig": { "thinkingBudget": 32768 },
      "prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
      "tools": {
        "write": false,
        "edit": false
      }
    }
  },
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "XXXXXX"
      },
      "enabled": true
    }
  },
  "provider": {
    "google": {
      "models": {
        "antigravity-gemini-3-pro": {
          "name": "Gemini 3 Pro (Antigravity)",
          "limit": { "context": 1048576, "output": 65535 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
          "variants": {
            "low": { "thinkingLevel": "low" },
            "high": { "thinkingLevel": "high" }
          }
        },
        "antigravity-gemini-3-flash": {
          "name": "Gemini 3 Flash (Antigravity)",
          "limit": { "context": 1048576, "output": 65536 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
          "variants": {
            "minimal": { "thinkingLevel": "minimal" },
            "low": { "thinkingLevel": "low" },
            "medium": { "thinkingLevel": "medium" },
            "high": { "thinkingLevel": "high" }
          }
        },
        "antigravity-claude-sonnet-4-5": {
          "name": "Claude Sonnet 4.5 (no thinking) (Antigravity)",
          "limit": { "context": 200000, "output": 64000 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
        },
        "antigravity-claude-sonnet-4-5-thinking": {
          "name": "Claude Sonnet 4.5 Thinking (Antigravity)",
          "limit": { "context": 200000, "output": 64000 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
          "variants": {
            "low": { "thinkingConfig": { "thinkingBudget": 8192 } },
            "max": { "thinkingConfig": { "thinkingBudget": 32768 } }
          }
        },
        "antigravity-claude-opus-4-5-thinking": {
          "name": "Claude Opus 4.5 Thinking (Antigravity)",
          "limit": { "context": 200000, "output": 64000 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
          "variants": {
            "low": { "thinkingConfig": { "thinkingBudget": 8192 } },
            "max": { "thinkingConfig": { "thinkingBudget": 32768 } }
          }
        },
        "gemini-2.5-flash": {
          "name": "Gemini 2.5 Flash (Gemini CLI)",
          "limit": { "context": 1048576, "output": 65536 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
        },
        "gemini-2.5-pro": {
          "name": "Gemini 2.5 Pro (Gemini CLI)",
          "limit": { "context": 1048576, "output": 65536 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
        },
        "gemini-3-flash-preview": {
          "name": "Gemini 3 Flash Preview (Gemini CLI)",
          "limit": { "context": 1048576, "output": 65536 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
        },
        "gemini-3-pro-preview": {
          "name": "Gemini 3 Pro Preview (Gemini CLI)",
          "limit": { "context": 1048576, "output": 65535 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
        }
      }
    }
  }
}

Additional Context
The !ml suffix in the threat name suggests this is a Machine Learning heuristic detection, which is often a false positive for unsigned binaries or tools that generate temporary DLLs at runtime. Could you please verify if the release binaries are signed or if there is a known issue with the unpacking process?


Activity

  1. github-actions commented on Jan 10, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

    These appear to be recurring false positive detections by Windows Defender's ML/heuristic signatures. Issue #3415 is the main tracking issue with a comprehensive action plan including code-signing, checksums, and SBOM generation.

    Feel free to ignore if this is a different or more specific case than those listed above.

  2. markusbegerow commented on Jan 10, 2026

    @markusbegerow

    Very good description @saliksik!
    I can confirm the triggering antivirus heuristics.

  3. sollozzo13 commented on Jan 10, 2026

    @sollozzo13

    Same! I don't trust this sh.t anymore. It infected my PC. Get rid of it.

  4. mmcgill commented on Jan 10, 2026

    @mmcgill

    I see the same behavior, with similarly named DLLs in that temp directory.

    • Windows 11 Home 25H2
    • OpenCode installed via npm install -g opencode-ai (native windows Node installation)

    Looking at specific versions of the opencode-ai NPM package:

    • versions 1.1.9 and below run (but then auto-update in the default configuration)
    • starting with version 1.1.10, windows defender flags those DLLs when attempting to invoke the opencode.exe executable
  5. mmcgill commented on Jan 10, 2026

    @mmcgill

    For those affected who are ok running an older version while this gets sorted, see #1793 for a couple options to disable auto-update.

  6. Xavier-Burger commented on Jan 10, 2026

    @Xavier-Burger

    For those affected who are ok running an older version while this gets sorted, see #1793 for a couple options to disable auto-update.

    Which version was last stable? I opened an issue just now not realizing this had already been raised. I was on v1.1.11 througout the week and was running fine. When I updated to v1.1.12 I encountered the false positive. In my issue, I show uninstalling and re-installing. And installing v1.1.11 explicitely. same false positive.

  7. Xavier-Burger commented on Jan 10, 2026

    @Xavier-Burger

    Try these steps, 1.1.8 seems to not raise the false positive for now:

    #7655 (comment)

  8. flupkede commented on Jan 10, 2026

    @flupkede

    in powershell admin use : Remove-MpPreference -ExclusionProcess "opencode.exe" However when you see files like .3aebfebd1ffffffd-00000000.dll in Temp it's like asking for trouble and say Hi! I'm a virus, please scan and detect me. If they would use an %appdata%\Opencode folder and have dll's like
    languageserver
    │ ├── typescript-language-server.dll
    │ └── python-language-server.dll
    maybe ms would not detect it as scam. Use decent paths and decent file names and it could already be better, dll's shouldn't be generated in temp with random names. And if you do require something random in the filename, use the PID instead ?

  9. Plutarch01 commented on Jan 13, 2026

    @Plutarch01

    This has been a recurring issue. I'd appreciate it if you could work with MS Defender team to resolve it. Thanks

  10. rekram1-node commented on Jan 13, 2026

    @rekram1-node
    Contributor

    I'll try to get code signing setup soon to avoid these false positives

  11. thdxr commented on Mar 25, 2026

    @thdxr
    Member

    To stay organized issues are automatically closed after 90 days of no activity. If the issue is still relevant please open a new one.

  12. Hona commented on Mar 29, 2026

    @Hona
    Member

    As of OpenCode v1.3.4 across the CLI + Desktop apps, we have full code signing - so there should be no more warnings.

    Please let me know otherwise

    Image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions