github akitaonrails/ai-jail v2.7.0

4 hours ago

v2.7.0

Two contributed fixes land this release: --github now works when your gh
token lives in the system keyring, and the private-home command exemption no
longer breaks symlink-following launchers.

Backward compatible: every pre-2.7.0 .ai-jail keeps working.

Added

  • --github forwards a keyring-stored gh token (#153). --github already
    mounts ~/.config/gh read-only, but gh auth login stores the token in the
    system keyring by default, so a jailed gh found the account but no
    credential. With --github, ai-jail now runs gh auth token --hostname github.com on the host (no shell, 5s timeout, validated output) and forwards
    the result as GH_TOKEN for that launch only. The value rides the #147
    --args memfd, so it never touches argv, disk, or a saved .ai-jail;
    --dry-run never fetches it; an explicit/host GH_TOKEN/GITHUB_TOKEN
    short-circuits the lookup; and the capability stays opt-in, monotonic (a
    project .ai-jail cannot enable or steer it), and disabled under
    --lockdown. No keyring or D-Bus access from inside the jail. Thanks
    @miguins.
  • prime-agent is recognized for agent-state (#152). Its auth/session
    state under ~/.prime/agent is mounted (bwrap + seatbelt), never the whole
    ~/.prime — the sibling config.json holding the prime CLI's API key stays
    hidden.

Fixed

  • Private-home command exemption preserves symlink chains (#152). The
    exemption bound the launcher's path with --ro-bind, which flattened symlink
    hops, so a symlink-following launcher (e.g. bun's app-root heuristic, which
    looks for package.json in the dirname of the resolved executable) crashed
    with ENOENT. Each symlink hop is now recreated inside the sandbox with
    --symlink using the verbatim host target text; only the terminal real path
    is bind-mounted read-only. Relative hops are lexically normalized so no
    collected mount path carries ... The #138 dedup (skip paths under an
    already-bound dir) is preserved. Thanks @jadsongmatos.

Checksums (SHA256)

b8b5ef75027d0d6bd9d2d2f2cfc20e83a4f0916e7237604fea3b81f85eaee067  ai-jail-linux-x86_64.tar.gz
3c6a4cc41212f337ba72e1895b11dd10ae620b5bb86d384919a7e29aeb8ff0ba  ai-jail-macos-aarch64.tar.gz

Install

brew tap akitaonrails/tap && brew install ai-jail
yay -S ai-jail-bin
cargo install --locked ai-jail

Don't miss a new ai-jail release

NewReleases is sending notifications on new releases.