如何揪出恶意依赖包?tirith供应链安全扫描与slopsquatting检测实战教程 如何揪出恶意依赖包tirith供应链安全扫描与slopsquatting检测实战教程【免费下载链接】tirithTerminal 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.项目地址: https://gitcode.com/gh_mirrors/tir/tirithtirith是一款面向开发者与 AI 智能体的终端安全工具。本文是一份实战教程教你用它的供应链安全扫描能力揪出恶意依赖包并检测新型slopsquattingAI 幻觉包名抢注攻击——在安装任何依赖之前先把风险看穿。 为什么恶意依赖包是隐形杀手供应链攻击不需要攻破你的代码只需要一个长得像的包名Typosquatting抢注仿冒攻击者注册reqeusts、expreess这类与热门包只差一两个字符的名字等着你手滑。SlopsquattingAI 幻觉抢注AI 编程助手经常一本正经地编造不存在的包名如python-requests-helper。攻击者提前把这些AI 爱幻觉的名字注册成恶意包——你让 AI 写代码AI 推荐一个假包安装后中招。研究机构 USENIX 2025 的研究发现LLM 幻觉出的包名有58% 会在多次运行中重复出现这意味着这些幻觉名字完全可以被攻击者预先蹲守。tirith 的扫描引擎就内置了针对这两种形态的确定性检测且默认完全离线、从不下载你要检查的包。⚡ 3 分钟安装 tirith任选一种方式安装macOS 用 Homebrew跨平台用 npm 或 Cargobrew install tirith # macOS npm install -g tirith # 跨平台 cargo install tirith # Rust 生态如果需要从源码构建或查阅实现可以克隆仓库git clone https://gitcode.com/gh_mirrors/tir/tirith️ 单包体检package risk 风险评分对任意一个拿不准的包一条命令即可打分0–100 分分数越高风险越大tirith package risk npm react # 知名热门包0 分 tirith package risk npm reqeusts # 距热门名只差一个字符高分评分是可解释的固定因子求和没有黑盒模型——想知道分数怎么来的用 explain 逐项查看tirith package explain pypi flask核心因子一览详见 package_risk.rs因子含义权重近似热门包名与流行包差 1 次编辑典型抢注形态60已知恶意抢注包命中威胁库的恶意索引30含安装脚本本地内容检测到 install 钩子15捆绑二进制本地内容检测到原生二进制10加上--online还会查询官方注册表补充包年龄、维护者变更、版本号异常跳升、下载量过低、被弃用等溯源信号——离线时这些信号会诚实标注为不可用绝不伪造。 全项目扫描ecosystem scan 依赖体检逐个人工检查不现实ecosystem scan会遍历整个项目识别所有依赖清单npm 的package.json、Python 的requirements*.txt/pyproject.toml、Rust 的Cargo.toml、Go 的go.mod、Ruby 的Gemfile对每个已声明依赖逐一评分tirith ecosystem scan # 扫描当前项目 tirith ecosystem scan --online ./proj # 追加注册表溯源信号 tirith ecosystem scan --format json ./ # 机器可读完整报告退出码遵循 CI 友好约定0干净、1有阻断级发现、2有建议级发现可以直接接入流水线。测试用例可参考 tests/fixtures/ecosystem.toml。 slopsquatting 检测是如何工作的ecosystem scan内置的 slopsquatting 判定实现在 ecosystem_scan.rs要求三个条件同时成立才告警最大限度压低误报名字未知既不是已知真实包也不是热门包热门包清单来自 popular_packages.csv 等本地数据长得像 AI 幻觉带语言前缀python-/node-加描述词、堆砌helper/utils/client这类通用填充词或名字异常地长紧贴真实热门包只差一次编辑或把热门包名作为单词嵌进去热门包-helper形态。举例python-requests-helper会同时满足三条被标记而老老实实的data-utils因为没有热门包锚点不会误报。 保持威胁情报新鲜threat-db检测依赖一份签名的本地威胁数据库几条命令管好它tirith threat-db update # 下载并校验签名的新库 tirith threat-db status # 查看库版本、年龄、条目数 tirith threat-db explain 包名或域名 # 查库对某个指标知道什么shell 钩子与tirith check每 24 小时会自动做一次廉价的后台更新检查基本不用操心。更多命令速查见 docs/commands.md。 新手实战清单三步建立供应链防线装好钩子在 shell 配置里执行eval $(tirith init)此后每条可疑命令pipe-to-shell、base64 解码执行等都会在终端被拦截或告警装前必扫AI 推荐新依赖时先跑tirith package risk看一眼分数可疑再用explain逐项核对入库常扫在 CI 中把tirith ecosystem scan --format json挂到每次提交把问题挡在合并之前。tirith 用离线优先、全程可解释、默认不联网的设计让你不用信任直觉就能在终端里完成对供应链风险的系统性排查。更多能力矩阵见 docs/capability-matrix.md威胁模型背景见 docs/threat-model.md。【免费下载链接】tirithTerminal 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.项目地址: https://gitcode.com/gh_mirrors/tir/tirith创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考