Kudu v2.7.0 puts destructive maintenance behind a preview
Kudu v2.7.0 combines cache cleaning, disk analysis, startup controls, privacy settings, malware scanning, secure deletion, software updates, and system monitoring in one Electron app. It supports Windows, macOS, and Linux, though many controls are platform-specific. The central safety choice is sensible: scans and cleaning are local by default, and the CLI does not delete anything unless the user adds --clean. Optional cloud features change that boundary and need a separate review.
Cleaner targets live in JSON rule files for 3 operating-system families. Rules can use retention windows, bounded recursive matches, exact filename allowlists, exclusions, and elevation markers. Kudu v2.7.0 also made performance-cache resets opt-in and added guarded Docker build-cache plus Linux journal cleanup. The journal action preserves active files and works against a 30-day age or 1 GB archived-log budget, while Docker pruning ignores containers, volumes, images, remote engines, and custom builders.
Kudu v2.7.0 scans by default and requires --clean to delete
The CLI exposes 6 main scan categories: system, browser, application, gaming, recycle bin, and all. Scan-only is the default, JSON can go to standard output, diagnostics go to standard error, and exit code 4 marks partial success. That contract is good for scripts because a scheduler can capture findings before it decides whether deletion should occur. A Prometheus endpoint is also available on default port 9100 for host metrics.
Deletion still deserves human judgment. The README warns that Kudu removes files by design and disclaims responsibility for data loss or instability. Secure Delete overwrites before removal, so a recycle-bin recovery plan does not cover that path. Some jobs need elevated permissions, and the CLI uses exit code 3 when those permissions are missing. Start with repeated dry runs on each managed image, then allowlist categories instead of scheduling --all --clean across a fleet.
What happened when we ran it
Our sandbox installed 564 npm packages in 37 seconds and used 682 MB on disk. The Electron build succeeded in 16 seconds. Vitest completed in 24 seconds with 2,613 passed, 0 failed, and 1 skipped out of 2,614. Npm audit reported 0 known vulnerabilities across critical, high, moderate, and low severity levels for the environment we installed.
commit 92dbc52 contained 1,336 files, about 100,191 source lines, and 17.9 MB before dependencies. We found 9 CI workflow files and no Dockerfile or top-level tests directory, although Vitest found and ran the project's tests elsewhere in the tree. The passing suite is meaningful evidence for that commit. It does not test Kudu's cleaner against the files, permissions, running applications, and vendor binaries on every supported workstation.
Four signed applications triggered HIGH findings in v2.7.0
Issue 384 reports that Kudu v2.7.0 labeled valid signed executables from Ollama, Mozilla, Seagate, and Zotero as HIGH-severity Heuristic.Suspicious.PE detections. The report attributes each result to generic executable characteristics and imported APIs rather than a malware signature, YARA match, or Defender result. An open pull request adjusts trusted vendor paths, but users should still verify signatures, file origin, and independent scanner results before quarantining anything.
That distinction matters because Kudu presents cleaning and malware actions in the same application. A heuristic can be useful for investigation without proving that a binary is malicious. Historical advisories also show why version discipline matters: 3 high-severity flaws affecting versions before 1.48.0 involved remote file deletion, secure-delete path substitution, and an elevated startup task. All list 1.48.0 as the patched version, well before v2.7.0, so they are reasons to update rather than claims that the latest release remains affected.
Four cloud permissions are reported on by default for fresh profiles
Issue 388 says fresh profiles enable remote power, cleanup, installs, and configuration controls. The concern is residual damage if a device API key is stolen, and pull request 381 proposes defaulting those 4 switches to off while preserving existing saved choices. Kudu's security design says cloud features are optional and the agent exposes no unauthenticated listener. Optional enrollment still changes a local cleaner into a remotely commanded elevated process, so opt-in defaults are the safer posture.
Linux privacy controls also need attention. Issue 382 says a CachyOS administrator could enable recommended Privacy Shield items but could not switch them off afterward. Pull request 387 proposes reversible Linux settings, while issue 383 describes an unexpected input-control prompt from the elevated tray path on the same distribution family. These are current reports, not proof that every Linux desktop is affected. They justify testing enable and undo paths before changing 30 or more advertised privacy settings.
September 2026 activity includes 19 issues and pull requests
GitHub recorded a push on September 5, 2026, the same day v2.7.0 was released, and showed 2,873 stars with 19 combined issues and pull requests. New fixes and reports continued on September 6, including work on remote defaults, Linux reversibility, tray behavior, and malware trust paths. That is healthy response activity, while the combined open count is not a count of confirmed defects.
The 0-vulnerability npm audit and 2,613 passing tests make Kudu easier to trial than many Electron utilities. Neither result settles the safety of a path rule or a heuristic scanner decision. Use the scan-only default, keep cloud commands disabled unless needed, confirm restore behavior, and remain on the latest release. If your requirement is only cache deletion or only antivirus scanning, BleachBit or ClamAV gives you a smaller security and operational surface.

