Перейти до вмісту

Виключення антивіруса та Device Guard

Windows Defender, Device Guard і корпоративні EDR часто блокують бінарники CLI, встановлені через winget, scoop, npm або pip. Ознаки:

  • spawn UNKNOWN / EPERM, коли розширення намагається запустити інструмент.
  • Помилка: «file cannot be accessed by the system» / «Device Guard is preventing…»
  • CLI встановлено (where / Get-Command знаходить), але кожен запуск падає.

Тут перелічені конкретні папки, які варто додати до виключень антивіруса, щоб інструменти Quality Hub стабільно працювали. Виключити вузьку підпапку безпечніше, ніж увесь %LOCALAPPDATA%.

Щодо уповільнення Docker і сканів по всьому репозиторію див. Встановлення → Антивірус і сканування в реальному часі (Windows).

Як додати виключення (Windows 11)

  1. ПараметриКонфіденційність і безпекаБезпека Windows.
  2. Захист від вірусів і загрозКерування параметрамиДодати або видалити виключення.
  3. Додати виключенняПапка → вставити шлях.

На ПК під керуванням MDM / Intune зверніться до адміністратора — локальні виключення можуть бути за політикою недоступні.

Trivy

%LOCALAPPDATA%\Microsoft\WinGet\Packages\AquaSecurity.Trivy_Microsoft.Winget.Source_8wekyb3d8bbwe\
%LOCALAPPDATA%\Microsoft\WinGet\Links\trivy.exe
%USERPROFILE%\scoop\shims\trivy.exe
%USERPROFILE%\scoop\apps\trivy\

Альтернатива: запустіть Docker Desktop — розширення може перейти на контейнерний образ без окремого виключення в AV.

Hadolint

%LOCALAPPDATA%\Microsoft\WinGet\Packages\hadolint.hadolint_Microsoft.Winget.Source_*
%LOCALAPPDATA%\Microsoft\WinGet\Links\hadolint.exe
%USERPROFILE%\scoop\shims\hadolint.exe

Squawk

<project>\node_modules\.bin\squawk.cmd
%APPDATA%\npm\squawk.cmd
%USERPROFILE%\.cargo\bin\squawk.exe

Semgrep

%LOCALAPPDATA%\Programs\Python\Python3*\Scripts\semgrep.exe
%APPDATA%\Python\Python3*\Scripts\semgrep.exe
%USERPROFILE%\.local\bin\semgrep.exe

ShellCheck

%LOCALAPPDATA%\Microsoft\WinGet\Packages\koalaman.shellcheck_*
%USERPROFILE%\scoop\shims\shellcheck.exe

golangci-lint

%USERPROFILE%\go\bin\golangci-lint.exe
%LOCALAPPDATA%\Microsoft\WinGet\Packages\golangci.golangci-lint_*

Oxlint / Biome (на Rust — часто потрапляють під скан)

<project>\node_modules\.bin\oxlint.cmd
<project>\node_modules\.bin\biome.cmd
%APPDATA%\npm\oxlint.cmd
%APPDATA%\npm\biome.cmd

Bearer

%USERPROFILE%\scoop\shims\bearer.exe
%USERPROFILE%\scoop\apps\bearer\

Або через Docker — за наявності Docker розширення само підхоплює fallback.

markdownlint / prisma-lint / dotenv-linter / misspell / gitleaks

Зазвичай у:

<project>\node_modules\.bin\
%APPDATA%\npm\
%USERPROFILE%\scoop\shims\
%USERPROFILE%\.cargo\bin\

act (локальний раннер GitHub Actions)

%LOCALAPPDATA%\Microsoft\WinGet\Packages\nektos.act_*
%LOCALAPPDATA%\Microsoft\WinGet\Links\act.exe
%USERPROFILE%\scoop\shims\act.exe

Також потрібен запущений Docker Desktop.

Загальна рекомендація

Якщо політика безпеки дозволяє, додайте один раз батьківські папки:

%LOCALAPPDATA%\Microsoft\WinGet\Packages
%LOCALAPPDATA%\Microsoft\WinGet\Links
%USERPROFILE%\scoop
%APPDATA%\npm
%USERPROFILE%\.cargo\bin
%USERPROFILE%\go\bin

Це покриває більшість dev CLI без окремого списку для кожного бінарника.