Releases: praetorian-inc/caeruleus
Release list
Caeruleus v1.1.0
This release improves compatibility with older BlueZ versions, where the host's GATT view can be incomplete or the handles it reports can be off by one from the device's true ATT handles.
What's new
Host/BlueZ-independent GATT access: enumerate --raw and read --raw. Older BlueZ (for example 5.55 on Raspbian bullseye) omits the remote GAP (0x1800) and GATT (0x1801) services from its D-Bus GATT tree, so a plain enumerate can miss characteristics such as Device Name (0x2A00) entirely, and read can't reach them. enumerate --raw (root) walks the device's own attribute database directly over the ATT channel, giving a complete view with the device's true handles regardless of the host's BlueZ version, and read --raw (root) reads any of those handles directly over ATT. Together they let you discover and read the parts of a device that older BlueZ hides. (#28, #30)
Correct characteristic handles on old BlueZ. On BlueZ before 5.57, which does not expose the characteristic Handle D-Bus property, caeruleus derived the handle from the object path. That path carries the declaration handle, one less than the value handle you actually read and write. Characteristic handles are now the true value handle on every BlueZ version, so a handle from enumerate (or enumerate --raw) works directly with read, write, listen, and cccd. (#29)
On a current BlueZ nothing changes. On an older one, such as a Raspberry Pi running 5.55, the GATT tree is now complete, the handles line up with what you read, and you can read the characteristics BlueZ previously hid.
Install
go install github.com/praetorian-inc/caeruleus/cmd/caeruleus@latestOr download the archive for your architecture below, extract, and put caeruleus on your $PATH. Requires Linux with BlueZ and a standard BLE adapter; a few raw-socket commands need root.
Assets
| Asset | Platform |
|---|---|
caeruleus_1.1.0_linux_amd64.tar.gz |
Linux x86_64 |
caeruleus_1.1.0_linux_arm64.tar.gz |
Linux arm64 |
checksums.txt |
SHA-256 checksums |
Full changelog: v1.0.0...v1.1.0
Caeruleus v1.0.0
First public release of Caeruleus — a single Go binary for the whole Bluetooth Low Energy assessment workflow on Linux/BlueZ: scan, enumerate, read/write/notify, fuzz, and structured security assessment, with JSON output for scripts and agents.
Install
go install github.com/praetorian-inc/caeruleus/cmd/caeruleus@latestOr download the archive for your architecture below, extract, and put caeruleus on your $PATH:
tar xzf caeruleus_1.0.0_linux_amd64.tar.gz
sudo install -m755 caeruleus /usr/local/bin/Requirements
Linux with BlueZ (bluetoothd) and a standard BLE adapter. A handful of raw-socket commands need root. Run caeruleus doctor first to confirm the adapter is healthy, then caeruleus scan to find your target.
Assets
| Asset | Platform |
|---|---|
caeruleus_1.0.0_linux_amd64.tar.gz |
Linux x86_64 |
caeruleus_1.0.0_linux_arm64.tar.gz |
Linux arm64 |
checksums.txt |
SHA-256 checksums |
Caeruleus is Linux-only (it builds on BlueZ). See the README and Wiki for the full command reference, recipes, and assessment workflow.