Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
ea7718c
refactor(supervisor): add backend-neutral boundary primitives
drew Aug 26, 2026
7fe8526
fix(supervisor): harden boundary exec cleanup
drew Sep 1, 2026
f60224c
refactor(isolation): share executable identity resolution
drew Sep 1, 2026
bb3a536
feat(supervisor): honor backend host gateway routes
drew Sep 1, 2026
47edb26
fix(identity): keep non-Linux builds warning-free
drew Sep 3, 2026
dc6af43
test(identity): gate procfs tests on Linux
drew Sep 3, 2026
9d9c4c6
fix(network): gate Linux-only proxy imports
drew Sep 3, 2026
fbdf3c9
fix(network): keep portable proxy stream import
drew Sep 3, 2026
865daed
test(process): use portable successful command
drew Sep 3, 2026
05f9f46
test(process): fix macOS exec cleanup fixture
drew Sep 3, 2026
21a7114
fix(identity): reject unstable procfs snapshots
drew Sep 3, 2026
2f4d0d1
fix(process): preserve managed child generations
drew Sep 3, 2026
734639a
feat(isolation): add capability-free Linux probes
drew Sep 4, 2026
25670ec
feat(isolation): protect same-uid sandbox workers
drew Sep 4, 2026
eb3ad63
fix(isolation): support musl seccomp ioctls
drew Sep 4, 2026
a59e4cc
fix(isolation): block broad child signaling
drew Sep 4, 2026
42138bd
feat(isolation): add one-listener workload launcher
drew Sep 4, 2026
5a4cd62
fix(isolation): preserve final child filter install
drew Sep 5, 2026
8e95cd7
fix(isolation): preserve safe child creation
drew Sep 5, 2026
b75c147
fix(isolation): preserve pidfd launcher fallback
drew Sep 5, 2026
f82e191
chore(stack): merge UDP mediation contract
drew Sep 7, 2026
e4cc065
feat(isolation): classify mediated UDP descriptors
drew Sep 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ These pipelines connect skills into end-to-end workflows. Individual skill files
| `crates/openshell-conformance-cli/` | Conformance CLI | Distributable `list` and `run` entrypoint for gateway conformance |
| `crates/openshell-server/` | Gateway server | Control-plane API, sandbox lifecycle, auth boundary |
| `crates/openshell-sandbox/` | Sandbox runtime | Container supervision, policy-enforced egress routing |
| `crates/openshell-binary-identity/` | Binary identity | Shared trusted procfs executable identity resolution for isolation backends |
| `crates/openshell-isolation-interface/` | Isolation backend interface | RFC 0012 `IsolationBackend` trait + types; the supervisor-facing runtime contract for the boundary |
| `crates/openshell-policy/` | Policy engine | Filesystem, network, process, and inference constraints |
| `crates/openshell-router/` | Privacy router | Privacy-aware LLM routing |
Expand Down
15 changes: 15 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions crates/openshell-binary-identity/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

[package]
name = "openshell-binary-identity"
description = "Trusted executable identity resolution for OpenShell isolation backends"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true

[dependencies]
openshell-isolation-interface = { path = "../openshell-isolation-interface" }
sha2 = { workspace = true }

[lints]
workspace = true
17 changes: 17 additions & 0 deletions crates/openshell-binary-identity/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Binary identity

`openshell-binary-identity` provides shared executable-identity resolution for
RFC 0012 isolation backends. Runtime-specific observers remain in their backend:
Docker obtains an authoritative thread ID from seccomp notification, while the
co-located Linux path maps an accepted socket to its owning processes.

Given an authoritative Linux PID and an optional trusted process-tree root, the
crate reads the executable path from procfs, hashes the live `/proc/<pid>/exe`
object, and collects bounded executable ancestry and diagnostic command-line
paths. Resolution failures are returned as `ResolveError` so the caller can
deny the associated connection.

The crate does not intercept connections, authenticate remote observers, or
evaluate policy. The isolation backend remains responsible for binding the
resolved identity to the active boundary and exact accepted connection before
constructing `MediatedConnection`.
Loading
Loading