Your terminal trusts Unicode blindly. Tirith is the skeptic it needs.
Tirith exists because your terminal renders Unicode and executes pipe-to-shell patterns without asking questions first.

What it does
Tirith hooks into your interactive shell and inspects every command, pasted text, and scanned file before execution. It blocks or warns on homograph URLs, pipe-to-shell patterns, base64 decode-execute chains, credential exfiltration, and invisible Unicode steganography. When input is clean, it adds sub-millisecond overhead and produces zero output; you only notice it when it trips.
The interesting bit
The project treats the terminal as a browser-grade attack surface. It applies defenses browsers have used for years—like mixed-script and confusable detection—to shell commands and AI agent configs, backed by a signed local threat database built from OpenSSF malicious packages, CISA KEV, and abuse.ch feeds.
Key highlights
- 80+ structural detection rules across 15 categories, from ANSI escape injection to post-compromise behavior like
/proc/*/memscraping. - Signed offline threat intelligence for packages, hostnames, and IPs, with optional live enrichment via OSV.dev and Google Safe Browsing.
- Pre-execution, not runtime sandboxing—it gates commands structurally but explicitly does not contain or monitor a process after launch.
- AI-agent coverage via shell hooks and optional MCP tools, though the README notes this is advisory and depends on the agent actually routing through the hooked shell.
- Cross-platform shell support for zsh, bash, fish, and PowerShell, with a
tirith doctorcommand to diagnose hook health.
Caveats
- Shell hooks can silently degrade. The README admits fragility across shells, prompt frameworks, and history tools, and recommends running
tirith doctorto verify the hook is still alive. - Several features are Unix-only. Daemon mode,
tirith run, andtirith fetchare not available on Windows. - It is a structural gate, not a sandbox. Tirith explicitly disclaims runtime containment, post-execution network monitoring, and malware detonation; a command that clears the gate is on its own.
Verdict
Developers who copy-paste install scripts or run AI-generated shell commands should treat this as essential hygiene. If you already sandbox every process or never pipe remote downloads to an interpreter, you are probably not the target audience.
Frequently asked
- What is sheeki03/tirith?
- Tirith exists because your terminal renders Unicode and executes pipe-to-shell patterns without asking questions first.
- Is tirith open source?
- Yes — sheeki03/tirith is open source, released under the AGPL-3.0 license.
- What language is tirith written in?
- sheeki03/tirith is primarily written in Rust.
- How popular is tirith?
- sheeki03/tirith has 2.6k stars on GitHub.
- Where can I find tirith?
- sheeki03/tirith is on GitHub at https://github.com/sheeki03/tirith.