项目介绍
Tirith 是面向开发者和 AI 编程 Agent 的终端安全 CLI。它在命令执行前分析命令结构、URL、粘贴内容与配置,再通过 Shell Hook、宿主原生 Hook 或 MCP 网关接入工作流。仓库对边界写得很明确:只注册 MCP 服务并不能强制 Agent 调用它,普通 Shell Hook 也不是覆盖任意进程的通用运行时沙箱。
核心功能
命令与 URL 执行前分析
稳定的 check 命令对命令结构和 URL 给出允许、阻断、警告或需确认的结果,覆盖同形域名、不安全管道、欺骗性 Unicode 与部分供应链形态。
Agent Hook 与 MCP 网关
项目为多个编程 Agent 提供安装目标。MCP 网关只对路由经过它的调用执行策略;宿主 Hook 在被宿主正确加载并生效时覆盖相应执行路径。
配置与目录扫描
scan 可检查文件、仓库、Agent 配置和 CI 材料中的隐藏内容、配置投毒与工作流风险。兼容性矩阵目前仍将 scan 标为 Experimental。
策略、信任与审计
用户、项目和组织策略可调整行为;仓库级策略只能收紧、不能削弱可信基线。信任条目默认范围较窄且会过期,本地审计记录会截断完整命令。
签名威胁数据与离线运行
Tirith 可刷新签名威胁数据库并使用可选在线增强。离线模式会关闭 check 路径上的 HTTP 与 DNS 来源,不会把无法查询的答案静默当作安全。
安装与使用
从仓库记录的包渠道安装 Tirith,先运行健康检查,再预览宿主配置变更,最后逐条验证实际需要保护的执行路径。
让 AI Agent 帮你安装
把这段话发送给 Codex、Claude Code 或其他可以操作本地环境的 AI Agent。
请帮我为 OpenAI Codex 安装并配置 Tirith。
项目地址:https://github.com/sheeki03/tirith
先阅读 README、mcp/clients/codex.md、SECURITY.md 与两份许可证。确认当前平台、Shell、安装来源、Codex 配置位置,以及我是否需要可选的 ~/.zshenv guard。写入前先运行 tirith setup codex --dry-run 预览变更;保留现有配置,不要把凭据和私人路径写进日志。安装后运行 tirith doctor,核对 tirith-gateway 注册,并按文档执行升级烟雾测试。清楚说明哪些执行路径受到保护、哪些没有。覆盖配置或启用联网增强前先征求确认。- 仓库支持的 macOS、Linux 或 Windows 安装路径
- 示例安装需要 Homebrew
- 配置 Codex 时 Tirith 与 Codex CLI 均可从 PATH 访问
- 允许更新用户级 Codex 配置,并在选择时修改 ~/.zshenv
brew install tirith- 1确认信任与许可边界
阅读安全策略、威胁模型、兼容性矩阵和 AGPL/商业许可,判断本地审计与可选网络增强是否符合当前环境。
- 2安装 CLI 并检查健康状态
由 Homebrew 管理的机器可执行 brew install tirith,然后运行 tirith doctor;以后升级继续使用同一个包管理器。
- 3预览 Codex 配置变更
执行 tirith setup codex --dry-run,检查用户级 MCP 注册、网关文件,以及可选的 ~/.zshenv 修改。
- 4接入 Codex 的两条执行路径
需要同时覆盖 MCP 网关和 Codex 原生 zsh 执行时,执行 tirith setup codex --install-zshenv。
- 5安装与升级后验证
用 codex mcp get tirith-gateway 确认注册,在条件允许时运行仓库烟雾脚本,并在一次性环境里完成文档给出的直接 Shell 阻断测试。
先运行 tirith doctor,再用 codex mcp get tirith-gateway 确认网关注册,并在一次性 Shell 环境中执行仓库给出的阻断测试。不能仅凭配置文件存在就认定宿主已经加载 Hook。
- 只配置 MCP 不能覆盖 Codex 的原生 Shell 执行路径
- 升级后应重启受保护的 Shell 与 Agent 宿主,以加载新二进制和重新生成的 Hook
- 运行时增强不得联网时,使用 --offline 或 TIRITH_OFFLINE=1
- 组织部署前评估 AGPL 义务,或取得商业许可
使用场景
检查 Agent 生成的 Shell 命令
为包含欺骗性 URL、不安全管道、隐藏控制字符或敏感数据外传目标的编程 Agent 命令增加执行前决策点。
治理经网关路由的 MCP 执行
把策略网关置于上游 MCP 服务之前,让受保护的工具调用和有界输出经过明确的强制边界。
在 Agent 使用仓库前扫描配置
先检查 Agent 指令、Skills、MCP 配置、CI 工作流等文件里的配置投毒和隐藏内容信号,再决定是否信任仓库。
在显式离线约束下运行
需要本地分析且禁止网络增强时启用离线模式,同时保留“不完整验证”信号。
使用评价
Tirith 通过收录门槛,理由是公开仓库包含规模可观的 Rust 实现、测试、宿主指南、安全策略、威胁模型、签名发布产物,并且对强制边界的披露较为坦率。v0.4.1 在本次核验前一天发布,仓库仍在持续维护。需要认真权衡的是:大部分扩展能力仍为 Experimental,MCP 注册本身不等于强制执行,AGPL 义务也需要单独评估。本次没有声称完成安装或功能实测。
值得一试的地方
- 明确区分检测、强制、隔离与证明的边界
- 为多个编程 Agent 提供接入与验证路径
- 离线行为、审计日志、安全报告和签名发布说明完整
- 具备真实源码、测试、打包、CI 与宿主集成文件
使用前要知道
- 自动保护依赖真正生效的宿主 Hook、Shell gate 或网关路由
- 部分宿主在 Hook 崩溃或超时时可能 fail open
- 通用强制隔离限于 x86_64 Linux
- 多数高级命令仍为 Experimental 或 Preview
- AGPL-3.0-only 未必适合所有部署,需要时应另行签订商业协议
README
Tirith
Overview
在命令执行前检查可疑 URL、管道执行、终端注入、数据外传与恶意 Agent 配置,并通过 Shell Hook、宿主 Hook 或 MCP 网关接入开发工作流。 面向开发者与 AI Agent 的终端安全工具,在执行前拦截同形 URL、管道执行、ANSI 注入、混淆载荷、数据外传与恶意 Skills 或配置。
Getting started
- 从仓库记录的包渠道安装 Tirith,先运行健康检查,再预览宿主配置变更,最后逐条验证实际需要保护的执行路径。
- Tirith 可以分析命令、URL、粘贴文本、文件、目录和部分 Agent 或 MCP 配置,识别欺骗性 Unicode、管道执行、提示注入、可疑执行形态、数据外传和供应链风险信号。
- 它把不同执行面分开处理:Shell 与宿主 Hook 可在执行前调用检查,MCP 网关则对实际路由经过它的请求执行策略并对有界输出做过滤。仅注册普通 MCP 仍是协作式能力,不能证明自动强制。
- 先运行 tirith doctor,再用 codex mcp get tirith-gateway 确认网关注册,并在一次性 Shell 环境中执行仓库给出的阻断测试。不能仅凭配置文件存在就认定宿主已经加载 Hook。
Configuration
brew install tirith在 GitHub 阅读完整 README →