新工具阻止伪装成安全命令的冒名攻击
Source: Bleeping Computer

一个全新的开源跨平台工具 Tirith 能够通过分析在命令行中键入的 URL 并阻止其执行,从而检测同形异义字符(homoglyph)攻击。
该工具在 GitHub 上提供,并以 npm 包 形式发布,能够挂钩用户的 shell(zsh、bash、fish、PowerShell),检查用户粘贴的每一条命令是否安全后再执行。

命令中的 URL 看起来相同但实际不同
来源:GitHub
Tirith 工作原理
Tirith 监视 shell 并解析每一次粘贴的命令,寻找包含来自不同字母表但外观相同字符的 URL(同形异义字符)。一旦检测到此类 URL,工具会在命令执行前将其拦截。
支持的攻击类型
- 同形异义攻击 – 域名中的 Unicode 相似字符、punycode、混合脚本
- 终端注入 – ANSI 转义、双向文本覆盖、零宽字符
- 管道到 Shell 模式 –
curl | bash、wget | sh、eval $(…) - 点文件劫持 – 对
~/.bashrc、~/.ssh/authorized_keys等文件的修改 - 不安全传输 – HTTP‑to‑shell、TLS 被禁用
- 供应链风险 – 拼写相似的 Git 仓库、非可信 Docker 注册表
- 凭证泄露 – 包含用户信息的 URL、短链隐藏真实目的地
真实案例
Unicode 同形异义字符已被用于通过电子邮件投放的钓鱼 URL,例如冒充 Booking.com 的活动 查看文章。
命令中隐藏字符在 ClickFix 攻击中很常见 详情,而 Tirith 能为受支持的 PowerShell 会话提供防御 示例。
限制
Tirith 不 会挂钩 Windows 命令提示符 (cmd.exe),该环境仍是许多依赖该 shell 的 ClickFix 攻击的向量。
性能
作者报告称,使用 Tirith 的额外开销在毫秒以下,检查几乎是瞬时完成,工具在分析完毕后立即退出。
其他特性
- 能在 不执行 命令的情况下进行分析
- 字节级 Unicode 检查并对 URL 的信任信号进行拆解
- 对已执行脚本进行 SHA‑256 校验
- 所有分析均在本地完成;不进行网络请求、遥测或云端依赖

安装
Tirith 可在 Windows、Linux 和 macOS 上运行,支持以下安装方式:
- Homebrew
apt/dnf- npm
- Cargo
- Nix
- Scoop
- Chocolatey
- Docker
社区与评价
BleepingComputer 并未对 Tirith 在上述攻击场景下进行独立测试。该项目发布不足一周,已在 GitHub 上拥有 46 个 fork 和接近 1,600 个 star。