Browser enrollment used osascript on every elevate. Ship a signed privileged helper installed at PKG time so probo:// can enroll over XPC with no second admin prompt. Add make install/uninstall/clean for local PKG test loops, and show alerts only on failure. Mirror the Go lint path for the macOS SPM package: Make targets, root configs, and a Linux CI job. Keep checks syntax-only so they do not need a macOS SDK. Format the existing sources so the new gates start clean. Signed-off-by: Ludovic Vielle <ludovic@probo.com>
3.1 KiB
3.1 KiB
Changelog
All notable changes to the probo-agent device posture agent will be
documented in this file.
Unreleased
Added
- macOS privileged helper (
com.probo.agent.helper) embedded inProbo Agent.appand installed by PKG postinstall for XPC-driven browser enrollment (no SMJobBless / admin prompt on enroll). - Hidden
probo-agent enroll-url --preflightJSON output for the URL handler. make -C cmd/probo-agent install|uninstall|cleanfor local macOS PKG test loops (install tears down leftovers first).
Changed
- Browser enrollment via
Probo Agent.appuses HelperClient + XPC only (osascript elevation and enroll-time SMJobBless removed). - macOS PKG / app builds require
CODESIGN_IDENTITYandAPPLE_TEAM_ID. - CLI
enroll-urlon macOS refuses elevation; use the signed app deeplink orsudo probo-agent install. - macOS
probo-agent uninstallrequires root (sudo). - PKG preinstall removes stale privileged helper files on upgrade; postinstall reinstalls the helper as root.
[0.1.1] - 2026-06-11
Changed
- Support email updated to hello@probo.com
[0.1.0] - 2026-05-26
Added
- Initial release of the Probo device posture agent.
probo-agent install,uninstall,run,status,collectCLI commands.- Managed OS service installation for macOS (
launchd), Linux (systemd), FreeBSD (rc.d), and Windows (Service Control Manager). - v1 posture check set per OS: disk encryption, screen lock, firewall, time sync, OS version, auto update, password policy, remote login.
- Enrollment / heartbeat / posture reporting against the new
/api/agent/v1Probo REST API. - Auto-update: the agent periodically checks GitHub Releases for a
newer
probo-agent/v*tag and self-installs it. The running binary is swapped atomically and the OS service supervisor is asked to restart via a dedicated exit code (75). - Cosign signature verification of every release before installation:
checksums.txt.bundleis verified withsigstore-goagainst the Sigstore public-good trust root, pinned to the GitHub Actions OIDC identity forrelease-probo-agent.yamlon a tagged commit. Releases without a Sigstore bundle, with an invalid bundle, or signed by a different workflow are rejected without touching the running binary. probo-agent update [--check]command for manual one-shot upgrade.probo-agent install --no-auto-updateflag to opt out of automatic upgrades; the flag is persisted inconfig.jsonasupdates_disabled.probo-agent statusnow reports the configured update interval and whether auto-update is enabled.- Screen lock detection for additional Linux desktop environments: KDE Plasma, i3, Sway, Hyprland, Xfce, MATE, Cinnamon, UKUI, and LightDM.
Fixed
- macOS launchd service label corrected to
com.probo.agent. - FreeBSD check command failures are now handled before reading service status.
- macOS postinstall script no longer uses
evalto parse configuration. - Windows agent key file replacement is now performed atomically.
- Windows service uninstall is now idempotent.
- FreeBSD
rc.dinstall validates executable and state directory paths to prevent shell injection.