Skip to content

feat(prover): check process, Landlock, and destination IP containment - #3394

Merged
johnnygreco merged 8 commits into
mainfrom
2109-prover-policy-fields/jg
Sep 18, 2026
Merged

johnnygreco merged 8 commits into
mainfrom
2109-prover-policy-fields/jg

Conversation

@johnnygreco

@johnnygreco johnnygreco commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

Extend and harden the standalone policy boundary checker for process identity, Landlock compatibility, and destination IP containment, while finalizing its unreleased result contract.

This ports commit d3b79032d3e1a2cc29a7b5a105e362439331bef5 onto the current standalone-prover branch and adapts it to the canonical policy schema and boundary terminology.

Related Issue

Relates to #2109.

Changes

  • Check supported run_as_user and run_as_group changes and Landlock compatibility changes
  • Model IPv4, IPv6, and CIDR destination restrictions alongside existing network authority
  • Include typed process, Landlock, filesystem, and network counterexamples, including destination IP and trusted-gateway evidence
  • Fail closed for overlapping exact and wildcard endpoints whose implicit destination modes differ
  • Apply cancellation and aggregate resource limits before supported-shape validation, with bounded indexed cross-protocol overlap validation
  • Preserve definitive expansion findings when another process identity change is unresolved
  • Expose an extensible reusable Rust API with constructor-based options and documented matching patterns
  • Keep schema_version and prover_version as result metadata, and use coverage.domains as the machine-readable modeled-policy-domain declaration
  • Reserve scope terminology for OpenShell's existing authorization, workspace, configuration, and rule-boundary concepts
  • Document coverage, assumptions, resource limits, output contracts, and unsupported cases

Testing

  • cargo test -p openshell-prover -p openshell-prover-cli
  • External-crate API construction and matching tests
  • Exact JSON and text result-contract tests
  • Resource-limit ordering and bounded overlap-index regressions
  • mise run pre-commit
  • mise run ci
  • E2E tests added/updated (not applicable: standalone checker and documentation only)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)

@copy-pr-bot

copy-pr-bot Bot commented Sep 16, 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.

@github-actions

Copy link
Copy Markdown

@johnnygreco

Copy link
Copy Markdown
Collaborator Author

/ok to test b854cf3

@johnnygreco
johnnygreco added this pull request to stack #3397 September 16, 2026 22:39
@johnnygreco
johnnygreco force-pushed the 2109-prover-policy-fields/jg branch from b854cf3 to 80b28ed Compare September 16, 2026 22:40
Base automatically changed from 2109-standalone-policy-prover/jg to main September 17, 2026 18:01
@johnnygreco
johnnygreco force-pushed the 2109-prover-policy-fields/jg branch from 80b28ed to 1bf000a Compare September 17, 2026 18:25
@johnnygreco

Copy link
Copy Markdown
Collaborator Author

/ok to test 1bf000a

@johnnygreco

Copy link
Copy Markdown
Collaborator Author

/ok

@johnnygreco

Copy link
Copy Markdown
Collaborator Author

/ok to test 20f27f2

@johnnygreco

Copy link
Copy Markdown
Collaborator Author

/ok to test 7b4e67c

@johnnygreco

Copy link
Copy Markdown
Collaborator Author

/ok to test 8fd494c

@johnnygreco
johnnygreco force-pushed the 2109-prover-policy-fields/jg branch from 8fd494c to cd712d9 Compare September 18, 2026 01:52
@johnnygreco

Copy link
Copy Markdown
Collaborator Author

/ok to test cd712d9

kirit93 and others added 8 commits September 18, 2026 10:14
Signed-off-by: Kirit93 <kthadaka@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
@johnnygreco
johnnygreco force-pushed the 2109-prover-policy-fields/jg branch from cd712d9 to ddee3d0 Compare September 18, 2026 14:14
@pimlock

pimlock commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

gator-agent

PR Review Status

This roadmap-backed policy-prover change is project-valid, and the initial code-only review found no blocking issues. The current head has passed every required check, so Gator’s implementation and pipeline review are complete.

Action required: A maintainer other than the author should review and either approve or request changes.

Blocking findings:

  • No blocking findings remain

Carried findings:

  • None

Non-blocking suggestions:

  • None
Gator metadata
  • Validation: Maintainer-authored work supports roadmap issue Enterprise permission modes with managed maximum policies #2109, and no competing implementation was found.
  • Docs: Updated in docs/reference/policy-prover.mdx; existing navigation remains applicable.
  • Checks: Branch Checks, Helm Lint, Trivy Changes, and DCO are green on the current head.
  • E2E: N/A — this changes the standalone prover and its documentation, not runtime sandbox behavior.
  • Head SHA: ddee3d03619506ce84d8244fb467f3b4ba48133c
  • Base SHA: c5a8c4d220c79185ed27df4494157ac5ca887837
  • Merge base SHA: c5a8c4d220c79185ed27df4494157ac5ca887837
  • Patch ID: ddae5086f7c4a13dc24de35cc38e7e4810f693f8
  • Gator payload: 9
  • Review mode: initial
  • Previous reviewed SHA: none
  • Review budget exhausted: no
  • Maintainer decision required: no — only the normal independent approval remains.
  • Next state: gator:approval-needed

@pimlock pimlock added the gator:approval-needed Gator completed review; maintainer approval needed label Sep 18, 2026
@pimlock pimlock added gator:merge-ready and removed gator:approval-needed Gator completed review; maintainer approval needed labels Sep 18, 2026
@johnnygreco
johnnygreco added this pull request to the merge queue Sep 18, 2026
@pimlock pimlock added gator:approval-needed Gator completed review; maintainer approval needed gator:merge-ready and removed gator:merge-ready gator:approval-needed Gator completed review; maintainer approval needed labels Sep 18, 2026
Merged via the queue into main with commit 5bce19a Sep 18, 2026
68 of 71 checks passed
@johnnygreco
johnnygreco deleted the 2109-prover-policy-fields/jg branch September 18, 2026 22:08
@pimlock

pimlock commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

gator-agent

Monitoring Complete

Monitoring is complete because this PR has merged.

Final status: The PR reached gator:merge-ready, received maintainer approval, and merged successfully.

I removed the active gator:* label because there is nothing left for gator to monitor on this PR.

Gator metadata
  • Head SHA: ddee3d03619506ce84d8244fb467f3b4ba48133c
  • Gator payload: 9
  • Final state: merged

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.

3 participants