Persist a durable audit record for the bind probe skip override
- Dominant language
- TypeScript
- Stars
- 22.5k
- Forks
- 3.1k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 715
Description
## Problem
`NEMOCLAW_OLLAMA_PROXY_SKIP_BIND_PROBE=1` disables the auth proxy's loopback bind probe. The only trace is a `console.warn` in the proxy process (`scripts/ollama-auth-proxy.mts:292` to `299`), and the managed launch spawns the proxy with `stdio: "ignore"` (`src/lib/inference/local-adapter-lifecycle.ts:211`), so the warning is discarded. An incident investigator has no durable record that the security probe was skipped or which environment knob produced the skip.
## Suggested direction
Write an audit event to the proxy's state directory when the override is active, alongside the existing status file protocol, so the host CLI or an investigator can read it after the fact. The exact record shape and retention are a maintainer decision.
## Suggested acceptance
- Running the proxy with the override active leaves a durable, readable record naming the skip and the knob.
- The record survives the proxy process and is discoverable from the host side.
- A test covers the record's creation and its absence when the override is not set.
## Context
SECURITY.md documents the current limitation under "Operator override": the warning reaches only an operator who runs the proxy directly. Raised by independent review on PR #9836 (Refs #9730); deferred there because persistence is new behavior.
Contributor guide
Research direction
Read scripts/ollama-auth-proxy.mts around lines 292-299 and src/lib/inference/local-adapter-lifecycle.ts around line 211, then trace the existing status file protocol and proxy state directory. Confirm the maintainer-approved record shape and retention before implementing it. Done means tests cover creation with the override, absence without it, and host-side discovery after the proxy exits.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100