Commit Graph

391 Commits

Author SHA1 Message Date
714fd5715c chore: bump guru-connect submodule (clippy warn-only)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 08:38:28 -07:00
633f98ea49 chore: bump guru-connect submodule (CI: linux target for build-server)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 08:10:37 -07:00
8bbd90f8f8 sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-29 08:04:46
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-29 08:04:46
2026-05-29 08:04:49 -07:00
35f3713f78 chore: bump guru-connect submodule (cargo fmt --all cleanup)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 08:03:51 -07:00
593f4549f5 sync: auto-sync from Mikes-MacBook-Air.local at 2026-05-29 07:33:01
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-05-29 07:33:01
2026-05-29 07:33:02 -07:00
a00247bc74 chore: convert guru-connect to submodule; integrate ADR-008 + 2026-05-29 session log
guru-connect is now tracked as a submodule (azcomputerguru/guru-connect @ e3e95f8);
its working state was published to the GC repo first, so no content is lost. guru-rmm
advanced to include ADR-008 (GC integration boundary) replayed on top of the team's
Integrations Center / discovery advances. Includes the native-remote-control spec
(now inside the GC submodule), the versionable-products memory, and the session log.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 06:36:54 -07:00
1b40e07890 chore(submodule): advance guru-rmm — integration consolidation (MAJOR) 2026-05-28 20:29:21 -07:00
285570b950 chore(submodule): advance guru-rmm — Integrations Center design principle 2026-05-28 20:15:09 -07:00
40c47ad23e chore(submodule): advance guru-rmm — Integrations Center UI spec (P1) 2026-05-28 20:01:04 -07:00
00ed603325 chore(submodule): advance guru-rmm — SNMP discovery enhancement spec (P2) 2026-05-28 19:53:51 -07:00
c62b3c0626 sync: auto-sync from HOWARD-HOME at 2026-05-28 17:43:22
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-28 17:43:22
2026-05-28 17:43:29 -07:00
b378ecdc58 chore(submodule): advance guru-rmm — ICMP ping fallback in discovery 2026-05-28 17:43:29 -07:00
403d0d5c13 chore(submodule): advance guru-rmm — discovery scan timeout fix 2026-05-28 17:43:29 -07:00
92d364e2c8 chore: update guru-rmm submodule (SPEC-016 sync frequency resolved)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 16:08:17 -07:00
48514671dc chore: update guru-rmm submodule (SPEC-016 open questions resolved)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 16:04:01 -07:00
b3fe2d590c chore: update guru-rmm submodule (SPEC-016 VSS shadow copy management)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 15:33:59 -07:00
7c380e2f9c chore: update guru-rmm submodule (SPEC-015 Safe Mode registration)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 14:41:35 -07:00
4a4037346a sync: auto-sync from GURU-BEAST-ROG at 2026-05-28 10:46:43
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-05-28 10:46:43
2026-05-28 10:46:50 -07:00
8750fa9872 chore(submodule): advance guru-rmm — SPEC-014 Windows event log viewer implemented 2026-05-28 10:31:25 -07:00
ba2e16d891 chore(submodule): advance guru-rmm — Agents sidebar nav link 2026-05-28 10:08:08 -07:00
c416d79361 chore(submodule): advance guru-rmm — SPEC-013 file browser + SPEC-014 event log viewer 2026-05-28 09:58:24 -07:00
243aa587f5 chore(gururmm): advance submodule to SPEC-012 (sortable table headers) 2026-05-28 09:32:37 -07:00
9f27703d22 sync: auto-sync from HOWARD-HOME at 2026-05-28 08:56:05
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-28 08:56:05
2026-05-28 08:56:13 -07:00
b0695ab3a0 sync: auto-sync from GURU-5070 at 2026-05-28 07:46:44
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-28 07:46:44
2026-05-28 07:46:49 -07:00
535771f36e chore(gururmm): bump submodule to 4e4af5a (dashboard build fixes + deployment)
Dashboard TypeScript build errors resolved and deployed to production:
- Added missing useSearch hook
- Added __APP_VERSION__ type declaration
- Cleaned up unused imports
- Removed non-existent field filter

Deployed to rmm.azcomputerguru.com with enhanced log analysis UI.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-28 07:13:44 -07:00
5c1577f63e chore(gururmm): bump submodule to d522c14 (log analysis UI enhancements)
Dashboard log analysis UI now includes:
- Sentry-style deduplication with prominent count badges
- Per-machine context with expandable affected agents list
- Platform bug filing (live, posts to coordination API)
- PSA ticket creation button (stubbed pending backend)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-28 07:08:21 -07:00
01af9314e4 sync: auto-sync from GURU-KALI at 2026-05-27 19:57:16
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-27 19:57:16
2026-05-27 19:57:18 -07:00
6902645769 chore(submodule): advance guru-rmm — LHM removed from agent install 2026-05-27 19:51:12 -07:00
47d6519220 chore: update guru-rmm submodule (SPEC-011 ARP registration fix)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 17:22:24 -07:00
9e06c0bb27 chore: update guru-rmm submodule (SPEC-010 agent UX improvements)
Picks up SPEC-010 — 2 bugs + 4 features from Howard Enos (2026-05-27).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 16:08:16 -07:00
04684e816b sync: auto-sync from HOWARD-HOME at 2026-05-27 15:38:18
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-27 15:38:18
2026-05-27 15:38:24 -07:00
f94c0dfbe1 sync: auto-sync from HOWARD-HOME at 2026-05-27 11:24:44
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-27 11:24:44
2026-05-27 11:25:34 -07:00
72d98d2abd sync: auto-sync from HOWARD-HOME at 2026-05-27 09:46:32
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-27 09:46:32
2026-05-27 09:46:41 -07:00
8edd26cb41 sync: auto-sync from GURU-5070 at 2026-05-27 08:37:07
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-27 08:37:07
2026-05-27 08:37:12 -07:00
9e2abd571c sync: auto-sync from HOWARD-HOME at 2026-05-27 08:17:59
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-27 08:17:59
2026-05-27 08:18:07 -07:00
5c89374937 sync: auto-sync from HOWARD-HOME at 2026-05-27 07:26:24
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-27 07:26:24
2026-05-27 07:26:30 -07:00
d5a352e43d sync: auto-sync from HOWARD-HOME at 2026-05-27 06:58:33
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-27 06:58:33
2026-05-27 06:58:39 -07:00
47517e93bf docs: update GuruScan README and module comments for current state
- README: remove AdwCleaner from scanner chain and exit code/licensing
  tables; add AdwCleaner note explaining why it is temporarily excluded;
  fix Headless description (WindowStyle=Hidden, not NoNewWindow); add
  GuruRMM integration section with example JSON output structure
