0
Files
src/sandbox
Alex Gough b3d641175d Avoid pseudo handles in sbox startup info helper
The std handles passed to child processes should be real
handles and not pseudo handles, so add checks and use
nullptr for uninitialized values.

Std handles are only inherited by sandboxed children in
developer builds so this should not affect production Chrome.

Bug: 406023316
Change-Id: Ida3e3effcc11a7547baa047cb587d46bd03a4d37
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6432673
Reviewed-by: Will Harris <wfh@chromium.org>
Commit-Queue: Alex Gough <ajgo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1443782}
2025-04-07 14:51:03 -07:00
..

Sandbox Library

This directory contains platform-specific sandboxing libraries. Sandboxing is a technique that can improve the security of an application by separating untrustworthy code (or code that handles untrustworthy data) and restricting its privileges and capabilities.

Each platform relies on the operating system's process primitive to isolate code into distinct security principals, and platform-specific technologies are used to implement the privilege reduction. At a high-level:

  • mac/ uses the Seatbelt sandbox. See the detailed design for more.
  • linux/ uses namespaces and Seccomp-BPF. See the detailed design for more.
  • win/ uses a combination of restricted tokens, distinct job objects, alternate desktops, and integrity levels. See the detailed design for more.

Built on top of the low-level sandboxing library is the //sandbox/policy component, which provides concrete policies and helper utilities for sandboxing specific Chromium processes and services. The core sandbox library cannot depend on the policy component.