Blender add-on: server hardening (opt-in session token, intent purge, bind guard) #1

Merged
libby merged 2 commits from libby/blender-server-hardening into main 2026-11-07 12:52:41 +00:00

2026-11-07

Libby
Blender add-on hardening: strip token before the store, bind enforcement, loaded-module display
- The guarded server removes sessionToken from put/delete messages before the store,
  which copies envelope fields into the shard log it serves.
- Copy Session Token operator.
- Panel shows cultmesh_py's loaded __file__, not the preference path.
- Unticking Allow Non-Loopback (and any refused start) stops a running non-loopback server.
- stop_server revokes, purges and clears state even if the socket stop raises.
- Tests: shard-log token leak on the real server, node half of the start purge, purge
  persisted across reopening the .ccmp, allow=True through start_server, finally-path.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 12:50:00 +00:00
Libby
Blender add-on: server hardening (opt-in session token, purge, bind guard)
- Optional per-session token (preference, default off): random secrets token at
  Start Server, shown in the panel, required in the sessionToken envelope field on
  every document put and delete, revoked on Stop, never persisted.
- Always on: queued command intents (node records and debug command JSONs) are
  purged on server start and stop; the panel shows the bind address and the
  cultlib_py_src path; a non-loopback Serve Host is refused unless the
  Allow Non-Loopback Bind preference is ticked, with a panel warning while running.
- Tests without Blender, plus real cultmesh_py server tests when CULTLIB_PACKAGES is set.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 12:41:38 +00:00