Skip to content

Releases: ALBDNDJ/hpcguard

HPCGuard v1.6.0 — Agent circuit breakers

Choose a tag to compare

@ALBDNDJ ALBDNDJ released this 11 Sep 08:44

This release extends account-scoped protection for autonomous research workflows on shared Slurm login nodes.

Highlights:

  • Detect common Python multiprocessing/process-pool fan-out and high-concurrency launchers.
  • Warn on single-process and aggregate RSS plus account-wide process count.
  • Back off identical failed commands and rate-limit wrapped sbatch attempts.
  • Fail closed on unclassified hosts with stable machine-oriented exit codes.
  • Strengthen AGENTS.md guidance and document the cooperative integration boundary.
  • Expand regression coverage to 73 tests.

Scope: validated against the project owner’s single shared Slurm environment; no cross-cluster compatibility claim is made.

HPCGuard v1.5.0 — Hardening release

Choose a tag to compare

@ALBDNDJ ALBDNDJ released this 11 Sep 04:03

This release hardens HPCGuard itself while keeping its account-scoped, zero-root model.

Safety hardening

  • Parse ~/.hpcguard/config.env as a strict allowlisted key-value file instead of executing it as shell code.
  • Secure configuration and watchdog state files with user ownership and restrictive permissions.
  • Add watchdog start locking and process identity checks using PID, command, user, and start time.
  • Make automatic termination opt-in, protect shells and scheduler/SSH processes, and prefer TERM before KILL.
  • Preserve existing VSCode settings by default and write a reviewable proposal instead of overwriting them.
  • Validate Slurm names, resource values, array ranges, and job identifiers.
  • Sanitize job-log tails and avoid whitespace-based path splitting.

Agent integration

  • Add hpcguard check --json -- <command> [args...] for machine-readable policy decisions.
  • Add hpcguard run -- <command> [args...] to preserve argument boundaries and avoid shell re-parsing.
  • Keep hpcguard exec "..." for compound shell syntax, with its shell-string boundary documented.
  • Detect common wrapper forms and Python filesystem traversal patterns.
  • Explicitly report unknown hostnames as unclassified instead of treating them as compute nodes.

Verification

  • 50 local regression assertions, including adversarial and non-destructive behavior tests.
  • Shell syntax check, ShellCheck, and regression tests pass in GitHub Actions.

HPCGuard remains a cooperative user-space guard and does not replace Slurm, cgroups, network controls, or administrator policy.

HPCGuard v1.4.1 — Safe SSH liveness probing

Choose a tag to compare

@ALBDNDJ ALBDNDJ released this 11 Sep 03:42

HPCGuard is an account-scoped safety layer for researchers and AI coding agents working on shared HPC systems without root access.

Highlights

  • Blocks high-frequency nc/ncat -z, /dev/tcp, and fresh-SSH liveness loops below the configurable safety interval.
  • Adds hpcguard probe <ssh-config-host> for checking an existing OpenSSH ControlMaster socket without opening a new SSH session or falling back to authentication.
  • Covers login-node command interception for Python, R/bioinformatics, and genomics workloads.
  • Includes Slurm array rate-limiting guidance, job-failure inspection, VSCode Remote safeguards, and an account-scoped watchdog.
  • Corrects login-node detection so unknown hostnames are not assumed to be login nodes.

Safety boundaries

HPCGuard operates only within the current user account. It does not replace administrator-enforced cgroups, scheduler policy, or network security controls. Automatic process termination remains opt-in.

Verification

  • Shell syntax validation
  • ShellCheck
  • 14 regression tests

All checks pass in GitHub Actions.

See the README for installation, anonymized incident patterns, and AI-agent integration guidance.