Skip to content

feat(settings): add Windows kernel tools integration - #101

Draft
FreddyJD wants to merge 5 commits into
mainfrom
feat/kernel-tools-settings
Draft

FreddyJD wants to merge 5 commits into
mainfrom
feat/kernel-tools-settings

Conversation

@FreddyJD

Copy link
Copy Markdown
Collaborator

Summary

  • add an opt-in Windows Kernel Tools section to Settings
  • clone and build roxy-gg/kernel-tools at pinned revision 2f51a1d5981a553d7642db9c81d41a002f3c44e4
  • manage Windows test signing and the demand-start AIBridge driver through explicit UAC prompts
  • keep MCP agent access disabled until separately confirmed, with disable/uninstall controls
  • expose typed main/preload IPC contracts and localized warning/confirmation UI
  • install the driver and MCP bridge under %ProgramFiles%\Roxy\KernelTools and verify copied binaries by SHA-256

Safety

  • nothing installs, starts, or registers automatically
  • agent access requires a separate confirmation and an elevated Roxy process because the driver rejects unelevated clients
  • uninstall removes only matching Kernel Tools MCP registrations and can optionally disable test signing
  • the external checkout is detached at the pinned reviewed commit

Validation

  • npm run build
  • npm run typecheck
  • npm run smoke:kernel
  • npm run smoke:shared (1085 checks)
  • npm run smoke:i18n (18 checks)
  • desktop and confirmation-state visual inspection with the real component and production CSS
  • git diff --check

Local driver-build note

The desktop integration and production app build pass. A real external driver compile could not complete on this workstation because Visual Studio's WDK integration is missing:

error MSB8020: The build tools for WindowsKernelModeDriver10.0
(Platform Toolset = 'WindowsKernelModeDriver10.0') cannot be found.

The pinned dependency revision exists on kernel-tools/main and is titled fix: make kernel bridge buildable and constrained.

FreddyJD and others added 2 commits September 12, 2026 16:31
Add an explicit, pinned install flow for the external kernel driver and bridge, including UAC-scoped service management, test-signing controls, separate agent-access confirmation, typed IPC APIs, localized settings UI, and smoke coverage.

Co-authored-by: Roxy <299891354+roxy-commits@users.noreply.github.com>
Fail closed when the built driver is unsigned, restrict privileged IPC to the main frame, serialize mutations, and narrow supported service/platform handling.\n\nCo-authored-by: Roxy <299891354+roxy-commits@users.noreply.github.com>
@FreddyJD

Copy link
Copy Markdown
Collaborator Author

Security review status

Do not install this on a primary workstation yet. A source audit of the pinned kernel-tools revision found blocking issues in the external driver/bridge, including an unsigned driver build, kernel-crash risks in directory enumeration and fixed-size string handling, and unrestricted elevated operations over process memory, protected files, registry values, and process termination.

The desktop integration now fails closed before any UAC or test-signing change when the built driver lacks a valid embedded signature. The external driver still requires remediation and isolated-VM validation before this PR should be considered install-ready.

@FreddyJD
FreddyJD marked this pull request as draft September 13, 2026 01:12
FreddyJD and others added 3 commits September 14, 2026 06:02
Download and verify the published Kernel Tools package instead of requiring Git, Rust, Visual Studio, and the WDK on user machines. Harden elevated extraction, service ownership, certificate tracking, and x64-only installation.

Co-authored-by: Roxy <299891354+roxy-commits@users.noreply.github.com>
Co-authored-by: Roxy <299891354+roxy-commits@users.noreply.github.com>
Update Kernel Tools to v1.0.2 and require the pinned bridge executable hash before privileged installation.

Co-authored-by: Roxy <299891354+roxy-commits@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant