Skip to content

fix(net): --no-net actually air-gaps the guest#647

Merged
toksdotdev merged 4 commits intomainfrom
fix/no-net-air-gap
May 1, 2026
Merged

fix(net): --no-net actually air-gaps the guest#647
toksdotdev merged 4 commits intomainfrom
fix/no-net-air-gap

Conversation

@toksdotdev
Copy link
Copy Markdown
Member

@toksdotdev toksdotdev commented Apr 30, 2026

problem

--no-net was not actually air-gapping the guest. with no virtio-net attached, libkrun silently bridged the guest's tcp/udp sockets to the host, so traffic still reached the network even though ip a showed only lo.

fixes #645.

fix

bumped msb_krun to a libkrun fork that flips the default: guests with no virtio-net are air-gapped, and the host-bridge fallback is opt-in.


View in Codesmith
Need help on this PR? Tag @codesmith with what you need.

  • Let Codesmith autofix CI failures and bot reviews

--no-net was not actually air-gapping the guest. with no virtio-net
attached, libkrun silently bridged the guest's tcp/udp sockets to the
host through a vsock fallback, so traffic still reached the network
even though `ip a` showed only `lo`.

bumped msb_krun to a libkrun fork that flips the default the other
way: guests with no virtio-net are air-gapped, and TSI is opt-in.

fixes #645
@toksdotdev toksdotdev requested a review from appcypher as a code owner April 30, 2026 19:12
@toksdotdev toksdotdev merged commit 51ff469 into main May 1, 2026
22 checks passed
@toksdotdev toksdotdev deleted the fix/no-net-air-gap branch May 1, 2026 14:09
appcypher added a commit that referenced this pull request May 3, 2026
## TL;DR
Bump every microsandbox crate, the node-ts and Python SDKs, the mcp
submodule, and the TypeScript example pins from 0.4.3 to 0.4.4 in
preparation for the next release.

## Description
- Workspace `Cargo.toml` and all internal `microsandbox-*` path-dep
version pins moved to 0.4.4 (cli, microsandbox, runtime, network, image,
filesystem, agentd).
- node-ts SDK package version, three `npm/<target>/package.json`
binaries, `package-lock.json`, and the `native/index.cjs` version-check
guards updated to 0.4.4.
- Python SDK and node-ts SDK Cargo manifests bumped to depend on
`microsandbox 0.4.4` and `microsandbox-network 0.4.4`.
- mcp submodule pointer advanced to its own 0.4.4 bump (server
`version`, package `version`, and `microsandbox` dep).
- All 15 TypeScript example `package.json` files plus the three
checked-in `package-lock.json` files (init-handoff, logs-read,
shell-attach) bumped from 0.4.3 to 0.4.4.
- Cargo lockfiles regenerated for both the workspace and the standalone
`crates/agentd` workspace.

Changelog since v0.4.3:
- feat(agentd): hand off PID 1 to a guest init binary (#653)
- feat(snapshot): file-first disk snapshots across cli, rust, ts, python
(#652)
- feat(logs): exec.log capture, boot-error.json, typed ExecFailed (#650)
- fix(net): --no-net actually air-gaps the guest (#647)
- fix(node-sdk): ship libkrunfw under canonical name in npm platform
package (#648)

## Test Plan
- [x] `cargo build --workspace` exits 0
- [x] `cargo build` inside `crates/agentd` exits 0
- [x] `npm publish --dry-run` in `sdk/node-ts` reports
`microsandbox@0.4.4`
- [x] `npm publish --dry-run` in `mcp` reports `microsandbox-mcp@0.4.4`
- [x] `grep -r '"0\.4\.3"' .` returns no microsandbox-related hits
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

disabling networking doesn't seem to work

1 participant