Agent 插件 · 社区项目

Tirith

在命令执行前检查可疑 URL、管道执行、终端注入、数据外传与恶意 Agent 配置,并通过 Shell Hook、宿主 Hook 或 MCP 网关接入开发工作流。

2.7k StarsAGPL-3.0-only OR CommercialRust今天更新
01

项目介绍

Tirith 是面向开发者和 AI 编程 Agent 的终端安全 CLI。它在命令执行前分析命令结构、URL、粘贴内容与配置,再通过 Shell Hook、宿主原生 Hook 或 MCP 网关接入工作流。仓库对边界写得很明确:只注册 MCP 服务并不能强制 Agent 调用它,普通 Shell Hook 也不是覆盖任意进程的通用运行时沙箱。

02

核心功能

01

命令与 URL 执行前分析

稳定的 check 命令对命令结构和 URL 给出允许、阻断、警告或需确认的结果,覆盖同形域名、不安全管道、欺骗性 Unicode 与部分供应链形态。

02

Agent Hook 与 MCP 网关

项目为多个编程 Agent 提供安装目标。MCP 网关只对路由经过它的调用执行策略;宿主 Hook 在被宿主正确加载并生效时覆盖相应执行路径。

03

配置与目录扫描

scan 可检查文件、仓库、Agent 配置和 CI 材料中的隐藏内容、配置投毒与工作流风险。兼容性矩阵目前仍将 scan 标为 Experimental。

04

策略、信任与审计

用户、项目和组织策略可调整行为;仓库级策略只能收紧、不能削弱可信基线。信任条目默认范围较窄且会过期,本地审计记录会截断完整命令。

05

签名威胁数据与离线运行

Tirith 可刷新签名威胁数据库并使用可选在线增强。离线模式会关闭 check 路径上的 HTTP 与 DNS 来源,不会把无法查询的答案静默当作安全。

03

安装与使用

从仓库记录的包渠道安装 Tirith,先运行健康检查,再预览宿主配置变更,最后逐条验证实际需要保护的执行路径。

AI AGENT INSTALL

让 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 注册,并按文档执行升级烟雾测试。清楚说明哪些执行路径受到保护、哪些没有。覆盖配置或启用联网增强前先征求确认。
01开始前准备
  • 仓库支持的 macOS、Linux 或 Windows 安装路径
  • 示例安装需要 Homebrew
  • 配置 Codex 时 Tirith 与 Codex CLI 均可从 PATH 访问
  • 允许更新用户级 Codex 配置,并在选择时修改 ~/.zshenv
02复制安装命令或配置
brew install tirith
03按步骤完成安装
  1. 1
    确认信任与许可边界

    阅读安全策略、威胁模型、兼容性矩阵和 AGPL/商业许可,判断本地审计与可选网络增强是否符合当前环境。

  2. 2
    安装 CLI 并检查健康状态

    由 Homebrew 管理的机器可执行 brew install tirith,然后运行 tirith doctor;以后升级继续使用同一个包管理器。

  3. 3
    预览 Codex 配置变更

    执行 tirith setup codex --dry-run,检查用户级 MCP 注册、网关文件,以及可选的 ~/.zshenv 修改。

  4. 4
    接入 Codex 的两条执行路径

    需要同时覆盖 MCP 网关和 Codex 原生 zsh 执行时,执行 tirith setup codex --install-zshenv。

  5. 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 义务,或取得商业许可
04

使用场景

SCENARIO 01

检查 Agent 生成的 Shell 命令

为包含欺骗性 URL、不安全管道、隐藏控制字符或敏感数据外传目标的编程 Agent 命令增加执行前决策点。

SCENARIO 02

治理经网关路由的 MCP 执行

把策略网关置于上游 MCP 服务之前,让受保护的工具调用和有界输出经过明确的强制边界。

SCENARIO 03

在 Agent 使用仓库前扫描配置

先检查 Agent 指令、Skills、MCP 配置、CI 工作流等文件里的配置投毒和隐藏内容信号,再决定是否信任仓库。

SCENARIO 04

在显式离线约束下运行

需要本地分析且禁止网络增强时启用离线模式,同时保留“不完整验证”信号。

05

使用评价

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 未必适合所有部署,需要时应另行签订商业协议
06

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