[Security] Scope orphan cleanup to Local Studio-owned processes#247
Open
fettpl wants to merge 8 commits into
Open
[Security] Scope orphan cleanup to Local Studio-owned processes#247fettpl wants to merge 8 commits into
fettpl wants to merge 8 commits into
Conversation
Author
|
@0xSero PR #247 is now mergeable at independently approved exact head |
fettpl
marked this pull request as ready for review
July 18, 2026 04:59
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replace command-signature orphan cleanup with durable, fail-closed ownership proof. Local Studio records each native or Docker launch as a distinct generation and signals a process group or container only after revalidating that exact generation against live process identity.
Unrelated
VLLM::Workerprocesses, PID or PGID reuse, stale ownership state, unreadable inventory, and ownership races therefore cannot authorize TERM or KILL.Closes #228
Root cause
The prior cleanup path treated process shape as ownership: a PPID-1, non-zombie command containing
VLLM::Workercould be selected for cleanup. That evidence does not identify which controller launched a process and is unsafe on shared hosts, after PID reuse, or alongside independently managed vLLM deployments.Solution design
Durable launch ownership
Fail-closed live identity
Race-safe lifecycle
3cdd3a6402308c1d7a25816205cdedd7e73688f6and current main08bcba27f137f9c3d0206ea811d0aa7548a2dfa6.Acceptance criteria
Validation
1c0e7a11b5ae08dab3d08e5af9710aefce26c3fe; no P0/P1 blockers found.npm run check: passed, including contracts, repository structure, frontend quality/build, controller typechecks, lint, dead-code, duplication, dependency, and standards gates.git diff --checkand dependency ancestry checks passed; the tracked worktree was clean before publication.The repository does not define
npm --prefix frontend run testor rootnpm run test:integration; those unavailable commands are not represented as passing.UI changes
None. Frontend package and workflow files are present only through the exact #244 dependency.
Risks and rollout notes