Drew Newberry and Piotr Mlocek
8b77925eb7
feat(installer): support prerelease installations ( #3364 )
...
* feat(installer): support prerelease installations
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* docs(readme): clarify 0.1.0 production readiness
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* docs(readme): refine production readiness message
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* fix(release): publish rolling prerelease channels
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* fix(release): keep prereleases out of GitHub releases
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* docs(readme): refine 0.1.0 notice
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* docs(readme): expand 0.1.0 notice
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* docs(readme): simplify 0.1.0 notice
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* refactor(installer): simplify prerelease alias
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* fix(installer): require successful prerelease runs
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* refactor(release): reuse exact prerelease artifacts
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* fix(installer): include prover in prerelease bundle
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* ci: remove prerelease post-publish validation
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* docs(fern): sync announcement configuration
Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com >
* docs: remove stale prerelease canary claim
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* docs(fern): defer announcement synchronization
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* docs(fern): simplify release announcement
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
---------
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com >
Co-authored-by: Piotr Mlocek <pmlocek@nvidia.com >
2026-09-18 00:53:36 +00:00
Johnny Greco
58b5f8f976
feat(prover): add standalone policy boundary checker ( #3289 )
...
* feat(prover): add standalone policy maximum checker
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* refactor(prover): simplify check scope schema
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(prover): align containment and cancellation with runtime
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(prover): stabilize containment checks in CI
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* test(prover): avoid solver in fast-path guard test
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(prover): align string containment with runtime
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(prover): reject ambiguous z3 string escapes
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(prover): align containment with runtime boundaries
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(prover-cli): harden cancellation and invalid input
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* feat(packaging): install policy prover with OpenShell
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* docs(prover): clarify installation and check results
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* docs(build): describe prover distribution directly
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* refactor(prover): rename maximum policy to boundary
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* refactor(prover): localize fail-closed validation
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* test(prover): cover fail-closed CLI surfaces
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* test(prover): allow CI load for REST solver proof
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(prover): use canonical policy schema for containment
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(prover): preserve uncertainty for runtime binary globs
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(prover): bound policy validation work
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* docs(prover): document validation resource limits
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(prover): make containment API extensible
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* docs(prover): define containment API contract
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(ci): integrate prover with consolidated builds
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
* fix(ci): declare release packaging dependency
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
---------
Signed-off-by: Johnny Greco <jogreco@nvidia.com >
2026-09-17 17:30:03 +00:00
Drew Newberry
f12f3ef8d5
fix(macos): restore Homebrew sandbox callbacks ( #2739 )
...
* fix(macos): restore Docker gateway callbacks
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* fix(gateway): reuse reachable primary callback listener
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
---------
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
2026-08-14 18:38:20 +00:00
Evan Lezar and Drew Newberry
d220d89468
feat(compute): negotiate gateway callback listeners ( #2492 )
...
* feat(compute): query gateway listener requirements
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* feat(compute): add Podman listener requirements
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* test(docker): use default gateway bind address
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* fix(gateway): avoid wildcard primary listener
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* fix(podman): validate callback listener discovery
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* fix(server): support split dual-stack listeners
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* fix(podman): support legacy rootless listener discovery
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* test(e2e): accept loopback plaintext rejection
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* docs(agent): add callback listener diagnostics
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* fix(server): restrict compute callback listeners
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* fix(podman): validate local callback port
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* test(server): clarify callback listener contract
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* fix(podman): require pasta for local callbacks
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* docs(gateway): document RPM listener default
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* refactor(server): keep listener provenance diagnostic-only
Signed-off-by: Evan Lezar <elezar@nvidia.com >
* fix(compute): preserve callback listener isolation
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* test(e2e): remove Podman callback relay
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* fix(packaging): preserve Podman callback loopback
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* ci(e2e): run VM smoke on nested-virt runner
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* ci(e2e): gate VM smoke on usable KVM
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* ci(e2e): probe KVM through VM driver
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* ci(e2e): tolerate hosted KVM denial
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* test(server): close traced futures before assertions
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
* revert: remove tracing test stabilization
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
---------
Signed-off-by: Evan Lezar <elezar@nvidia.com >
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
Co-authored-by: Drew Newberry <anewberry@nvidia.com >
2026-07-31 16:41:06 +00:00
Piotr Mlocek
82d03f1c98
fix(linux): lower host glibc floor to 2.28 to support RHEL/Rocky 8 ( #1934 )
2026-06-22 14:09:26 -07:00
Piotr Mlocek
0dc08a185e
fix(release): build host Linux binaries with glibc floor ( #1490 )
2026-05-22 12:12:03 -07:00
Drew Newberry
f58a434a95
fix(installer): dump gateway logs on startup timeout ( #1396 )
...
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
2026-05-14 21:15:03 -07:00
Drew Newberry
072f227248
fix(installer): guard incompatible v0.0.37 upgrades ( #1294 )
2026-05-09 11:10:57 -07:00
Drew Newberry
529be37fd4
chore(installer): promote package install script ( #1261 )
2026-05-08 17:04:15 -07:00
John T. Myers and John Myers
eea495e6b9
fix: remediate 9 security findings from external audit (OS-15 through OS-23) ( #744 )
...
* fix(install): restrict tar extraction to expected binary member
Prevents CWE-22 path traversal by extracting only the expected APP_NAME
member instead of the full archive contents. Adds --no-same-owner and
--no-same-permissions for defense-in-depth.
OS-20
* fix(deploy): quote registry credentials in YAML heredocs
Wraps username/password values with a yaml_quote helper to prevent YAML
injection from special characters in registry credentials (CWE-94).
Applied to all three heredoc blocks that emit registries.yaml auth.
OS-23
* fix(server): redact session token in SSH tunnel rate-limit log
Logs only the last 4 characters of bearer tokens to prevent credential
exposure in log aggregation systems (CWE-532).
OS-18
* fix(server): escape gateway_display in auth connect page
Applies html_escape() to the Host/X-Forwarded-Host header value before
rendering it into the HTML template, preventing HTML injection (CWE-79).
OS-17
* fix(server): prevent XSS via code param with validation and proper JS escaping
Adds server-side validation rejecting confirmation codes that do not
match the CLI-generated format, replaces manual JS string escaping with
serde_json serialization (handling U+2028/U+2029 line terminators), and
adds a Content-Security-Policy header with nonce-based script-src.
OS-16
* fix(sandbox): add byte cap and idle timeout to streaming inference relay
Prevents resource exhaustion from upstream inference endpoints that stream
indefinitely or hold connections open. Adds a 32 MiB total body limit
and 30-second per-chunk idle timeout (CWE-400).
OS-21
* fix(policy): narrow port field from u32 to u16 to reject invalid values
Prevents meaningless port values >65535 from being accepted in policy
YAML definitions. The proto field remains uint32 (protobuf has no u16)
with validation at the conversion boundary.
OS-22
* fix(deps): migrate from archived serde_yaml to serde_yml
Replaces serde_yaml 0.9 (archived, RUSTSEC-2024-0320) with serde_yml
0.0.12, a maintained API-compatible fork. All import sites updated
across openshell-policy, openshell-sandbox, and openshell-router.
OS-19
* fix(server): re-validate sandbox-submitted security_notes and cap hit_count
The gateway now re-runs security heuristics on proposed policy chunks
instead of trusting sandbox-provided security_notes, validates host
wildcards, caps hit_count at 100, and clamps confidence to [0,1]. The
TUI approve-all path is updated to use ApproveAllDraftChunks RPC which
respects the security_notes filtering gate (CWE-284, confused deputy).
OS-15
* chore: apply cargo fmt and update Cargo.lock for serde_yml
---------
Co-authored-by: John Myers <johntmyers@users.noreply.github.com >
2026-04-02 20:32:59 -07:00
Drew Newberry
2a4cf91005
fix(install): make checksum verification mandatory and validate redirect origin ( #724 )
2026-04-01 13:34:12 -07:00
Drew Newberry
dcd991275c
fix(ci): use published install script in release workflows ( #416 )
2026-03-17 21:09:26 -07:00
Drew Newberry
cf66d05c25
fix(installer): remove duplicate app name in install output ( #408 )
...
Signed-off-by: Drew Newberry <anewberry@nvidia.com >
2026-03-17 14:35:27 -07:00
Drew Newberry
925160e848
refactor: simplify install.sh to print PATH guidance ( #403 )
2026-03-17 12:22:25 -07:00
Drew Newberry
079c8f8d51
chore: pre-release readiness ( #313 )
2026-03-16 06:27:27 -07:00
Drew Newberry
6b9ac05bab
fix(install): use gh CLI for release downloads instead of HTTP ( #285 )
2026-03-13 11:58:34 -07:00
Drew Newberry
984d1a6e5c
chore: rename project from NemoClaw to OpenShell ( #198 )
2026-03-10 11:49:09 -07:00
Drew Newberry
c077d1e9f2
ci: fix docs-build publish job and rename snapshot release to devel ( #121 )
2026-03-05 00:26:48 -08:00
Drew Newberry
4a78865b90
feat(ci): add CLI binary builds and snapshot release to publish workflow ( #110 )
2026-03-04 23:57:22 -08:00