Виключення антивіруса та 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)
- Параметри → Конфіденційність і безпека → Безпека Windows.
- Захист від вірусів і загроз → Керування параметрами → Додати або видалити виключення.
- Додати виключення → Папка → вставити шлях.
На ПК під керуванням 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.exeSquawk
<project>\node_modules\.bin\squawk.cmd%APPDATA%\npm\squawk.cmd%USERPROFILE%\.cargo\bin\squawk.exeSemgrep
%LOCALAPPDATA%\Programs\Python\Python3*\Scripts\semgrep.exe%APPDATA%\Python\Python3*\Scripts\semgrep.exe%USERPROFILE%\.local\bin\semgrep.exeShellCheck
%LOCALAPPDATA%\Microsoft\WinGet\Packages\koalaman.shellcheck_*%USERPROFILE%\scoop\shims\shellcheck.exegolangci-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.cmdBearer
%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 без окремого списку для кожного бінарника.