Termul runs shells, reads/writes files, and talks to AI providers — so security bugs matter. If you find one, please tell us before posting it publicly.
Please report vulnerabilities privately via GitHub Security Advisories. Include:
- What the issue is and what it lets an attacker do
- Steps to reproduce (a small PoC is great)
- Version, OS, arch
We'll get back to you within a few days. Once it's fixed, we'll credit you in the release notes — unless you'd rather stay anonymous.
Please don't open a public GitHub issue for security reports.
Until 1.0.0, only the latest minor gets security fixes. Right now that's 0.1.x.
- The Rust backend in
src-tauri/(PTY, FS, IPC, plugins) - The frontend in
src/— anywhere untrusted input lands (terminal output, file content, AI tool results, credentials) - Release artifacts on GitHub
- Bugs in upstream deps (Tauri, xterm.js, CodeMirror, AI SDKs…) — report those upstream. We'll ship the fix once it's released.
- Anything that needs an already-compromised machine or a local attacker with shell access
- Older versions (
< 0.1)
- API keys live in the OS keychain via
keyring— not on disk, not inlocalStorage, not in logs. - No telemetry. Termul only talks to the network when you ask it to (AI requests, update checks).
- AI tool approval. File writes and shell commands from the agent need your OK before they run.
- No Node in the renderer. The frontend only reaches the host through the allow-listed Tauri commands.
- Termul runs whatever you (or the agent) tell it to run, with your permissions. That's kind of the point of a terminal.
- AI providers see whatever you send them. Read their retention policies.
- Local LLM endpoints (LM Studio, OpenAI-compatible) are trusted at the network level — only point Termul at servers you control.