Skip to content

test: add real OpenShell v0.1.7 OCSF 1.8.0 log fixtures - #73

Merged
ilanh merged 1 commit into
mainfrom
test/70-ocsf-1.8.0-fixtures
Nov 9, 2026
Merged

ilanh merged 1 commit into
mainfrom
test/70-ocsf-1.8.0-fixtures

Conversation

@ilanh

@ilanh ilanh commented Nov 9, 2026 •

Copy link
Copy Markdown
Owner

Closes #70

Rebased onto main after #71 and #72 merged. The golden note now says OpenShell 0.1.7.

Adds a log fixture captured from a real OpenShell v0.1.7 sandbox: the playground image and policy, with ocsf_json_enabled=true.

  • tests/fixtures/logs/ocsf-1.8.0.jsonl: 17 native OCSF 1.8.0 records (metadata.version is 1.8.0 on every line):
    • 4001 Open, allowed and denied
    • two 4001 Refuse records with policy_dns_ineligible
    • 4002 L7 allow and deny
    • one record each of 0 (relay open/close), 4007 (SSH) and 5019 (policy DNS mapped/staged), which diff-logs ignores
  • Scrubbed:
    • Device hostname → sandbox.
    • Container → fixture with an all-zero UUID.
    • metadata.uid, SSH channel ids and DNS mapping ids → fixed fake UUIDs.
    • Real resolved IPs → 203.0.113.x (TEST-NET-3).
    • The 198.18.x synthetic IPs, the proxy loopback address and the public test hostnames are unchanged.
    • Timestamps rebased.
    • No usernames or tokens.
  • tests/fixtures/ocsf-1.8.0-app/: a minimal annotated app that matches the captured run.
  • tests/cli.rs diff_logs_reads_openshell_0_1_7_ocsf_1_8_0_records:
    • Checks 10 events: 3 denied, 7 allowed.
    • Expects missing_egress for example.com (curl) and pypi.org (python3.12), and l7_allow for httpbin.org POST /post.
    • Expects no manual items.
    • Adds the plain human golden tests/golden/diff_logs_ocsf_1_8_0_plain.txt.

Filesystem denials (two in the run) were not logged at all, which matches NVIDIA/OpenShell#4270 (still open).

Ran locally: fmt, clippy -D warnings, cargo test --locked, --test gateway_policies and gen-docs.sh --check all pass.

@ilanh
ilanh changed the base branch from fix/69-diff-logs-dns-refuse to main November 9, 2026 07:35
tests/fixtures/logs/ocsf-1.8.0.jsonl holds 17 supervisor records captured from an OpenShell v0.1.7 sandbox: classes 0, 4001 (Open allowed/denied and two policy-DNS Refuse records), 4002 (L7 allow/deny), 4007 and 5019. Device, container and record identifiers are scrubbed, and real resolved IPs are replaced with 203.0.113.x. tests/fixtures/ocsf-1.8.0-app mirrors the annotated app the records came from. The new CLI test checks the JSON counts and suggestions and adds a plain human golden.

Closes #70

Signed-off-by: Ilan Harel <ilan@Ilans-MacBook-Pro.local>
@ilanh
ilanh force-pushed the test/70-ocsf-1.8.0-fixtures branch from 604e8d1 to ec1597d Compare November 9, 2026 07:41
@ilanh
ilanh merged commit 8fff5f4 into main Nov 9, 2026
2 checks passed
@ilanh
ilanh deleted the test/70-ocsf-1.8.0-fixtures branch November 9, 2026 07:45
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.

test: add real OpenShell v0.1.7 OCSF 1.8.0 log fixtures

1 participant