Verify an agent release
Check the first agent copy against a release signed by Nimstead. You need a trusted existing verifier and the release files.
Updates have to be signed, but the first copy of the agent comes from your server, so a compromised server could hand new machines a modified one (machines already enrolled are unaffected). The install command prints the agent sha256 it installed. To be sure of a machine, compare it with the signed release:
- From the GitHub release your server runs, download
release.json,release.json.sigandnimstead_agent.py. - Check the signature with an agent you already trust:
python3 nimstead_agent.py verify-release release.json release.json.sigprints the manifest only if a pinned Nimstead release key signed it (key fingerprintsa91fa653…and backup2438f2cc…, also inRELEASE_KEYSat the top of the agent). - The manifest's
agent_sha256must equalsha256sum nimstead_agent.pyand theagent sha256the installer printed. On Windows, theruntime sha256it printed must equal the manifest'sruntimes.amd64.sha256(orarm64/win32). Or skip the installer: copy this verified file to/usr/local/lib/nimstead/yourself, then run itsenroll --server https://… --channel stable,reportandscheduleas root, withNIMSTEAD_TOKENset.
For complete fingerprints, see release keys. A successful signature check does not remove the need to protect the host and verifier.