用途:Cull 用于排查供应链投毒类 npm/PyPI 蠕虫(如 Shai-Hulud/S1ngularity 等公开活动)是否感染本地开发环境、CI 运行器或容器镜像。适用场景包括:怀疑供应链被攻破后的现场 IoC 扫描;对改动 lockfile、optionalDependencies 或 prepare 脚本的 PR 做合并前扫描;判断“我是否中招”;确认感染后的有序清除与凭证轮换;维护者侧发布令牌被滥用检查;未中招团队的预防清单。
主要能力:以整理并标注时间与来源的 IoC 数据库为基准,巡检持久化(macOS LaunchAgents、Linux systemd 用户单元、Windows 计划任务、WSL、开发容器)、投放文件路径、lockfile 版本钉、进程树与被动日志;输出感染等级(CLEAN / SUSPECTED / CONFIRMED / ACTIVELY_BLEEDING)、每项发现的证据链(IoC 家族、路径、sha256、mtime、来源)、清除运行手册、轮换运行手册与加固清单。
使用方式:按子命令或关键词分派,默认执行完整 IoC 扫描 scan;另有 shai-hulud、lockfile、eradicate、rotate、harden、propagation 等配方。扫描默认只读;删除或停止服务需逐项确认或显式使用 --auto-quarantine。清除遵循“先持久化、后清除”,删除前将文件隔离到 /tmp/cull-quarantine-<utc>/ 并记录 sha256;轮换按 云→身份→注册表→钱包 顺序,且须在二次扫描验证清除后才可进行。
限制:不写检测规则、不做事件指挥、不改生产基础设施;CONFIRMED 必须有 IoC 匹配,仅模式相似只能记为 SUSPECTED;禁止向攻击者主机发外连探测,禁止在清除前吊销凭证,不记录原始凭证值。未提供具体定价、平台支持范围或安装命令。