Skip to content

feat: add Windows Task Scheduler support - #128

Merged
Mr-Lucky merged 2 commits into
mainfrom
feat/windows-task-scheduler
Sep 10, 2026
Merged

feat: add Windows Task Scheduler support#128
Mr-Lucky merged 2 commits into
mainfrom
feat/windows-task-scheduler

Conversation

@Mr-Lucky

Copy link
Copy Markdown
Contributor

Summary

Add native Windows Task Scheduler support for AgentGuard scheduled jobs.

  • Support scheduled threat-feed polling and security patrols on Windows.
  • Run tasks as the current user with least privilege.
  • Add safe task inspection, replacement, cleanup, and process ownership checks.
  • Integrate Windows scheduling with the CLI and DSH subscription workflow.
  • Update documentation and add unit and Windows integration coverage.

Type

  • Bug fix
  • New feature / detection rule
  • Refactoring
  • Documentation

Testing

  • npm run build passes
  • npm test passes (660 tests: 659 passed, 1 skipped)
  • Manually tested the change

Related Issues

Closes #

@Mr-Lucky
Mr-Lucky merged commit fffe995 into main Sep 10, 2026
4 checks passed
@github-actions

Copy link
Copy Markdown

AgentGuard PR Review

I found one actionable issue in the patch.

  1. severity: highsrc/cli.ts / runLocalHealthCheckup() and checkCredentialSafety() hunk
    • What can go wrong: The new patrol/checkup flow now scans and reads security-sensitive files under ~/.claude, ~/.codex, ~/.openclaw, ~/.qclaw, ~/.hermes, ~/.ssh, and ~/.gnupg using a broad recursive collector. This materially expands the amount of sensitive local data processed, but the patch only caps file size/total bytes and does not show any validation that prevents leaking file contents into findings/logs or that restricts traversal to intended directories. In particular, readPatrolFile() returns full UTF-8 content for any sub-512 KiB file, and the new “bounded security-relevant file contents” behavior can easily expose secrets if later checks include snippets in report output.
    • Concrete fix: Restrict file-content reads to a narrowly allowlisted set of security-relevant filenames/patterns, never read arbitrary files from these roots, and ensure any report/finding text is redacted/sanitized before emitting. Add tests that verify no full contents of .ssh, .gnupg, or agent workspace files are returned in JSON/CLI output.

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.

2 participants