Repository navigation
v0.5.0
Security hardening
- The key only goes to its gateway. llmenu records which gateway a key was stored for (
llmenu setup,llmenu config set gateway.url; keys from older versions are bound on first use). Ifconfig.tomlorLLMENU_BASE_URLlater points elsewhere, llmenu asks on a terminal and otherwise refuses to send the key. A key fromLLMENU_API_KEYis not bound. - No plain http by accident.
setupandconfig set gateway.urlaccepthttp://only for localhost; a URL from the config or environment that uses plain http triggers a warning. - Symlink-safe writes. Config, state, benchmarks, the keyring file and the files of pi and opencode (including their
*.bakbackups) are written via random temporary names, so a planted symlink is never followed. - Bounded responses: gateway and benchmark responses are limited to 16 MB.
- Keyring file:
LLMENU_KEYRING_FILE(tests and sandbox only) is always written with mode 0600. - Signed provenance for release archives:
gh attestation verify <archive> --repo schowave/llmenu. - SECURITY.md now explains what a tool started by llmenu can see (the key is in its environment).
README
More compact; the projects section is titled "one key per project".
Upgrade
brew update && brew upgrade --cask llmenuIf a gateway URL was changed behind llmenu's back, the next start asks once whether the key may go there; llmenu config set gateway.url <url> confirms it.