github akitaonrails/ai-jail v2.15.0

3 hours ago

v2.15.0

Added

  • Added --macos-trustd (or macos_trustd = true in trusted config), an
    opt-in that grants only the com.apple.trustd.agent Mach lookup so Go and
    Security.framework TLS clients such as gh can verify certificates on
    macOS without the far broader --macos-host-ipc. Off by default, dropped
    under --lockdown, and a project .ai-jail cannot enable it (#210, #211).
  • Added --allow-pty (or allow_pty = true), an opt-in that lets a
    sandboxed process open the PTY slave nodes it allocates at runtime on
    macOS, for tools that spawn their own pseudo-terminals such as expect,
    terminal multiplexers, and xcodebuild driving an iOS Simulator. It grants
    every /dev/ttys*, so it is off by default, dropped under --lockdown,
    and cannot be enabled by a project config; it is still far narrower than
    the previous rw_maps = ["/dev"] workaround (#209).
  • Added --allow-loopback-listen (or allow_loopback_listen = true), an
    opt-in that lets a sandboxed process bind and listen on loopback while
    egress stays filtered on macOS, for tools that start a local 127.0.0.1
    server without dropping egress filtering the way --network would. Off by
    default and dropped under --lockdown (#213).
  • Published a prebuilt Debian package (ai-jail_<version>_amd64.deb) with
    each release for Debian 12+ and Ubuntu 22.04+, alongside the existing
    tarballs. Install it with sudo apt install ./ai-jail_<version>_amd64.deb
    (#212).

Fixed

  • On macOS, rw_maps / ro_maps entries whose target does not exist at
    launch are no longer skipped. A Seatbelt rule does not require the path to
    exist when the profile is compiled, so tools that create, lock, and unlink
    a fixed-path file on every run can now be mapped narrowly instead of having
    to expose the whole parent directory (#208).

Backward compatible: every pre-2.15.0 .ai-jail keeps working. All three new
macOS capability flags are off by default and cannot be enabled by an
untrusted project config.

Checksums (SHA256)

d06b3cc09ee14a287f14e1d87b9cdf0bf3107bf025b6944829b5cc60227940c4  ai-jail-linux-x86_64.tar.gz
52c3210d79d76942cb3979d23028ca5a4b02104e6608f0eb264c30de76bf53b6  ai-jail-macos-aarch64.tar.gz
c21f39ecdefa01ed0333904edcbbf02ef786591417e80e3e99276f3a71ec3611  ai-jail_2.15.0_amd64.deb

Install

brew tap akitaonrails/tap && brew install ai-jail
yay -S ai-jail-bin
cargo install --locked ai-jail
# Debian/Ubuntu: download the .deb below, then
sudo apt install ./ai-jail_*_amd64.deb

Don't miss a new ai-jail release

NewReleases is sending notifications on new releases.