- GuruScan.psm1: fix Headless param docstring; update whitelist comment
  (Emsisoft + HitmanPro only); remove C:\AdwCleaner from Defender
  exclusion list; fix Invoke-Remediation example (-Scanners Emsisoft,MSERT)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 06:55:38 -07:00
d5614ce558 chore: remove AdwCleaner from scanner chain
AdwCleaner requires both elevated privileges and an interactive desktop
session simultaneously -- SYSTEM context is elevated but Session 0 (no
desktop), user_session has a desktop but a non-elevated WTS token.
Removing for now; will re-add with schtasks InteractiveToken dispatch
when that mechanism is implemented.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 06:52:25 -07:00
98f875131e fix: use WindowStyle=Hidden instead of NoNewWindow in headless scanner dispatch
NoNewWindow caused scanner processes to inherit PowerShell's stdout/stderr
pipe handles from the GuruRMM agent. If any scanner hung in Session 0
(e.g. AdwCleaner GUI init), it held the pipe open after PowerShell exited,
blocking the GuruRMM command for hours until the server-side reaper fired.

WindowStyle=Hidden gives each scanner its own window/console so pipe
handles are not inherited. Scanner processes that timeout are still killed
by Wait-ProcessWithTimeout; the overall scan completes normally.

Verified: full pipeline completes in ~7.5 min on RMM-TEST-MACHINE with
EICAR detection, GURUSCAN_RESULT_JSON emitted correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 06:52:25 -07:00
87ac008b06 sync: auto-sync from GURU-5070 at 2026-05-27 06:45:16
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-27 06:45:16
2026-05-27 06:45:19 -07:00
dad9a68a0a sync: auto-sync from HOWARD-HOME at 2026-05-27 00:31:32
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-27 00:31:32
2026-05-27 00:31:45 -07:00
bad034cd15 fix(guru-scan): remove /quiet from HitmanPro -- UI allowed to show during scans
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 00:22:19 -07:00
40e090c95a feat(guru-scan): fix exit code capture, add GURUSCAN_RESULT_JSON reporting, pre-scan hardening
Exit code fix: add $proc.Handle caching after Start-Process -PassThru to prevent
the handle from being released before ExitCode is readable (known PS5.1 bug).

GuruRMM reporting: launcher now finds results.json after each scan and emits
GURUSCAN_RESULT_JSON:<compressed> to stdout. Agent CommandResult captures it;
server stores it in commands.stdout for retrieval via GET /api/commands/:id.

Pre-scan hardening:
- Pre-flight EXE check: warns about missing scanner binaries before run starts
- Windows Defender exclusions added for scanner/log paths before scan, removed after

AdwCleaner: add /path {LOG_ROOT} arg so logs write directly to scan log root;
update log_src to {LOG_ROOT}\Logs to match.

HitmanPro: add /quiet to scan and clean args to suppress GUI in headless runs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 00:13:16 -07:00
a8ee927db0 sync: auto-sync from HOWARD-HOME at 2026-05-26 22:05:31
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-26 22:05:31
2026-05-26 22:05:38 -07:00
f844054847 sync: auto-sync from HOWARD-HOME at 2026-05-26 21:58:00
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-26 21:58:00
2026-05-26 21:58:09 -07:00
7513f21e00 sync: auto-sync from GURU-5070 at 2026-05-26 18:16:28
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-26 18:16:28
2026-05-26 18:16:32 -07:00
28e9ecd650 sync: auto-sync from GURU-5070 at 2026-05-26 17:15:21
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-26 17:15:21
2026-05-26 17:15:27 -07:00
64374e3ecb sync: auto-sync from HOWARD-HOME at 2026-05-26 12:40:52
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-26 12:40:52
2026-05-26 12:40:56 -07:00
3a0c83dd42 feat: add GuruScan standalone multi-scanner security suite
Adds a complete PowerShell-based malware scanning toolkit:

- Invoke-GuruScan.ps1: main orchestrator running RKill, AdwCleaner,
  Emsisoft, HitmanPro, and ESET in sequence with pre/post cleanup,
  whitelist support, ForceRemove blacklist, and -Headless switch
- Invoke-PostRebootCleanup.ps1: post-reboot temp-user session that
  shows a fullscreen splash, verifies boot-time cleanup completed,
  removes scanner files, and restores the original user login name
- Download-Scanners.ps1: downloads/refreshes scanner EXEs
- Get-ScanSummary.ps1: parses results.json with optional Ollama AI analysis
- Invoke-Remediation.ps1: re-runs scanners in clean mode

Key features: exit-code-based reboot detection, whoami-based user
capture (SYSTEM-safe via quser fallback), domain\user and local
MACHINE\user restore on login screen after cleanup reboot.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 12:40:56 -07:00