Skip to content

Guest Agent

hypersdk edited this page Aug 7, 2026 · 1 revision

Guest Agent

In-guest agent (Linux + Windows path) over virtio-serial / QGA — same evidence schema and fix-plan format as offline assurance.

Deep docs: guest-agent.md · Protocol 1.3.

For the KubeVirt / Zeus packaged agent (zyvor-guest-agent), see Zeus VM Tools.

Build & run

cargo build --release --features agent --no-default-features \
  --target x86_64-unknown-linux-musl

# Inside guest
guestkit agent --channel virtio
# Dev without VM
guestkit agent --channel stdio

Host proxy

guestkit agent-proxy \
  --socket /var/lib/libvirt/qemu/channel/target/$VM/org.qemu.guest_agent.0 \
  --listen 127.0.0.1:8765

curl http://127.0.0.1:8765/doctor
guestkit agent-call --url http://127.0.0.1:8765 …

Offline inject

guestkit repair vm.qcow2 --fix boot --inject-agent \
  --agent-binary ./target/x86_64-unknown-linux-musl/release/guestkit

Windows: agent-inject --windows writes GuestKitAgent + virtio-serial driver into the SYSTEM hive (hivex / registry-write). Stock qemu-guest-agent is disabled so GuestKit owns the channel while remaining QGA-compatible for KubeVirt/libvirt.

Protocol

JSON-RPC 2.0, length-prefixed frames; also accepts stock QGA {"execute":…} on the same channel. Protocol 1.3 adds rich heartbeat, telemetry, security choke points, and live migration assist.

Passport live attestation

guestkit passport emit vm.qcow2 --target kvm -o p.json \
  --live-url http://127.0.0.1:8765

See Passport.

Assurance: Home · Cutover · Day-0 · Passport · Packages · Env

CLI: Commands · Interactive · Explore · TUI

Platform: Web · Zeus · KubeVirt · GCF · Agent

More: Demos · FAQ · Docs · Blog Posts

Clone this wiki locally