I didn't find any red flags in the installer or the release artifacts. The real risk is in what the tool does by design: it's a daemon that can read your agent sessions and run commands on your machine. Here's what I checked through GitHub. I didn't execute or inspect any binaries. ## Release integrity (looks sound) - **v2.1.2** was built and published by `github-actions[bot]` from commit `239adc8`, the same commit you linked. - **Checksums:** the five archive hashes in `SHA256SUMS` match the SHA-256 digests GitHub records for each asset, and the signed `manifest.json` lists the same five artifacts. - **`install.sh` at `239adc8`:** - No `sudo`, no `eval`, no piping remote content into a shell, no shell rc/PATH edits, no telemetry. - It checks `manifest.json` against a hardcoded Ed25519 key (`2Du3yZ4j…/O0=`) using local OpenSSL 3. It only reads the manifest after that check passes. - It then checks the archive's exact size and SHA-256 before unpacking. HTTPS is required and downgrade redirects are refused. - **Not verified by me:** I couldn't run the Ed25519 signature check here. If you want that confirmed, run `openssl pkeyutl -verify` yourself, or just let the installer fail closed. ## Gaps and caveats 1. **`clawdline setup` runs right after the hash check.** It installs the per-user service and does the rest of the setup, and it's inside the binary, so you can't review it as a script. 2. **The installer trusts whatever `openssl` it finds.** `CLAWDLINE_INSTALL_OPENSSL` or the first `openssl` on PATH acts as the verifier. That only matters if something already controls your environment, but a fake binary could approve anything. 3. **`fetch()` is looser than the main downloader.** Its curl allows `http` to any host, and the wget fallback has no scheme check. It's only used for `--channel beta` tag lookup, and the signature check still applies afterward. Minor. 4. **The README is behind the release.** It pins `install.sh` at `74fc07e` with `--version v2.1.1`, so following it installs 2.1.1, not 2.1.2. The trusted key is the same in both versions. 5. **There's no backup signing key.** A code comment says key rotation ships both keys, but only one is pinned. ## The main risk: what the tool does - It reads Claude Code and Codex transcripts, terminal screens and project files, and serves them on a loopback web console. - Paired browsers or phones can send instructions and use terminals, which means **running code as you**. Revoking a pairing can't take back content already read. - Update checks contact GitHub even with Cloud off. Cloud is off by default. When on, it relays end-to-end encrypted content, but the service still sees account, device and timing metadata. - The project's own docs say an independent security review hasn't been done, and they don't defend against malicious same-user processes or symlink/hard-link races. - I couldn't check the current Go daemon's local auth (loopback tokens, Origin checks, DNS-rebinding defenses). The only trust-boundary doc I found describes the retired Swift design. **This is the most important thing to confirm before trusting it.** If those defenses are weak, any web page you visit could try to reach the console and the terminals behind it. - It's a 1-star repo with 4,000+ commits and no outside review. **Bottom line:** installing it is about as safe as most signed-installer tools, and nothing looked malicious. Running it means trusting a young, unaudited daemon with access to everything your agents can see and do. If you use it, keep Cloud off until you need it, pair only devices you control, and check the daemon's auth on localhost first. Since you own this repo: the README version and the missing backup key are quick fixes. Writing a current doc on the daemon's local auth would also answer the biggest open question. Sources: - [Repo at 239adc8](https://github.com/sainteye/clawdline/tree/239adc8ad4020f31509bff017bd4e5a3ff913197) - [v2.1.2 release](https://github.com/sainteye/clawdline/releases/tag/v2.1.2) and the [release API data](https://api.github.com/repos/sainteye/clawdline/releases/tags/v2.1.2) - [install.sh @ 239adc8](https://raw.githubusercontent.com/sainteye/clawdline/239adc8ad4020f31509bff017bd4e5a3ff913197/install.sh) and [install.sh @ 74fc07e](https://raw.githubusercontent.com/sainteye/clawdline/74fc07e5bc8c8d092f216478f26d99b7ed1b77ee/install.sh) - [SECURITY.md](https://raw.githubusercontent.com/sainteye/clawdline/239adc8ad4020f31509bff017bd4e5a3ff913197/SECURITY.md) and [docs/platform-trust-boundary.md](https://raw.githubusercontent.com/sainteye/clawdline/239adc8ad4020f31509bff017bd4e5a3ff913197/docs/platform-trust-boundary.md)