Skip to content

fix(ocsf): require network activity endpoints - #3355

Open
krishicks wants to merge 1 commit into
mainfrom
hicks/push-qtrrvwrrryvo
Open

krishicks wants to merge 1 commit into
mainfrom
hicks/push-qtrrvwrrryvo

Conversation

@krishicks

@krishicks krishicks commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

Previously, Network Activity could be constructed without a source or destination endpoint, allowing connection, accept, relay, configuration, and bypass-monitor events to violate the OCSF 1.8 endpoint constraint.

Now, NetworkActivityBuilder requires a source or destination endpoint at compile time. Connection failures retain the workload peer, and accept failures identify the listening endpoint. Malformed forward requests use HTTP Activity with a method-only request, generated 400 response, and workload peer.

Additionally, Unix relay-channel events use Base Event, policy-validation warnings use Config State Change, and bypass-monitor startup failures use Detection Finding rather than fabricated network endpoints.

Related Issue

#1055

Changes

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (if applicable)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

@github-actions

Copy link
Copy Markdown

@krishicks
krishicks force-pushed the hicks/push-qtrrvwrrryvo branch from b9ad685 to ad9c479 Compare September 15, 2026 20:28
@copy-pr-bot

copy-pr-bot Bot commented Sep 15, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@krishicks
krishicks force-pushed the hicks/push-qtrrvwrrryvo branch 4 times, most recently from 6476d30 to 7d5404f Compare September 16, 2026 16:23
@krishicks
krishicks enabled auto-merge September 16, 2026 17:06

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This module doesn't look like it's used anywhere anymore.

It got deleted here: https://github.com/NVIDIA/OpenShell/pull/2942/changes#diff-9f56559056bc6d68aded0ccb5b9aaf3894b500b76d103e26268392922cb21391, but I didn't if it got moved elsewhere or if this functionality got dropped.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed: removed the obsolete bypass monitor. It has no remaining call site under the RFC 0012 isolation architecture, so retaining it here would add dead code.

Comment thread crates/openshell-supervisor-network/src/proxy.rs Outdated
Comment thread crates/openshell-supervisor-network/src/proxy.rs Outdated
Previously, Network Activity could be constructed without a source or
destination endpoint, allowing connection, accept, relay, and configuration
events to violate the OCSF 1.8 endpoint constraint.

Now, NetworkActivityBuilder requires a source or destination endpoint at
compile time. Connection failures identify the workload peer or genuine
transparent destination, listener failures identify the listening endpoint,
and mediation-lane failures use Application Lifecycle rather than fabricated
network endpoints. Malformed forward requests use HTTP Activity with a
method-only request, generated 400 response, and workload peer.

Additionally, Unix relay-channel events use Base Event, policy-validation
warnings use Config State Change, and the unused bypass monitor is removed
because the current isolation architecture no longer uses it.

Signed-off-by: Kris Hicks <khicks@nvidia.com>
@krishicks
krishicks force-pushed the hicks/push-qtrrvwrrryvo branch from 7d5404f to ea8896d Compare September 16, 2026 18:39
Comment on lines +149 to +154
AppLifecycleBuilder::new(openshell_ocsf::ctx::ctx())
.activity(ActivityId::Fail)
.severity(SeverityId::Low)
.status(StatusId::Failure)
.message(message)
.build()

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may be better represented as base event. ActivityId::Fail (4) maps to Stop in application lifecycle event: https://schema.ocsf.io/1.8.0/classes/application_lifecycle?extensions=

But in this case the application keeps running.

The event below, causes a application shutdown, so that one looks good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants