Repository navigation
Can the agent execution stack be governed independently of its own assertions? #3079
Replies: 2 comments 1 reply
|
I think the answer is yes, but only with a carefully defined trust boundary. OpenShell provides several enforcement mechanisms that an independent governance system can build upon. Those mechanisms should not, however, be confused with independent proof of the complete execution outcome. The distinction I would make is between policy enforcement, authorization evidence, and independently verified effects. 1. What OpenShell already providesAccording to the current [OpenShell security documentation](https://docs.nvidia.com/openshell/dev/security/best-practices), the runtime has enforcement surfaces at several layers:
These are valuable enforcement mechanisms. Importantly, they operate outside the model's ordinary reasoning process. However, an enforcement log establishes what a particular control observed or decided, not necessarily the final effect of an operation. For example, allowing an HTTPS request does not independently prove that the intended transaction committed, that its parameters remained unchanged, or that the receiving system applied the expected state transition. 2. Independent governance requires an external authority boundaryI would separate the architecture into: External authority → enforcement boundary → execution → independent evidence collection → reconciliation. The external authority should establish:
OpenShell can enforce relevant sandbox and network restrictions, but application-specific authorization may still require an additional gate at the tool or receiving-service boundary. Revocation must also account for already-dispatched or in-flight operations. Preventing future requests does not undo effects that have already committed. 3. Reconstructing the execution chainI would use separately identifiable evidence for five stages:
The evidence should distinguish Where appropriate, signed receipts, content-addressed artifacts, trusted timestamps, and append-only evidence storage can support later verification. However, a signed assertion from a compromised component remains an assertion from that component. Cryptographic integrity alone does not establish that its underlying observation was truthful. 4. Component replacement and trust independenceTo preserve the governing invariant as components change, define a technology-neutral evidence and enforcement contract. A replacement runtime should have to demonstrate that it preserves:
Hardware attestation or confidential execution can strengthen claims about the measured software and its environment, but they do not independently prove external business outcomes. 5. What I would testBefore claiming independent governance, I would run adversarial tests covering:
Each test should verify both the enforcement decision and the actual observed effects. ConclusionMy reading is that OpenShell can serve as a strong enforcement component in an independent governance architecture, but it should not be treated as the sole authority over whether an operation was correctly executed. For the maintainers, the specific interfaces I would be interested in are:
That would make it possible to evaluate OpenShell as one replaceable component in a larger, independently verifiable execution system without requiring OpenShell itself to solve end-to-end governance. |
|
Thanks for clarifying. I agree that the relevant question is not merely whether OpenShell enforces a sandbox policy, but what evidence an independent evaluator can obtain from OpenShell and reliably reconcile with the rest of an organization's operation. I reviewed NVIDIA's current OpenShell v0.1.7 observability and policy documentation. There are several concrete interfaces available, although their coverage and retention limits matter. 1. What OpenShell currently reportsOpenShell emits Open Cybersecurity Schema Framework (OCSF) v1.8.0 events covering network, HTTP, process, authentication, configuration, lifecycle, and security-finding activity. The documented event classes include:
For example, the documentation shows an allowed network event containing the executable, process ID, destination, policy rule, and enforcement engine. Middleware events can also indicate whether a request was transformed, using fields such as Important limitation: These records identify what the relevant enforcement component observed. They are not necessarily complete copies of the incoming and outgoing application payloads. A transformation flag does not independently establish the exact before-and-after content. A permitted connection or HTTP request also does not establish that the receiving system committed an intended operation. Documentation: [Sandbox Logging](https://docs.nvidia.com/openshell/latest/observability/logging) 2. Which policy was actually activeOpenShell exposes both policy inspection and revision information: openshell policy get my-sandbox --full
openshell policy list my-sandboxThe first returns the effective policy, including provider-composed rules. The second shows revisions and whether they were loaded by the sandbox. The logs also contain configuration events, including policy-load events with a policy hash and configuration-change events with revision information. A particularly important distinction in the documentation is that gateway acceptance of a new policy does not necessarily mean it became active. The sandbox must load the revision successfully. For historical evaluation, I would capture the effective policy artifact and its hash at the time of execution, together with the loaded revision and corresponding configuration events. I would not treat a later policy snapshot as proof of which rules governed an earlier request. Documentation: [Manage Sandbox Policies](https://docs.nvidia.com/openshell/latest/how-it-works/policies/manage-policies) 3. How an independent witness can collect the evidenceThere are several documented collection interfaces. Human-readable logs: openshell logs my-sandbox --source sandboxMachine-readable OCSF export: openshell settings set my-sandbox \
--key ocsf_json_enabled --value trueSupervisor-originated OCSF records can then be collected as JSON output or JSONL files through the supervisor's container/runtime logging interfaces. OpenShell also supports gateway-side OCSF JSONL collection and OTLP export to external collectors. A machine-readable record can include:
These provide useful reconciliation keys, but an event UID is not automatically an organizational operation ID. An independent collector should ingest these events outside the agent's control, preserve the original records, and bind the collected evidence to the applicable runtime and policy configuration. Documentation: [OCSF JSON Export](https://docs.nvidia.com/openshell/latest/observability/ocsf-json-export) 4. Connecting OpenShell evidence to authorization and external resultsI would use three evidence sources: Authorization system: Establishes who was authorized, the exact action, relevant policy and authority version, and any expiration or revocation constraints. OpenShell: Reports observed enforcement activity, policy decisions, configuration state, and relevant runtime events. Receiving system or independent observer: Establishes what was actually committed, rejected, changed, or left unresolved. For reliable reconciliation, the trusted application boundary should introduce an operation identifier and canonical action digest before dispatch. Those identifiers should be carried into the authorization evidence and, where supported, the downstream execution receipt. OpenShell's sandbox and event identifiers can then help associate relevant enforcement observations. However, I would not assume OpenShell automatically propagates an application-level authorization identifier into every event. That requires an explicit integration and a verified correlation path. This also means that an 5. What remains unobserved or potentially incompleteThis is an especially important limitation documented by NVIDIA. The gateway's recent-log buffer is bounded and nonpersistent. Events can be dropped under load or disconnection. The There is also a collection boundary between the supervisor and the workload:
The JSON/OTLP exporters are also best-effort. They have bounded queues, drop/error metrics, and some gap reporting, but they do not establish a lossless, cryptographically complete execution history. An external evaluator therefore needs to retain collection-health evidence and represent unresolved gaps explicitly. Documentation: [Accessing Logs and Loss Awareness](https://docs.nvidia.com/openshell/latest/observability/accessing-logs) 6. The organizational question remains separateYour example of an action duplicating work already completed elsewhere illustrates the distinction well. OpenShell might correctly permit an operation under its sandbox policy while the broader organization should reject it because:
Those questions require information that may be outside OpenShell's observation and policy scope. An independent organizational evaluator needs to reconcile authorization, current mission or task state, OpenShell enforcement evidence, and authoritative execution outcomes. ConclusionMy assessment is that OpenShell currently contributes useful, structured evidence about its enforcement boundary, but not a complete independently verifiable account of organizational action and outcome. It provides an important part of the evidence chain, not the entire chain. A useful next experiment would be a controlled state-changing operation with:
The resulting evidence package could establish precisely which assertions are supported by OpenShell, which are supported by external observers, and which remain indeterminate. That would be a valuable, reproducible basis for evaluating OpenShell's role in a larger independent governance system. I'd be particularly interested in whether the maintainers recommend an existing application-level correlation mechanism for linking an external authorization ID to OCSF enforcement records, beyond the documented sandbox/event identifiers and available tracing context. |
Uh oh!
There was an error while loading. Please reload this page.
Architectural question: Can the agent execution stack be governed independently of its own assertions?
I am an independent end user and operator working on a technology-neutral governance architecture for AI-mediated operations. I have been following NVIDIA’s work around agentic systems, including NemoClaw and OpenShell, and I would like to ask a fairly direct architectural question.
Can an external governing system sit above this stack without depending upon the governed components to certify their own correctness?
More specifically:
The larger reason for asking is this:
We are trying to determine whether this architecture supports independent governance of the complete AI-mediated execution environment, rather than governance that ultimately depends upon the governed stack’s own assertions.
I do not think AI or its agents can be adequately governed by evaluating individual controls in isolation.
Sandboxing may work correctly. Identity may work correctly. Policy enforcement may work correctly. The model may behave correctly. The operating system may work correctly. Audit logging may work correctly.
But none of those facts, individually, establishes that the resulting machine action was authorized and correctly executed.
At the system level, I believe we eventually have to be able to independently evaluate and reconcile:
what was authorized → what the system intended → what was dispatched → what actually occurred → what evidence remains afterward
That distinction becomes increasingly important as agentic systems span models, runtimes, operating systems, local and cloud resources, tools, external services, and physical or institutional effects.
I am not asking NVIDIA, the maintainers, or the community to validate our architecture. Nor am I suggesting that NemoClaw or OpenShell should themselves solve every part of this problem.
I am trying to understand something more fundamental:
Where does the boundary of their responsibility end, what evidence and control surfaces do they expose at that boundary, and can an independent governing architecture remain genuinely independent while the underlying AI execution stack changes?
I would appreciate technical correction if I have misunderstood the architecture. I would also be interested in pointers to existing interfaces, documentation, design decisions, or work already addressing these questions.
— Lawrence S. Jeffords
Independent End User / Operator
All reactions