Skip to content

brain0 v0.1.2

Choose a tag to compare

@nicolalessi nicolalessi released this 22 Oct 21:20
· 7 commits to main since this release

Security

brain0 0.1.1 and earlier created its .brain0/ store (index, payload and key files) in the working directory without a .gitignore. A routine git add -A, which coding agents run all the time, could commit the payload encryption key next to the payload it encrypts, along with the attestation signing key.

0.1.2:

  • writes .brain0/.gitignore (*) whenever it opens the store, and warns if git already tracks files in it;
  • keeps key files outside the repository, in <user data dir>/brain0/keys/<store id>/ (override with BRAIN0_KEYS_DIR or --key-file), and moves an existing .brain0/keyring.key or .brain0/attest.key there on first run.

If .brain0/ was ever committed: upgrading protects what comes next, not what is already in your history. Follow "If .brain0/ was committed" in docs/security.md.

Thanks to the researcher who reported this privately.

Fixes

  • Linux binaries now link against glibc 2.28 instead of 2.39, so brain0 runs on Debian 12 and the official node:20 images, Ubuntu 20.04+ and RHEL 8+ (#4).

Dependencies

  • rustls 0.23.46, rustls-webpki 0.103.16, webpki-roots 1.0.10 (RUSTSEC-2026-0285, -0346, -0348, -0349, -0381, -0382).
  • @xmldom/xmldom 0.8.15 in the GUI bundle.

Upgrade: npx brain0@latest up

Full Changelog: v0.1.1...v0.1.2